From ae372ee680f02f1ef4dd05ada3f96b23191ae61c Mon Sep 17 00:00:00 2001 From: Rob B Date: Tue, 28 Jan 2025 19:03:18 -0500 Subject: [PATCH 001/100] chore: fix devcontainer progress - update devcontainer.json to customizations spec - switch to modern container repository and pin to 1.22-bullseye (same as go.mod) - install protoc as part of container setup, and its deps https://github.com/ericslandry/grpc/blob/dcc9b228a2189933b0666eeea23852a12225092b/.devcontainer/post-create.sh --- .devcontainer/create.sh | 25 ++++++++++++++ .devcontainer/devcontainer.json | 57 ++++++++++++++++++-------------- .devcontainer/docker-compose.yml | 2 +- README.md | 6 ++++ cspell.json | 25 ++++++++++++++ go.mod | 4 +++ 6 files changed, 93 insertions(+), 26 deletions(-) create mode 100644 .devcontainer/create.sh create mode 100644 cspell.json diff --git a/.devcontainer/create.sh b/.devcontainer/create.sh new file mode 100644 index 00000000..ce781769 --- /dev/null +++ b/.devcontainer/create.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash +set -ex + +# Install protoc (used by go:generate) and add it to path +# Not done in Dockerfile because it seems to lock out writing to some files go needs to write to? +version=25.4 +PB_REL="https://github.com/protocolbuffers/protobuf/releases" +curl -LO $PB_REL/download/v$version/protoc-$version-linux-x86_64.zip +unzip protoc-$version-linux-x86_64.zip -d $HOME/.local/ +export PATH="$PATH:$HOME/.local/bin" +go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.34.2 +go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.3.0 +export PATH="$PATH:$(go env GOPATH)/bin" + +# Install libwebp (otherwise go:generate tries and fails to build it itself or something) +# https://developers.google.com/speed/webp/docs/precompiled +libwebp_version=1.4.0 +libwebp_file="libwebp-$libwebp_version-linux-x86-64.tar.gz" +curl -LO "https://storage.googleapis.com/downloads.webmproject.org/releases/webp/$libwebp_file" +mkdir -p $HOME/libwebp +tar xzvf $libwebp_file -C $HOME/libwebp +export PATH="$PATH:$HOME/libwebp/bin" + +# Add as a safe git directory +git config --global --add safe.directory "/workspaces/smr_api" diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index aa5ee03a..3ddb8006 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,40 +1,47 @@ { - "name": "Go", + "name": "smr-api", "dockerComposeFile": "docker-compose.yml", "service": "app", - "workspaceFolder": "/workspace", + "workspaceFolder": "/workspaces/smr_api", + "onCreateCommand": "./.devcontainer/create.sh", "updateContentCommand": "go mod download && go generate -tags tools -x ./...", + // Add the IDs of extensions you want installed when the container is created. - "extensions": [ - "golang.Go", - "mtxr.sqltools", - "mtxr.sqltools-driver-pg" - ], - "settings": { - "go.toolsManagement.checkForUpdates": "local", - "go.useLanguageServer": true, - "go.gopath": "/go", - "go.goroot": "/usr/local/go", - "sqltools.connections": [ - { - "name": "Container database", - "driver": "PostgreSQL", - "previewLimit": 50, - "server": "localhost", - "port": 5432, - "database": "postgres", - "username": "postgres", - "password": "REPLACE_ME" + "customizations": { + "vscode": { + "extensions": [ + "golang.Go", + "mtxr.sqltools", + "mtxr.sqltools-driver-pg", + "streetsidesoftware.code-spell-checker" + ], + "settings": { + "go.toolsManagement.checkForUpdates": "local", + "go.useLanguageServer": true, + "go.gopath": "/go", + "go.goroot": "/usr/local/go", + "sqltools.connections": [ + { + "name": "Container database", + "driver": "PostgreSQL", + "previewLimit": 50, + "server": "localhost", + "port": 5432, + "database": "postgres", + "username": "postgres", + "password": "REPLACE_ME" + } + ] } - ] + } }, "forwardPorts": [ 5432, 6379, 9000, 9001, - 5020, + 5020 ], // Comment out connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root. "remoteUser": "vscode" -} +} \ No newline at end of file diff --git a/.devcontainer/docker-compose.yml b/.devcontainer/docker-compose.yml index ed54b3d0..987b1e40 100644 --- a/.devcontainer/docker-compose.yml +++ b/.devcontainer/docker-compose.yml @@ -9,7 +9,7 @@ services: VARIANT: "1-bullseye" NODE_VERSION: "none" volumes: - - ..:/workspace:cached + - ..:/workspaces/smr_api:cached cap_add: - SYS_PTRACE network_mode: service:postgres diff --git a/README.md b/README.md index a175907c..14041ae6 100755 --- a/README.md +++ b/README.md @@ -161,6 +161,12 @@ mise run test # Run test suite mise run generate # Regenerate if needed ``` +Some linting issues can be auto-fixed: + +```bash +mise run format +``` + **Development patterns:** - Use Ent ORM for database operations diff --git a/cspell.json b/cspell.json new file mode 100644 index 00000000..f6491905 --- /dev/null +++ b/cspell.json @@ -0,0 +1,25 @@ +// https://cspell.org/configuration/ +{ + // Version of the setting file. Always 0.2 + "version": "0.2", + // language - current active spelling language + "language": "en", + // words - list of words to be always considered correct + "words": [ + "golangci", + "gopath", + "goroot", + "libwebp", + "mtxr", + "Paseto", + "protoc", + "svcacct" + ], + // flagWords - list of words to be always considered incorrect + // This is useful for offensive words and common spelling errors. + // cSpell:disable (don't complain about the words we listed here) + "flagWords": [ + "hte", + "comunity" + ] +} diff --git a/go.mod b/go.mod index 590a743e..dfb6416f 100755 --- a/go.mod +++ b/go.mod @@ -1,7 +1,11 @@ module github.com/satisfactorymodding/smr-api +// when updating, also update .devcontainer/Dockerfile go 1.24.4 +// TODO include this directive? - https://go.dev/blog/toolchain +// toolchain go1.24.4 + require ( ariga.io/entcache v0.1.0 entgo.io/ent v0.14.4 From 47a0491ec3d2b8dc1fcfeab62c425431994fca8e Mon Sep 17 00:00:00 2001 From: Rob B Date: Sat, 29 Mar 2025 23:56:06 -0400 Subject: [PATCH 002/100] chore: update directions --- .devcontainer/create.sh | 1 + cspell.json | 16 ++++++++-------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/.devcontainer/create.sh b/.devcontainer/create.sh index ce781769..4fc5314a 100644 --- a/.devcontainer/create.sh +++ b/.devcontainer/create.sh @@ -3,6 +3,7 @@ set -ex # Install protoc (used by go:generate) and add it to path # Not done in Dockerfile because it seems to lock out writing to some files go needs to write to? +# https://github.com/ericslandry/grpc/blob/dcc9b228a2189933b0666eeea23852a12225092b/.devcontainer/post-create.sh version=25.4 PB_REL="https://github.com/protocolbuffers/protobuf/releases" curl -LO $PB_REL/download/v$version/protoc-$version-linux-x86_64.zip diff --git a/cspell.json b/cspell.json index f6491905..c030d1ba 100644 --- a/cspell.json +++ b/cspell.json @@ -1,22 +1,22 @@ -// https://cspell.org/configuration/ { - // Version of the setting file. Always 0.2 "version": "0.2", - // language - current active spelling language "language": "en", - // words - list of words to be always considered correct + "dictionaries": [ + "softwareTerms", + "go" + ], "words": [ + "devbox", + "fenv", "golangci", - "gopath", - "goroot", "libwebp", + "Mircea", "mtxr", + "nixos", "Paseto", "protoc", "svcacct" ], - // flagWords - list of words to be always considered incorrect - // This is useful for offensive words and common spelling errors. // cSpell:disable (don't complain about the words we listed here) "flagWords": [ "hte", From 80e29f6f9a3ad67d594feae3de00e118c1b33b53 Mon Sep 17 00:00:00 2001 From: Rob B Date: Sun, 6 Apr 2025 19:01:29 -0400 Subject: [PATCH 003/100] feat: controller support in compatibility info --- generated/conv/mod.go | 8 + generated/custom_models.go | 31 - generated/generated.go | 28509 +------------------------------- generated/models_gen.go | 81 +- gql/gql_types.go | 13 +- schemas/compatibility.graphql | 22 +- util/db.go | 5 +- 7 files changed, 121 insertions(+), 28548 deletions(-) delete mode 100755 generated/custom_models.go diff --git a/generated/conv/mod.go b/generated/conv/mod.go index 60c9cb2c..d5c935e0 100755 --- a/generated/conv/mod.go +++ b/generated/conv/mod.go @@ -79,6 +79,7 @@ func (c *ModImpl) pUtilCompatibilityInfoToPGeneratedCompatibilityInfo(source *ut var generatedCompatibilityInfo generated.CompatibilityInfo generatedCompatibilityInfo.Ea = c.utilCompatibilityToPGeneratedCompatibility((*source).Ea) generatedCompatibilityInfo.Exp = c.utilCompatibilityToPGeneratedCompatibility((*source).Exp) + generatedCompatibilityInfo.Controller = c.utilCompatibilityToPGeneratedControllerCompatibility((*source).Controller) pGeneratedCompatibilityInfo = &generatedCompatibilityInfo } return pGeneratedCompatibilityInfo @@ -94,3 +95,10 @@ func (c *ModImpl) utilCompatibilityToPGeneratedCompatibility(source util.Compati generatedCompatibility.Note = &pString return &generatedCompatibility } +func (c *ModImpl) utilCompatibilityToPGeneratedControllerCompatibility(source util.Compatibility) *generated.ControllerCompatibility { + var generatedControllerCompatibility generated.ControllerCompatibility + generatedControllerCompatibility.State = generated.ControllerCompatibilityState(source.State) + pString := source.Note + generatedControllerCompatibility.Note = &pString + return &generatedControllerCompatibility +} diff --git a/generated/custom_models.go b/generated/custom_models.go deleted file mode 100755 index 6cd89605..00000000 --- a/generated/custom_models.go +++ /dev/null @@ -1,31 +0,0 @@ -package generated - -import "github.com/99designs/gqlgen/graphql" - -type NewMod struct { - Name string `json:"name" validate:"required,min=3,max=32"` - ShortDescription string `json:"short_description" validate:"required,min=16,max=128"` - FullDescription *string `json:"full_description"` - Logo *graphql.Upload `json:"logo"` - SourceURL *string `json:"source_url"` - ModReference string `json:"mod_reference"` - Hidden *bool `json:"hidden"` - TagIDs []string `json:"tagIDs" validate:"dive,min=3,max=24"` - ToggleNetworkUse *bool `json:"toggle_network_use"` - ToggleExplicitContent *bool `json:"toggle_explicit_content"` -} - -type UpdateMod struct { - Name *string `json:"name" validate:"omitempty,min=3,max=32"` - ShortDescription *string `json:"short_description" validate:"omitempty,min=16,max=128"` - FullDescription *string `json:"full_description"` - Logo *graphql.Upload `json:"logo"` - SourceURL *string `json:"source_url"` - ModReference *string `json:"mod_reference"` - Hidden *bool `json:"hidden"` - Compatibility *CompatibilityInfoInput `json:"compatibility"` - Authors []UpdateUserMod `json:"authors"` - TagIDs []string `json:"tagIDs" validate:"dive,min=3,max=24"` - ToggleNetworkUse *bool `json:"toggle_network_use"` - ToggleExplicitContent *bool `json:"toggle_explicit_content"` -} diff --git a/generated/generated.go b/generated/generated.go index 34d11a07..eb603b14 100644 --- a/generated/generated.go +++ b/generated/generated.go @@ -1,28508 +1 @@ -// Code generated by github.com/99designs/gqlgen, DO NOT EDIT. - -package generated - -import ( - "bytes" - "context" - "errors" - "fmt" - "strconv" - "sync" - "sync/atomic" - - "github.com/99designs/gqlgen/graphql" - "github.com/99designs/gqlgen/graphql/introspection" - gqlparser "github.com/vektah/gqlparser/v2" - "github.com/vektah/gqlparser/v2/ast" -) - -// region ************************** generated!.gotpl ************************** - -// NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface. -func NewExecutableSchema(cfg Config) graphql.ExecutableSchema { - return &executableSchema{ - schema: cfg.Schema, - resolvers: cfg.Resolvers, - directives: cfg.Directives, - complexity: cfg.Complexity, - } -} - -type Config struct { - Schema *ast.Schema - Resolvers ResolverRoot - Directives DirectiveRoot - Complexity ComplexityRoot -} - -type ResolverRoot interface { - GetGuides() GetGuidesResolver - GetMods() GetModsResolver - GetMyMods() GetMyModsResolver - GetMyVersions() GetMyVersionsResolver - GetSMLVersions() GetSMLVersionsResolver - GetVersions() GetVersionsResolver - Guide() GuideResolver - Mod() ModResolver - Mutation() MutationResolver - Query() QueryResolver - SMLVersion() SMLVersionResolver - SMLVersionTarget() SMLVersionTargetResolver - User() UserResolver - UserMod() UserModResolver - Version() VersionResolver - VersionDependency() VersionDependencyResolver - VersionTarget() VersionTargetResolver -} - -type DirectiveRoot struct { - CanApproveMods func(ctx context.Context, obj any, next graphql.Resolver) (res any, err error) - CanApproveVersions func(ctx context.Context, obj any, next graphql.Resolver) (res any, err error) - CanEditAnnouncements func(ctx context.Context, obj any, next graphql.Resolver) (res any, err error) - CanEditGuide func(ctx context.Context, obj any, next graphql.Resolver, field string) (res any, err error) - CanEditMod func(ctx context.Context, obj any, next graphql.Resolver, field string) (res any, err error) - CanEditModCompatibility func(ctx context.Context, obj any, next graphql.Resolver, field *string) (res any, err error) - CanEditSatisfactoryVersions func(ctx context.Context, obj any, next graphql.Resolver) (res any, err error) - CanEditUser func(ctx context.Context, obj any, next graphql.Resolver, field string, object bool) (res any, err error) - CanEditUsers func(ctx context.Context, obj any, next graphql.Resolver) (res any, err error) - CanEditVersion func(ctx context.Context, obj any, next graphql.Resolver, field string) (res any, err error) - CanManageTags func(ctx context.Context, obj any, next graphql.Resolver) (res any, err error) - IsLoggedIn func(ctx context.Context, obj any, next graphql.Resolver) (res any, err error) - IsNotLoggedIn func(ctx context.Context, obj any, next graphql.Resolver) (res any, err error) -} - -type ComplexityRoot struct { - Announcement struct { - ID func(childComplexity int) int - Importance func(childComplexity int) int - Message func(childComplexity int) int - } - - Compatibility struct { - Note func(childComplexity int) int - State func(childComplexity int) int - } - - CompatibilityInfo struct { - Ea func(childComplexity int) int - Exp func(childComplexity int) int - } - - CreateVersionResponse struct { - AutoApproved func(childComplexity int) int - Version func(childComplexity int) int - } - - GetGuides struct { - Count func(childComplexity int) int - Guides func(childComplexity int) int - } - - GetMods struct { - Count func(childComplexity int) int - Mods func(childComplexity int) int - } - - GetMyMods struct { - Count func(childComplexity int) int - Mods func(childComplexity int) int - } - - GetMyVersions struct { - Count func(childComplexity int) int - Versions func(childComplexity int) int - } - - GetSMLVersions struct { - Count func(childComplexity int) int - SmlVersions func(childComplexity int) int - } - - GetVersions struct { - Count func(childComplexity int) int - Versions func(childComplexity int) int - } - - Group struct { - ID func(childComplexity int) int - Name func(childComplexity int) int - } - - Guide struct { - CreatedAt func(childComplexity int) int - Guide func(childComplexity int) int - ID func(childComplexity int) int - Name func(childComplexity int) int - ShortDescription func(childComplexity int) int - Tags func(childComplexity int) int - UpdatedAt func(childComplexity int) int - User func(childComplexity int) int - UserID func(childComplexity int) int - Views func(childComplexity int) int - } - - LatestVersions struct { - Alpha func(childComplexity int) int - Beta func(childComplexity int) int - Release func(childComplexity int) int - } - - Mod struct { - Approved func(childComplexity int) int - Authors func(childComplexity int) int - Compatibility func(childComplexity int) int - CreatedAt func(childComplexity int) int - CreatorID func(childComplexity int) int - Downloads func(childComplexity int) int - FullDescription func(childComplexity int) int - Hidden func(childComplexity int) int - Hotness func(childComplexity int) int - ID func(childComplexity int) int - LastVersionDate func(childComplexity int) int - LatestVersions func(childComplexity int) int - Logo func(childComplexity int) int - LogoThumbhash func(childComplexity int) int - ModReference func(childComplexity int) int - Name func(childComplexity int) int - Popularity func(childComplexity int) int - ShortDescription func(childComplexity int) int - SourceURL func(childComplexity int) int - Tags func(childComplexity int) int - ToggleExplicitContent func(childComplexity int) int - ToggleNetworkUse func(childComplexity int) int - UpdatedAt func(childComplexity int) int - Version func(childComplexity int, version string) int - Versions func(childComplexity int, filter map[string]interface{}) int - Views func(childComplexity int) int - } - - ModVersion struct { - ID func(childComplexity int) int - ModReference func(childComplexity int) int - Versions func(childComplexity int) int - } - - Mutation struct { - ApproveMod func(childComplexity int, modID string) int - ApproveVersion func(childComplexity int, versionID string) int - CreateAnnouncement func(childComplexity int, announcement NewAnnouncement) int - CreateGuide func(childComplexity int, guide NewGuide) int - CreateMod func(childComplexity int, mod NewMod) int - CreateMultipleTags func(childComplexity int, tagNames []*NewTag) int - CreateSatisfactoryVersion func(childComplexity int, input NewSatisfactoryVersion) int - CreateTag func(childComplexity int, tagName string, description string) int - CreateVersion func(childComplexity int, modID string) int - DeleteAnnouncement func(childComplexity int, announcementID string) int - DeleteGuide func(childComplexity int, guideID string) int - DeleteMod func(childComplexity int, modID string) int - DeleteSatisfactoryVersion func(childComplexity int, id string) int - DeleteTag func(childComplexity int, tagID string) int - DeleteVersion func(childComplexity int, versionID string) int - DenyMod func(childComplexity int, modID string) int - DenyVersion func(childComplexity int, versionID string) int - DiscourseSso func(childComplexity int, sso string, sig string) int - FinalizeCreateVersion func(childComplexity int, modID string, versionID string, version NewVersion) int - Logout func(childComplexity int) int - OAuthFacebook func(childComplexity int, code string, state string) int - OAuthGithub func(childComplexity int, code string, state string) int - OAuthGoogle func(childComplexity int, code string, state string) int - UpdateAnnouncement func(childComplexity int, announcementID string, announcement UpdateAnnouncement) int - UpdateGuide func(childComplexity int, guideID string, guide UpdateGuide) int - UpdateMod func(childComplexity int, modID string, mod UpdateMod) int - UpdateModCompatibility func(childComplexity int, modID string, compatibility CompatibilityInfoInput) int - UpdateMultipleModCompatibilities func(childComplexity int, modIDs []string, compatibility CompatibilityInfoInput) int - UpdateSatisfactoryVersion func(childComplexity int, id string, input UpdateSatisfactoryVersion) int - UpdateTag func(childComplexity int, tagID string, newName string, description string) int - UpdateUser func(childComplexity int, userID string, input UpdateUser) int - UpdateVersion func(childComplexity int, versionID string, version UpdateVersion) int - UploadVersionPart func(childComplexity int, modID string, versionID string, part int, file graphql.Upload) int - } - - OAuthOptions struct { - Facebook func(childComplexity int) int - Github func(childComplexity int) int - Google func(childComplexity int) int - } - - Query struct { - CheckVersionUploadState func(childComplexity int, modID string, versionID string) int - GetAnnouncement func(childComplexity int, announcementID string) int - GetAnnouncements func(childComplexity int) int - GetAnnouncementsByImportance func(childComplexity int, importance AnnouncementImportance) int - GetGuide func(childComplexity int, guideID string) int - GetGuides func(childComplexity int, filter map[string]interface{}) int - GetMe func(childComplexity int) int - GetMod func(childComplexity int, modID string) int - GetModAssetList func(childComplexity int, modReference string) int - GetModByIDOrReference func(childComplexity int, modIDOrReference string) int - GetModByReference func(childComplexity int, modReference string) int - GetMods func(childComplexity int, filter map[string]interface{}) int - GetMyMods func(childComplexity int, filter map[string]interface{}) int - GetMyUnapprovedMods func(childComplexity int, filter map[string]interface{}) int - GetMyUnapprovedVersions func(childComplexity int, filter map[string]interface{}) int - GetMyVersions func(childComplexity int, filter map[string]interface{}) int - GetOAuthOptions func(childComplexity int, callbackURL string) int - GetSMLVersion func(childComplexity int, smlVersionID string) int - GetSMLVersions func(childComplexity int, filter map[string]interface{}) int - GetSatisfactoryVersion func(childComplexity int, id string) int - GetSatisfactoryVersions func(childComplexity int) int - GetTag func(childComplexity int, tagID string) int - GetTags func(childComplexity int, filter *TagFilter) int - GetUnapprovedMods func(childComplexity int, filter map[string]interface{}) int - GetUnapprovedVersions func(childComplexity int, filter map[string]interface{}) int - GetUser func(childComplexity int, userID string) int - GetUsers func(childComplexity int, userIds []string) int - GetVersion func(childComplexity int, versionID string) int - GetVersions func(childComplexity int, filter map[string]interface{}) int - ResolveModVersions func(childComplexity int, filter []*ModVersionConstraint) int - } - - SMLVersion struct { - BootstrapVersion func(childComplexity int) int - Changelog func(childComplexity int) int - CreatedAt func(childComplexity int) int - Date func(childComplexity int) int - EngineVersion func(childComplexity int) int - ID func(childComplexity int) int - Link func(childComplexity int) int - SatisfactoryVersion func(childComplexity int) int - Stability func(childComplexity int) int - Targets func(childComplexity int) int - UpdatedAt func(childComplexity int) int - Version func(childComplexity int) int - } - - SMLVersionTarget struct { - Link func(childComplexity int) int - TargetName func(childComplexity int) int - VersionID func(childComplexity int) int - } - - SatisfactoryVersion struct { - EngineVersion func(childComplexity int) int - ID func(childComplexity int) int - Version func(childComplexity int) int - } - - Tag struct { - Description func(childComplexity int) int - ID func(childComplexity int) int - Name func(childComplexity int) int - } - - User struct { - Avatar func(childComplexity int) int - AvatarThumbhash func(childComplexity int) int - CreatedAt func(childComplexity int) int - Email func(childComplexity int) int - FacebookID func(childComplexity int) int - GithubID func(childComplexity int) int - GoogleID func(childComplexity int) int - Groups func(childComplexity int) int - Guides func(childComplexity int) int - ID func(childComplexity int) int - Mods func(childComplexity int) int - Roles func(childComplexity int) int - Username func(childComplexity int) int - } - - UserMod struct { - Mod func(childComplexity int) int - ModID func(childComplexity int) int - Role func(childComplexity int) int - User func(childComplexity int) int - UserID func(childComplexity int) int - } - - UserRoles struct { - ApproveMods func(childComplexity int) int - ApproveVersions func(childComplexity int) int - DeleteContent func(childComplexity int) int - EditAnyModCompatibility func(childComplexity int) int - EditBootstrapVersions func(childComplexity int) int - EditContent func(childComplexity int) int - EditSatisfactoryVersions func(childComplexity int) int - EditUsers func(childComplexity int) int - } - - UserSession struct { - Token func(childComplexity int) int - } - - Version struct { - Approved func(childComplexity int) int - Changelog func(childComplexity int) int - CreatedAt func(childComplexity int) int - Dependencies func(childComplexity int) int - Downloads func(childComplexity int) int - GameVersion func(childComplexity int) int - Hash func(childComplexity int) int - ID func(childComplexity int) int - Link func(childComplexity int) int - Metadata func(childComplexity int) int - Mod func(childComplexity int) int - ModID func(childComplexity int) int - RequiredOnRemote func(childComplexity int) int - Size func(childComplexity int) int - SmlVersion func(childComplexity int) int - Stability func(childComplexity int) int - Targets func(childComplexity int) int - UpdatedAt func(childComplexity int) int - Version func(childComplexity int) int - VirustotalResults func(childComplexity int) int - } - - VersionDependency struct { - Condition func(childComplexity int) int - Mod func(childComplexity int) int - ModID func(childComplexity int) int - ModReference func(childComplexity int) int - Optional func(childComplexity int) int - Version func(childComplexity int) int - VersionID func(childComplexity int) int - } - - VersionTarget struct { - Hash func(childComplexity int) int - Link func(childComplexity int) int - Size func(childComplexity int) int - TargetName func(childComplexity int) int - VersionID func(childComplexity int) int - } - - VirustotalResult struct { - CreatedAt func(childComplexity int) int - FileName func(childComplexity int) int - Hash func(childComplexity int) int - ID func(childComplexity int) int - Safe func(childComplexity int) int - UpdatedAt func(childComplexity int) int - VersionID func(childComplexity int) int - } -} - -type GetGuidesResolver interface { - Guides(ctx context.Context, obj *GetGuides) ([]*Guide, error) - Count(ctx context.Context, obj *GetGuides) (int, error) -} -type GetModsResolver interface { - Mods(ctx context.Context, obj *GetMods) ([]*Mod, error) - Count(ctx context.Context, obj *GetMods) (int, error) -} -type GetMyModsResolver interface { - Mods(ctx context.Context, obj *GetMyMods) ([]*Mod, error) - Count(ctx context.Context, obj *GetMyMods) (int, error) -} -type GetMyVersionsResolver interface { - Versions(ctx context.Context, obj *GetMyVersions) ([]*Version, error) - Count(ctx context.Context, obj *GetMyVersions) (int, error) -} -type GetSMLVersionsResolver interface { - SmlVersions(ctx context.Context, obj *GetSMLVersions) ([]*SMLVersion, error) - Count(ctx context.Context, obj *GetSMLVersions) (int, error) -} -type GetVersionsResolver interface { - Versions(ctx context.Context, obj *GetVersions) ([]*Version, error) - Count(ctx context.Context, obj *GetVersions) (int, error) -} -type GuideResolver interface { - User(ctx context.Context, obj *Guide) (*User, error) -} -type ModResolver interface { - Authors(ctx context.Context, obj *Mod) ([]*UserMod, error) - Version(ctx context.Context, obj *Mod, version string) (*Version, error) - Versions(ctx context.Context, obj *Mod, filter map[string]interface{}) ([]*Version, error) - LatestVersions(ctx context.Context, obj *Mod) (*LatestVersions, error) -} -type MutationResolver interface { - DiscourseSso(ctx context.Context, sso string, sig string) (*string, error) - CreateAnnouncement(ctx context.Context, announcement NewAnnouncement) (*Announcement, error) - UpdateAnnouncement(ctx context.Context, announcementID string, announcement UpdateAnnouncement) (*Announcement, error) - DeleteAnnouncement(ctx context.Context, announcementID string) (bool, error) - UpdateModCompatibility(ctx context.Context, modID string, compatibility CompatibilityInfoInput) (bool, error) - UpdateMultipleModCompatibilities(ctx context.Context, modIDs []string, compatibility CompatibilityInfoInput) (bool, error) - CreateGuide(ctx context.Context, guide NewGuide) (*Guide, error) - UpdateGuide(ctx context.Context, guideID string, guide UpdateGuide) (*Guide, error) - DeleteGuide(ctx context.Context, guideID string) (bool, error) - CreateMod(ctx context.Context, mod NewMod) (*Mod, error) - UpdateMod(ctx context.Context, modID string, mod UpdateMod) (*Mod, error) - DeleteMod(ctx context.Context, modID string) (bool, error) - ApproveMod(ctx context.Context, modID string) (bool, error) - DenyMod(ctx context.Context, modID string) (bool, error) - CreateSatisfactoryVersion(ctx context.Context, input NewSatisfactoryVersion) (*SatisfactoryVersion, error) - UpdateSatisfactoryVersion(ctx context.Context, id string, input UpdateSatisfactoryVersion) (*SatisfactoryVersion, error) - DeleteSatisfactoryVersion(ctx context.Context, id string) (bool, error) - CreateTag(ctx context.Context, tagName string, description string) (*Tag, error) - CreateMultipleTags(ctx context.Context, tagNames []*NewTag) ([]*Tag, error) - UpdateTag(ctx context.Context, tagID string, newName string, description string) (*Tag, error) - DeleteTag(ctx context.Context, tagID string) (bool, error) - UpdateUser(ctx context.Context, userID string, input UpdateUser) (*User, error) - Logout(ctx context.Context) (bool, error) - OAuthGithub(ctx context.Context, code string, state string) (*UserSession, error) - OAuthGoogle(ctx context.Context, code string, state string) (*UserSession, error) - OAuthFacebook(ctx context.Context, code string, state string) (*UserSession, error) - CreateVersion(ctx context.Context, modID string) (string, error) - UploadVersionPart(ctx context.Context, modID string, versionID string, part int, file graphql.Upload) (bool, error) - FinalizeCreateVersion(ctx context.Context, modID string, versionID string, version NewVersion) (bool, error) - UpdateVersion(ctx context.Context, versionID string, version UpdateVersion) (*Version, error) - DeleteVersion(ctx context.Context, versionID string) (bool, error) - ApproveVersion(ctx context.Context, versionID string) (bool, error) - DenyVersion(ctx context.Context, versionID string) (bool, error) -} -type QueryResolver interface { - GetOAuthOptions(ctx context.Context, callbackURL string) (*OAuthOptions, error) - GetAnnouncement(ctx context.Context, announcementID string) (*Announcement, error) - GetAnnouncements(ctx context.Context) ([]*Announcement, error) - GetAnnouncementsByImportance(ctx context.Context, importance AnnouncementImportance) ([]*Announcement, error) - GetGuide(ctx context.Context, guideID string) (*Guide, error) - GetGuides(ctx context.Context, filter map[string]interface{}) (*GetGuides, error) - GetMod(ctx context.Context, modID string) (*Mod, error) - GetModByReference(ctx context.Context, modReference string) (*Mod, error) - GetModByIDOrReference(ctx context.Context, modIDOrReference string) (*Mod, error) - GetMods(ctx context.Context, filter map[string]interface{}) (*GetMods, error) - GetUnapprovedMods(ctx context.Context, filter map[string]interface{}) (*GetMods, error) - GetMyMods(ctx context.Context, filter map[string]interface{}) (*GetMyMods, error) - GetMyUnapprovedMods(ctx context.Context, filter map[string]interface{}) (*GetMyMods, error) - ResolveModVersions(ctx context.Context, filter []*ModVersionConstraint) ([]*ModVersion, error) - GetModAssetList(ctx context.Context, modReference string) ([]string, error) - GetSatisfactoryVersions(ctx context.Context) ([]*SatisfactoryVersion, error) - GetSatisfactoryVersion(ctx context.Context, id string) (*SatisfactoryVersion, error) - GetSMLVersion(ctx context.Context, smlVersionID string) (*SMLVersion, error) - GetSMLVersions(ctx context.Context, filter map[string]interface{}) (*GetSMLVersions, error) - GetTag(ctx context.Context, tagID string) (*Tag, error) - GetTags(ctx context.Context, filter *TagFilter) ([]*Tag, error) - GetMe(ctx context.Context) (*User, error) - GetUser(ctx context.Context, userID string) (*User, error) - GetUsers(ctx context.Context, userIds []string) ([]*User, error) - GetVersion(ctx context.Context, versionID string) (*Version, error) - GetVersions(ctx context.Context, filter map[string]interface{}) (*GetVersions, error) - GetUnapprovedVersions(ctx context.Context, filter map[string]interface{}) (*GetVersions, error) - CheckVersionUploadState(ctx context.Context, modID string, versionID string) (*CreateVersionResponse, error) - GetMyVersions(ctx context.Context, filter map[string]interface{}) (*GetMyVersions, error) - GetMyUnapprovedVersions(ctx context.Context, filter map[string]interface{}) (*GetMyVersions, error) -} -type SMLVersionResolver interface { - Link(ctx context.Context, obj *SMLVersion) (string, error) - - BootstrapVersion(ctx context.Context, obj *SMLVersion) (*string, error) - EngineVersion(ctx context.Context, obj *SMLVersion) (string, error) -} -type SMLVersionTargetResolver interface { - Link(ctx context.Context, obj *SMLVersionTarget) (string, error) -} -type UserResolver interface { - Roles(ctx context.Context, obj *User) (*UserRoles, error) - Groups(ctx context.Context, obj *User) ([]*Group, error) - Mods(ctx context.Context, obj *User) ([]*UserMod, error) - Guides(ctx context.Context, obj *User) ([]*Guide, error) -} -type UserModResolver interface { - User(ctx context.Context, obj *UserMod) (*User, error) - Mod(ctx context.Context, obj *UserMod) (*Mod, error) -} -type VersionResolver interface { - SmlVersion(ctx context.Context, obj *Version) (string, error) - - Link(ctx context.Context, obj *Version) (string, error) - - Size(ctx context.Context, obj *Version) (*int, error) - Hash(ctx context.Context, obj *Version) (*string, error) - Mod(ctx context.Context, obj *Version) (*Mod, error) - Dependencies(ctx context.Context, obj *Version) ([]*VersionDependency, error) - VirustotalResults(ctx context.Context, obj *Version) ([]*VirustotalResult, error) -} -type VersionDependencyResolver interface { - Mod(ctx context.Context, obj *VersionDependency) (*Mod, error) -} -type VersionTargetResolver interface { - Link(ctx context.Context, obj *VersionTarget) (string, error) -} - -type executableSchema struct { - schema *ast.Schema - resolvers ResolverRoot - directives DirectiveRoot - complexity ComplexityRoot -} - -func (e *executableSchema) Schema() *ast.Schema { - if e.schema != nil { - return e.schema - } - return parsedSchema -} - -func (e *executableSchema) Complexity(ctx context.Context, typeName, field string, childComplexity int, rawArgs map[string]any) (int, bool) { - ec := executionContext{nil, e, 0, 0, nil} - _ = ec - switch typeName + "." + field { - - case "Announcement.id": - if e.complexity.Announcement.ID == nil { - break - } - - return e.complexity.Announcement.ID(childComplexity), true - - case "Announcement.importance": - if e.complexity.Announcement.Importance == nil { - break - } - - return e.complexity.Announcement.Importance(childComplexity), true - - case "Announcement.message": - if e.complexity.Announcement.Message == nil { - break - } - - return e.complexity.Announcement.Message(childComplexity), true - - case "Compatibility.note": - if e.complexity.Compatibility.Note == nil { - break - } - - return e.complexity.Compatibility.Note(childComplexity), true - - case "Compatibility.state": - if e.complexity.Compatibility.State == nil { - break - } - - return e.complexity.Compatibility.State(childComplexity), true - - case "CompatibilityInfo.EA": - if e.complexity.CompatibilityInfo.Ea == nil { - break - } - - return e.complexity.CompatibilityInfo.Ea(childComplexity), true - - case "CompatibilityInfo.EXP": - if e.complexity.CompatibilityInfo.Exp == nil { - break - } - - return e.complexity.CompatibilityInfo.Exp(childComplexity), true - - case "CreateVersionResponse.auto_approved": - if e.complexity.CreateVersionResponse.AutoApproved == nil { - break - } - - return e.complexity.CreateVersionResponse.AutoApproved(childComplexity), true - - case "CreateVersionResponse.version": - if e.complexity.CreateVersionResponse.Version == nil { - break - } - - return e.complexity.CreateVersionResponse.Version(childComplexity), true - - case "GetGuides.count": - if e.complexity.GetGuides.Count == nil { - break - } - - return e.complexity.GetGuides.Count(childComplexity), true - - case "GetGuides.guides": - if e.complexity.GetGuides.Guides == nil { - break - } - - return e.complexity.GetGuides.Guides(childComplexity), true - - case "GetMods.count": - if e.complexity.GetMods.Count == nil { - break - } - - return e.complexity.GetMods.Count(childComplexity), true - - case "GetMods.mods": - if e.complexity.GetMods.Mods == nil { - break - } - - return e.complexity.GetMods.Mods(childComplexity), true - - case "GetMyMods.count": - if e.complexity.GetMyMods.Count == nil { - break - } - - return e.complexity.GetMyMods.Count(childComplexity), true - - case "GetMyMods.mods": - if e.complexity.GetMyMods.Mods == nil { - break - } - - return e.complexity.GetMyMods.Mods(childComplexity), true - - case "GetMyVersions.count": - if e.complexity.GetMyVersions.Count == nil { - break - } - - return e.complexity.GetMyVersions.Count(childComplexity), true - - case "GetMyVersions.versions": - if e.complexity.GetMyVersions.Versions == nil { - break - } - - return e.complexity.GetMyVersions.Versions(childComplexity), true - - case "GetSMLVersions.count": - if e.complexity.GetSMLVersions.Count == nil { - break - } - - return e.complexity.GetSMLVersions.Count(childComplexity), true - - case "GetSMLVersions.sml_versions": - if e.complexity.GetSMLVersions.SmlVersions == nil { - break - } - - return e.complexity.GetSMLVersions.SmlVersions(childComplexity), true - - case "GetVersions.count": - if e.complexity.GetVersions.Count == nil { - break - } - - return e.complexity.GetVersions.Count(childComplexity), true - - case "GetVersions.versions": - if e.complexity.GetVersions.Versions == nil { - break - } - - return e.complexity.GetVersions.Versions(childComplexity), true - - case "Group.id": - if e.complexity.Group.ID == nil { - break - } - - return e.complexity.Group.ID(childComplexity), true - - case "Group.name": - if e.complexity.Group.Name == nil { - break - } - - return e.complexity.Group.Name(childComplexity), true - - case "Guide.created_at": - if e.complexity.Guide.CreatedAt == nil { - break - } - - return e.complexity.Guide.CreatedAt(childComplexity), true - - case "Guide.guide": - if e.complexity.Guide.Guide == nil { - break - } - - return e.complexity.Guide.Guide(childComplexity), true - - case "Guide.id": - if e.complexity.Guide.ID == nil { - break - } - - return e.complexity.Guide.ID(childComplexity), true - - case "Guide.name": - if e.complexity.Guide.Name == nil { - break - } - - return e.complexity.Guide.Name(childComplexity), true - - case "Guide.short_description": - if e.complexity.Guide.ShortDescription == nil { - break - } - - return e.complexity.Guide.ShortDescription(childComplexity), true - - case "Guide.tags": - if e.complexity.Guide.Tags == nil { - break - } - - return e.complexity.Guide.Tags(childComplexity), true - - case "Guide.updated_at": - if e.complexity.Guide.UpdatedAt == nil { - break - } - - return e.complexity.Guide.UpdatedAt(childComplexity), true - - case "Guide.user": - if e.complexity.Guide.User == nil { - break - } - - return e.complexity.Guide.User(childComplexity), true - - case "Guide.user_id": - if e.complexity.Guide.UserID == nil { - break - } - - return e.complexity.Guide.UserID(childComplexity), true - - case "Guide.views": - if e.complexity.Guide.Views == nil { - break - } - - return e.complexity.Guide.Views(childComplexity), true - - case "LatestVersions.alpha": - if e.complexity.LatestVersions.Alpha == nil { - break - } - - return e.complexity.LatestVersions.Alpha(childComplexity), true - - case "LatestVersions.beta": - if e.complexity.LatestVersions.Beta == nil { - break - } - - return e.complexity.LatestVersions.Beta(childComplexity), true - - case "LatestVersions.release": - if e.complexity.LatestVersions.Release == nil { - break - } - - return e.complexity.LatestVersions.Release(childComplexity), true - - case "Mod.approved": - if e.complexity.Mod.Approved == nil { - break - } - - return e.complexity.Mod.Approved(childComplexity), true - - case "Mod.authors": - if e.complexity.Mod.Authors == nil { - break - } - - return e.complexity.Mod.Authors(childComplexity), true - - case "Mod.compatibility": - if e.complexity.Mod.Compatibility == nil { - break - } - - return e.complexity.Mod.Compatibility(childComplexity), true - - case "Mod.created_at": - if e.complexity.Mod.CreatedAt == nil { - break - } - - return e.complexity.Mod.CreatedAt(childComplexity), true - - case "Mod.creator_id": - if e.complexity.Mod.CreatorID == nil { - break - } - - return e.complexity.Mod.CreatorID(childComplexity), true - - case "Mod.downloads": - if e.complexity.Mod.Downloads == nil { - break - } - - return e.complexity.Mod.Downloads(childComplexity), true - - case "Mod.full_description": - if e.complexity.Mod.FullDescription == nil { - break - } - - return e.complexity.Mod.FullDescription(childComplexity), true - - case "Mod.hidden": - if e.complexity.Mod.Hidden == nil { - break - } - - return e.complexity.Mod.Hidden(childComplexity), true - - case "Mod.hotness": - if e.complexity.Mod.Hotness == nil { - break - } - - return e.complexity.Mod.Hotness(childComplexity), true - - case "Mod.id": - if e.complexity.Mod.ID == nil { - break - } - - return e.complexity.Mod.ID(childComplexity), true - - case "Mod.last_version_date": - if e.complexity.Mod.LastVersionDate == nil { - break - } - - return e.complexity.Mod.LastVersionDate(childComplexity), true - - case "Mod.latestVersions": - if e.complexity.Mod.LatestVersions == nil { - break - } - - return e.complexity.Mod.LatestVersions(childComplexity), true - - case "Mod.logo": - if e.complexity.Mod.Logo == nil { - break - } - - return e.complexity.Mod.Logo(childComplexity), true - - case "Mod.logo_thumbhash": - if e.complexity.Mod.LogoThumbhash == nil { - break - } - - return e.complexity.Mod.LogoThumbhash(childComplexity), true - - case "Mod.mod_reference": - if e.complexity.Mod.ModReference == nil { - break - } - - return e.complexity.Mod.ModReference(childComplexity), true - - case "Mod.name": - if e.complexity.Mod.Name == nil { - break - } - - return e.complexity.Mod.Name(childComplexity), true - - case "Mod.popularity": - if e.complexity.Mod.Popularity == nil { - break - } - - return e.complexity.Mod.Popularity(childComplexity), true - - case "Mod.short_description": - if e.complexity.Mod.ShortDescription == nil { - break - } - - return e.complexity.Mod.ShortDescription(childComplexity), true - - case "Mod.source_url": - if e.complexity.Mod.SourceURL == nil { - break - } - - return e.complexity.Mod.SourceURL(childComplexity), true - - case "Mod.tags": - if e.complexity.Mod.Tags == nil { - break - } - - return e.complexity.Mod.Tags(childComplexity), true - - case "Mod.toggle_explicit_content": - if e.complexity.Mod.ToggleExplicitContent == nil { - break - } - - return e.complexity.Mod.ToggleExplicitContent(childComplexity), true - - case "Mod.toggle_network_use": - if e.complexity.Mod.ToggleNetworkUse == nil { - break - } - - return e.complexity.Mod.ToggleNetworkUse(childComplexity), true - - case "Mod.updated_at": - if e.complexity.Mod.UpdatedAt == nil { - break - } - - return e.complexity.Mod.UpdatedAt(childComplexity), true - - case "Mod.version": - if e.complexity.Mod.Version == nil { - break - } - - args, err := ec.field_Mod_version_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mod.Version(childComplexity, args["version"].(string)), true - - case "Mod.versions": - if e.complexity.Mod.Versions == nil { - break - } - - args, err := ec.field_Mod_versions_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mod.Versions(childComplexity, args["filter"].(map[string]interface{})), true - - case "Mod.views": - if e.complexity.Mod.Views == nil { - break - } - - return e.complexity.Mod.Views(childComplexity), true - - case "ModVersion.id": - if e.complexity.ModVersion.ID == nil { - break - } - - return e.complexity.ModVersion.ID(childComplexity), true - - case "ModVersion.mod_reference": - if e.complexity.ModVersion.ModReference == nil { - break - } - - return e.complexity.ModVersion.ModReference(childComplexity), true - - case "ModVersion.versions": - if e.complexity.ModVersion.Versions == nil { - break - } - - return e.complexity.ModVersion.Versions(childComplexity), true - - case "Mutation.approveMod": - if e.complexity.Mutation.ApproveMod == nil { - break - } - - args, err := ec.field_Mutation_approveMod_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.ApproveMod(childComplexity, args["modId"].(string)), true - - case "Mutation.approveVersion": - if e.complexity.Mutation.ApproveVersion == nil { - break - } - - args, err := ec.field_Mutation_approveVersion_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.ApproveVersion(childComplexity, args["versionId"].(string)), true - - case "Mutation.createAnnouncement": - if e.complexity.Mutation.CreateAnnouncement == nil { - break - } - - args, err := ec.field_Mutation_createAnnouncement_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.CreateAnnouncement(childComplexity, args["announcement"].(NewAnnouncement)), true - - case "Mutation.createGuide": - if e.complexity.Mutation.CreateGuide == nil { - break - } - - args, err := ec.field_Mutation_createGuide_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.CreateGuide(childComplexity, args["guide"].(NewGuide)), true - - case "Mutation.createMod": - if e.complexity.Mutation.CreateMod == nil { - break - } - - args, err := ec.field_Mutation_createMod_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.CreateMod(childComplexity, args["mod"].(NewMod)), true - - case "Mutation.createMultipleTags": - if e.complexity.Mutation.CreateMultipleTags == nil { - break - } - - args, err := ec.field_Mutation_createMultipleTags_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.CreateMultipleTags(childComplexity, args["tagNames"].([]*NewTag)), true - - case "Mutation.createSatisfactoryVersion": - if e.complexity.Mutation.CreateSatisfactoryVersion == nil { - break - } - - args, err := ec.field_Mutation_createSatisfactoryVersion_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.CreateSatisfactoryVersion(childComplexity, args["input"].(NewSatisfactoryVersion)), true - - case "Mutation.createTag": - if e.complexity.Mutation.CreateTag == nil { - break - } - - args, err := ec.field_Mutation_createTag_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.CreateTag(childComplexity, args["tagName"].(string), args["description"].(string)), true - - case "Mutation.createVersion": - if e.complexity.Mutation.CreateVersion == nil { - break - } - - args, err := ec.field_Mutation_createVersion_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.CreateVersion(childComplexity, args["modId"].(string)), true - - case "Mutation.deleteAnnouncement": - if e.complexity.Mutation.DeleteAnnouncement == nil { - break - } - - args, err := ec.field_Mutation_deleteAnnouncement_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.DeleteAnnouncement(childComplexity, args["announcementId"].(string)), true - - case "Mutation.deleteGuide": - if e.complexity.Mutation.DeleteGuide == nil { - break - } - - args, err := ec.field_Mutation_deleteGuide_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.DeleteGuide(childComplexity, args["guideId"].(string)), true - - case "Mutation.deleteMod": - if e.complexity.Mutation.DeleteMod == nil { - break - } - - args, err := ec.field_Mutation_deleteMod_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.DeleteMod(childComplexity, args["modId"].(string)), true - - case "Mutation.deleteSatisfactoryVersion": - if e.complexity.Mutation.DeleteSatisfactoryVersion == nil { - break - } - - args, err := ec.field_Mutation_deleteSatisfactoryVersion_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.DeleteSatisfactoryVersion(childComplexity, args["id"].(string)), true - - case "Mutation.deleteTag": - if e.complexity.Mutation.DeleteTag == nil { - break - } - - args, err := ec.field_Mutation_deleteTag_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.DeleteTag(childComplexity, args["tagID"].(string)), true - - case "Mutation.deleteVersion": - if e.complexity.Mutation.DeleteVersion == nil { - break - } - - args, err := ec.field_Mutation_deleteVersion_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.DeleteVersion(childComplexity, args["versionId"].(string)), true - - case "Mutation.denyMod": - if e.complexity.Mutation.DenyMod == nil { - break - } - - args, err := ec.field_Mutation_denyMod_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.DenyMod(childComplexity, args["modId"].(string)), true - - case "Mutation.denyVersion": - if e.complexity.Mutation.DenyVersion == nil { - break - } - - args, err := ec.field_Mutation_denyVersion_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.DenyVersion(childComplexity, args["versionId"].(string)), true - - case "Mutation.discourseSSO": - if e.complexity.Mutation.DiscourseSso == nil { - break - } - - args, err := ec.field_Mutation_discourseSSO_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.DiscourseSso(childComplexity, args["sso"].(string), args["sig"].(string)), true - - case "Mutation.finalizeCreateVersion": - if e.complexity.Mutation.FinalizeCreateVersion == nil { - break - } - - args, err := ec.field_Mutation_finalizeCreateVersion_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.FinalizeCreateVersion(childComplexity, args["modId"].(string), args["versionId"].(string), args["version"].(NewVersion)), true - - case "Mutation.logout": - if e.complexity.Mutation.Logout == nil { - break - } - - return e.complexity.Mutation.Logout(childComplexity), true - - case "Mutation.oAuthFacebook": - if e.complexity.Mutation.OAuthFacebook == nil { - break - } - - args, err := ec.field_Mutation_oAuthFacebook_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.OAuthFacebook(childComplexity, args["code"].(string), args["state"].(string)), true - - case "Mutation.oAuthGithub": - if e.complexity.Mutation.OAuthGithub == nil { - break - } - - args, err := ec.field_Mutation_oAuthGithub_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.OAuthGithub(childComplexity, args["code"].(string), args["state"].(string)), true - - case "Mutation.oAuthGoogle": - if e.complexity.Mutation.OAuthGoogle == nil { - break - } - - args, err := ec.field_Mutation_oAuthGoogle_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.OAuthGoogle(childComplexity, args["code"].(string), args["state"].(string)), true - - case "Mutation.updateAnnouncement": - if e.complexity.Mutation.UpdateAnnouncement == nil { - break - } - - args, err := ec.field_Mutation_updateAnnouncement_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.UpdateAnnouncement(childComplexity, args["announcementId"].(string), args["announcement"].(UpdateAnnouncement)), true - - case "Mutation.updateGuide": - if e.complexity.Mutation.UpdateGuide == nil { - break - } - - args, err := ec.field_Mutation_updateGuide_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.UpdateGuide(childComplexity, args["guideId"].(string), args["guide"].(UpdateGuide)), true - - case "Mutation.updateMod": - if e.complexity.Mutation.UpdateMod == nil { - break - } - - args, err := ec.field_Mutation_updateMod_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.UpdateMod(childComplexity, args["modId"].(string), args["mod"].(UpdateMod)), true - - case "Mutation.updateModCompatibility": - if e.complexity.Mutation.UpdateModCompatibility == nil { - break - } - - args, err := ec.field_Mutation_updateModCompatibility_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.UpdateModCompatibility(childComplexity, args["modId"].(string), args["compatibility"].(CompatibilityInfoInput)), true - - case "Mutation.updateMultipleModCompatibilities": - if e.complexity.Mutation.UpdateMultipleModCompatibilities == nil { - break - } - - args, err := ec.field_Mutation_updateMultipleModCompatibilities_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.UpdateMultipleModCompatibilities(childComplexity, args["modIDs"].([]string), args["compatibility"].(CompatibilityInfoInput)), true - - case "Mutation.updateSatisfactoryVersion": - if e.complexity.Mutation.UpdateSatisfactoryVersion == nil { - break - } - - args, err := ec.field_Mutation_updateSatisfactoryVersion_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.UpdateSatisfactoryVersion(childComplexity, args["id"].(string), args["input"].(UpdateSatisfactoryVersion)), true - - case "Mutation.updateTag": - if e.complexity.Mutation.UpdateTag == nil { - break - } - - args, err := ec.field_Mutation_updateTag_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.UpdateTag(childComplexity, args["tagID"].(string), args["NewName"].(string), args["description"].(string)), true - - case "Mutation.updateUser": - if e.complexity.Mutation.UpdateUser == nil { - break - } - - args, err := ec.field_Mutation_updateUser_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.UpdateUser(childComplexity, args["userId"].(string), args["input"].(UpdateUser)), true - - case "Mutation.updateVersion": - if e.complexity.Mutation.UpdateVersion == nil { - break - } - - args, err := ec.field_Mutation_updateVersion_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.UpdateVersion(childComplexity, args["versionId"].(string), args["version"].(UpdateVersion)), true - - case "Mutation.uploadVersionPart": - if e.complexity.Mutation.UploadVersionPart == nil { - break - } - - args, err := ec.field_Mutation_uploadVersionPart_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.UploadVersionPart(childComplexity, args["modId"].(string), args["versionId"].(string), args["part"].(int), args["file"].(graphql.Upload)), true - - case "OAuthOptions.facebook": - if e.complexity.OAuthOptions.Facebook == nil { - break - } - - return e.complexity.OAuthOptions.Facebook(childComplexity), true - - case "OAuthOptions.github": - if e.complexity.OAuthOptions.Github == nil { - break - } - - return e.complexity.OAuthOptions.Github(childComplexity), true - - case "OAuthOptions.google": - if e.complexity.OAuthOptions.Google == nil { - break - } - - return e.complexity.OAuthOptions.Google(childComplexity), true - - case "Query.checkVersionUploadState": - if e.complexity.Query.CheckVersionUploadState == nil { - break - } - - args, err := ec.field_Query_checkVersionUploadState_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.CheckVersionUploadState(childComplexity, args["modId"].(string), args["versionId"].(string)), true - - case "Query.getAnnouncement": - if e.complexity.Query.GetAnnouncement == nil { - break - } - - args, err := ec.field_Query_getAnnouncement_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetAnnouncement(childComplexity, args["announcementId"].(string)), true - - case "Query.getAnnouncements": - if e.complexity.Query.GetAnnouncements == nil { - break - } - - return e.complexity.Query.GetAnnouncements(childComplexity), true - - case "Query.getAnnouncementsByImportance": - if e.complexity.Query.GetAnnouncementsByImportance == nil { - break - } - - args, err := ec.field_Query_getAnnouncementsByImportance_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetAnnouncementsByImportance(childComplexity, args["importance"].(AnnouncementImportance)), true - - case "Query.getGuide": - if e.complexity.Query.GetGuide == nil { - break - } - - args, err := ec.field_Query_getGuide_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetGuide(childComplexity, args["guideId"].(string)), true - - case "Query.getGuides": - if e.complexity.Query.GetGuides == nil { - break - } - - args, err := ec.field_Query_getGuides_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetGuides(childComplexity, args["filter"].(map[string]interface{})), true - - case "Query.getMe": - if e.complexity.Query.GetMe == nil { - break - } - - return e.complexity.Query.GetMe(childComplexity), true - - case "Query.getMod": - if e.complexity.Query.GetMod == nil { - break - } - - args, err := ec.field_Query_getMod_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetMod(childComplexity, args["modId"].(string)), true - - case "Query.getModAssetList": - if e.complexity.Query.GetModAssetList == nil { - break - } - - args, err := ec.field_Query_getModAssetList_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetModAssetList(childComplexity, args["modReference"].(string)), true - - case "Query.getModByIdOrReference": - if e.complexity.Query.GetModByIDOrReference == nil { - break - } - - args, err := ec.field_Query_getModByIdOrReference_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetModByIDOrReference(childComplexity, args["modIdOrReference"].(string)), true - - case "Query.getModByReference": - if e.complexity.Query.GetModByReference == nil { - break - } - - args, err := ec.field_Query_getModByReference_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetModByReference(childComplexity, args["modReference"].(string)), true - - case "Query.getMods": - if e.complexity.Query.GetMods == nil { - break - } - - args, err := ec.field_Query_getMods_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetMods(childComplexity, args["filter"].(map[string]interface{})), true - - case "Query.getMyMods": - if e.complexity.Query.GetMyMods == nil { - break - } - - args, err := ec.field_Query_getMyMods_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetMyMods(childComplexity, args["filter"].(map[string]interface{})), true - - case "Query.getMyUnapprovedMods": - if e.complexity.Query.GetMyUnapprovedMods == nil { - break - } - - args, err := ec.field_Query_getMyUnapprovedMods_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetMyUnapprovedMods(childComplexity, args["filter"].(map[string]interface{})), true - - case "Query.getMyUnapprovedVersions": - if e.complexity.Query.GetMyUnapprovedVersions == nil { - break - } - - args, err := ec.field_Query_getMyUnapprovedVersions_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetMyUnapprovedVersions(childComplexity, args["filter"].(map[string]interface{})), true - - case "Query.getMyVersions": - if e.complexity.Query.GetMyVersions == nil { - break - } - - args, err := ec.field_Query_getMyVersions_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetMyVersions(childComplexity, args["filter"].(map[string]interface{})), true - - case "Query.getOAuthOptions": - if e.complexity.Query.GetOAuthOptions == nil { - break - } - - args, err := ec.field_Query_getOAuthOptions_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetOAuthOptions(childComplexity, args["callback_url"].(string)), true - - case "Query.getSMLVersion": - if e.complexity.Query.GetSMLVersion == nil { - break - } - - args, err := ec.field_Query_getSMLVersion_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetSMLVersion(childComplexity, args["smlVersionID"].(string)), true - - case "Query.getSMLVersions": - if e.complexity.Query.GetSMLVersions == nil { - break - } - - args, err := ec.field_Query_getSMLVersions_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetSMLVersions(childComplexity, args["filter"].(map[string]interface{})), true - - case "Query.getSatisfactoryVersion": - if e.complexity.Query.GetSatisfactoryVersion == nil { - break - } - - args, err := ec.field_Query_getSatisfactoryVersion_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetSatisfactoryVersion(childComplexity, args["id"].(string)), true - - case "Query.getSatisfactoryVersions": - if e.complexity.Query.GetSatisfactoryVersions == nil { - break - } - - return e.complexity.Query.GetSatisfactoryVersions(childComplexity), true - - case "Query.getTag": - if e.complexity.Query.GetTag == nil { - break - } - - args, err := ec.field_Query_getTag_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetTag(childComplexity, args["tagID"].(string)), true - - case "Query.getTags": - if e.complexity.Query.GetTags == nil { - break - } - - args, err := ec.field_Query_getTags_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetTags(childComplexity, args["filter"].(*TagFilter)), true - - case "Query.getUnapprovedMods": - if e.complexity.Query.GetUnapprovedMods == nil { - break - } - - args, err := ec.field_Query_getUnapprovedMods_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetUnapprovedMods(childComplexity, args["filter"].(map[string]interface{})), true - - case "Query.getUnapprovedVersions": - if e.complexity.Query.GetUnapprovedVersions == nil { - break - } - - args, err := ec.field_Query_getUnapprovedVersions_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetUnapprovedVersions(childComplexity, args["filter"].(map[string]interface{})), true - - case "Query.getUser": - if e.complexity.Query.GetUser == nil { - break - } - - args, err := ec.field_Query_getUser_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetUser(childComplexity, args["userId"].(string)), true - - case "Query.getUsers": - if e.complexity.Query.GetUsers == nil { - break - } - - args, err := ec.field_Query_getUsers_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetUsers(childComplexity, args["userIds"].([]string)), true - - case "Query.getVersion": - if e.complexity.Query.GetVersion == nil { - break - } - - args, err := ec.field_Query_getVersion_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetVersion(childComplexity, args["versionId"].(string)), true - - case "Query.getVersions": - if e.complexity.Query.GetVersions == nil { - break - } - - args, err := ec.field_Query_getVersions_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetVersions(childComplexity, args["filter"].(map[string]interface{})), true - - case "Query.resolveModVersions": - if e.complexity.Query.ResolveModVersions == nil { - break - } - - args, err := ec.field_Query_resolveModVersions_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.ResolveModVersions(childComplexity, args["filter"].([]*ModVersionConstraint)), true - - case "SMLVersion.bootstrap_version": - if e.complexity.SMLVersion.BootstrapVersion == nil { - break - } - - return e.complexity.SMLVersion.BootstrapVersion(childComplexity), true - - case "SMLVersion.changelog": - if e.complexity.SMLVersion.Changelog == nil { - break - } - - return e.complexity.SMLVersion.Changelog(childComplexity), true - - case "SMLVersion.created_at": - if e.complexity.SMLVersion.CreatedAt == nil { - break - } - - return e.complexity.SMLVersion.CreatedAt(childComplexity), true - - case "SMLVersion.date": - if e.complexity.SMLVersion.Date == nil { - break - } - - return e.complexity.SMLVersion.Date(childComplexity), true - - case "SMLVersion.engine_version": - if e.complexity.SMLVersion.EngineVersion == nil { - break - } - - return e.complexity.SMLVersion.EngineVersion(childComplexity), true - - case "SMLVersion.id": - if e.complexity.SMLVersion.ID == nil { - break - } - - return e.complexity.SMLVersion.ID(childComplexity), true - - case "SMLVersion.link": - if e.complexity.SMLVersion.Link == nil { - break - } - - return e.complexity.SMLVersion.Link(childComplexity), true - - case "SMLVersion.satisfactory_version": - if e.complexity.SMLVersion.SatisfactoryVersion == nil { - break - } - - return e.complexity.SMLVersion.SatisfactoryVersion(childComplexity), true - - case "SMLVersion.stability": - if e.complexity.SMLVersion.Stability == nil { - break - } - - return e.complexity.SMLVersion.Stability(childComplexity), true - - case "SMLVersion.targets": - if e.complexity.SMLVersion.Targets == nil { - break - } - - return e.complexity.SMLVersion.Targets(childComplexity), true - - case "SMLVersion.updated_at": - if e.complexity.SMLVersion.UpdatedAt == nil { - break - } - - return e.complexity.SMLVersion.UpdatedAt(childComplexity), true - - case "SMLVersion.version": - if e.complexity.SMLVersion.Version == nil { - break - } - - return e.complexity.SMLVersion.Version(childComplexity), true - - case "SMLVersionTarget.link": - if e.complexity.SMLVersionTarget.Link == nil { - break - } - - return e.complexity.SMLVersionTarget.Link(childComplexity), true - - case "SMLVersionTarget.targetName": - if e.complexity.SMLVersionTarget.TargetName == nil { - break - } - - return e.complexity.SMLVersionTarget.TargetName(childComplexity), true - - case "SMLVersionTarget.VersionID": - if e.complexity.SMLVersionTarget.VersionID == nil { - break - } - - return e.complexity.SMLVersionTarget.VersionID(childComplexity), true - - case "SatisfactoryVersion.engine_version": - if e.complexity.SatisfactoryVersion.EngineVersion == nil { - break - } - - return e.complexity.SatisfactoryVersion.EngineVersion(childComplexity), true - - case "SatisfactoryVersion.id": - if e.complexity.SatisfactoryVersion.ID == nil { - break - } - - return e.complexity.SatisfactoryVersion.ID(childComplexity), true - - case "SatisfactoryVersion.version": - if e.complexity.SatisfactoryVersion.Version == nil { - break - } - - return e.complexity.SatisfactoryVersion.Version(childComplexity), true - - case "Tag.description": - if e.complexity.Tag.Description == nil { - break - } - - return e.complexity.Tag.Description(childComplexity), true - - case "Tag.id": - if e.complexity.Tag.ID == nil { - break - } - - return e.complexity.Tag.ID(childComplexity), true - - case "Tag.name": - if e.complexity.Tag.Name == nil { - break - } - - return e.complexity.Tag.Name(childComplexity), true - - case "User.avatar": - if e.complexity.User.Avatar == nil { - break - } - - return e.complexity.User.Avatar(childComplexity), true - - case "User.avatar_thumbhash": - if e.complexity.User.AvatarThumbhash == nil { - break - } - - return e.complexity.User.AvatarThumbhash(childComplexity), true - - case "User.created_at": - if e.complexity.User.CreatedAt == nil { - break - } - - return e.complexity.User.CreatedAt(childComplexity), true - - case "User.email": - if e.complexity.User.Email == nil { - break - } - - return e.complexity.User.Email(childComplexity), true - - case "User.facebook_id": - if e.complexity.User.FacebookID == nil { - break - } - - return e.complexity.User.FacebookID(childComplexity), true - - case "User.github_id": - if e.complexity.User.GithubID == nil { - break - } - - return e.complexity.User.GithubID(childComplexity), true - - case "User.google_id": - if e.complexity.User.GoogleID == nil { - break - } - - return e.complexity.User.GoogleID(childComplexity), true - - case "User.groups": - if e.complexity.User.Groups == nil { - break - } - - return e.complexity.User.Groups(childComplexity), true - - case "User.guides": - if e.complexity.User.Guides == nil { - break - } - - return e.complexity.User.Guides(childComplexity), true - - case "User.id": - if e.complexity.User.ID == nil { - break - } - - return e.complexity.User.ID(childComplexity), true - - case "User.mods": - if e.complexity.User.Mods == nil { - break - } - - return e.complexity.User.Mods(childComplexity), true - - case "User.roles": - if e.complexity.User.Roles == nil { - break - } - - return e.complexity.User.Roles(childComplexity), true - - case "User.username": - if e.complexity.User.Username == nil { - break - } - - return e.complexity.User.Username(childComplexity), true - - case "UserMod.mod": - if e.complexity.UserMod.Mod == nil { - break - } - - return e.complexity.UserMod.Mod(childComplexity), true - - case "UserMod.mod_id": - if e.complexity.UserMod.ModID == nil { - break - } - - return e.complexity.UserMod.ModID(childComplexity), true - - case "UserMod.role": - if e.complexity.UserMod.Role == nil { - break - } - - return e.complexity.UserMod.Role(childComplexity), true - - case "UserMod.user": - if e.complexity.UserMod.User == nil { - break - } - - return e.complexity.UserMod.User(childComplexity), true - - case "UserMod.user_id": - if e.complexity.UserMod.UserID == nil { - break - } - - return e.complexity.UserMod.UserID(childComplexity), true - - case "UserRoles.approveMods": - if e.complexity.UserRoles.ApproveMods == nil { - break - } - - return e.complexity.UserRoles.ApproveMods(childComplexity), true - - case "UserRoles.approveVersions": - if e.complexity.UserRoles.ApproveVersions == nil { - break - } - - return e.complexity.UserRoles.ApproveVersions(childComplexity), true - - case "UserRoles.deleteContent": - if e.complexity.UserRoles.DeleteContent == nil { - break - } - - return e.complexity.UserRoles.DeleteContent(childComplexity), true - - case "UserRoles.editAnyModCompatibility": - if e.complexity.UserRoles.EditAnyModCompatibility == nil { - break - } - - return e.complexity.UserRoles.EditAnyModCompatibility(childComplexity), true - - case "UserRoles.editBootstrapVersions": - if e.complexity.UserRoles.EditBootstrapVersions == nil { - break - } - - return e.complexity.UserRoles.EditBootstrapVersions(childComplexity), true - - case "UserRoles.editContent": - if e.complexity.UserRoles.EditContent == nil { - break - } - - return e.complexity.UserRoles.EditContent(childComplexity), true - - case "UserRoles.editSatisfactoryVersions": - if e.complexity.UserRoles.EditSatisfactoryVersions == nil { - break - } - - return e.complexity.UserRoles.EditSatisfactoryVersions(childComplexity), true - - case "UserRoles.editUsers": - if e.complexity.UserRoles.EditUsers == nil { - break - } - - return e.complexity.UserRoles.EditUsers(childComplexity), true - - case "UserSession.token": - if e.complexity.UserSession.Token == nil { - break - } - - return e.complexity.UserSession.Token(childComplexity), true - - case "Version.approved": - if e.complexity.Version.Approved == nil { - break - } - - return e.complexity.Version.Approved(childComplexity), true - - case "Version.changelog": - if e.complexity.Version.Changelog == nil { - break - } - - return e.complexity.Version.Changelog(childComplexity), true - - case "Version.created_at": - if e.complexity.Version.CreatedAt == nil { - break - } - - return e.complexity.Version.CreatedAt(childComplexity), true - - case "Version.dependencies": - if e.complexity.Version.Dependencies == nil { - break - } - - return e.complexity.Version.Dependencies(childComplexity), true - - case "Version.downloads": - if e.complexity.Version.Downloads == nil { - break - } - - return e.complexity.Version.Downloads(childComplexity), true - - case "Version.game_version": - if e.complexity.Version.GameVersion == nil { - break - } - - return e.complexity.Version.GameVersion(childComplexity), true - - case "Version.hash": - if e.complexity.Version.Hash == nil { - break - } - - return e.complexity.Version.Hash(childComplexity), true - - case "Version.id": - if e.complexity.Version.ID == nil { - break - } - - return e.complexity.Version.ID(childComplexity), true - - case "Version.link": - if e.complexity.Version.Link == nil { - break - } - - return e.complexity.Version.Link(childComplexity), true - - case "Version.metadata": - if e.complexity.Version.Metadata == nil { - break - } - - return e.complexity.Version.Metadata(childComplexity), true - - case "Version.mod": - if e.complexity.Version.Mod == nil { - break - } - - return e.complexity.Version.Mod(childComplexity), true - - case "Version.mod_id": - if e.complexity.Version.ModID == nil { - break - } - - return e.complexity.Version.ModID(childComplexity), true - - case "Version.required_on_remote": - if e.complexity.Version.RequiredOnRemote == nil { - break - } - - return e.complexity.Version.RequiredOnRemote(childComplexity), true - - case "Version.size": - if e.complexity.Version.Size == nil { - break - } - - return e.complexity.Version.Size(childComplexity), true - - case "Version.sml_version": - if e.complexity.Version.SmlVersion == nil { - break - } - - return e.complexity.Version.SmlVersion(childComplexity), true - - case "Version.stability": - if e.complexity.Version.Stability == nil { - break - } - - return e.complexity.Version.Stability(childComplexity), true - - case "Version.targets": - if e.complexity.Version.Targets == nil { - break - } - - return e.complexity.Version.Targets(childComplexity), true - - case "Version.updated_at": - if e.complexity.Version.UpdatedAt == nil { - break - } - - return e.complexity.Version.UpdatedAt(childComplexity), true - - case "Version.version": - if e.complexity.Version.Version == nil { - break - } - - return e.complexity.Version.Version(childComplexity), true - - case "Version.virustotal_results": - if e.complexity.Version.VirustotalResults == nil { - break - } - - return e.complexity.Version.VirustotalResults(childComplexity), true - - case "VersionDependency.condition": - if e.complexity.VersionDependency.Condition == nil { - break - } - - return e.complexity.VersionDependency.Condition(childComplexity), true - - case "VersionDependency.mod": - if e.complexity.VersionDependency.Mod == nil { - break - } - - return e.complexity.VersionDependency.Mod(childComplexity), true - - case "VersionDependency.mod_id": - if e.complexity.VersionDependency.ModID == nil { - break - } - - return e.complexity.VersionDependency.ModID(childComplexity), true - - case "VersionDependency.mod_reference": - if e.complexity.VersionDependency.ModReference == nil { - break - } - - return e.complexity.VersionDependency.ModReference(childComplexity), true - - case "VersionDependency.optional": - if e.complexity.VersionDependency.Optional == nil { - break - } - - return e.complexity.VersionDependency.Optional(childComplexity), true - - case "VersionDependency.version": - if e.complexity.VersionDependency.Version == nil { - break - } - - return e.complexity.VersionDependency.Version(childComplexity), true - - case "VersionDependency.version_id": - if e.complexity.VersionDependency.VersionID == nil { - break - } - - return e.complexity.VersionDependency.VersionID(childComplexity), true - - case "VersionTarget.hash": - if e.complexity.VersionTarget.Hash == nil { - break - } - - return e.complexity.VersionTarget.Hash(childComplexity), true - - case "VersionTarget.link": - if e.complexity.VersionTarget.Link == nil { - break - } - - return e.complexity.VersionTarget.Link(childComplexity), true - - case "VersionTarget.size": - if e.complexity.VersionTarget.Size == nil { - break - } - - return e.complexity.VersionTarget.Size(childComplexity), true - - case "VersionTarget.targetName": - if e.complexity.VersionTarget.TargetName == nil { - break - } - - return e.complexity.VersionTarget.TargetName(childComplexity), true - - case "VersionTarget.VersionID": - if e.complexity.VersionTarget.VersionID == nil { - break - } - - return e.complexity.VersionTarget.VersionID(childComplexity), true - - case "VirustotalResult.created_at": - if e.complexity.VirustotalResult.CreatedAt == nil { - break - } - - return e.complexity.VirustotalResult.CreatedAt(childComplexity), true - - case "VirustotalResult.file_name": - if e.complexity.VirustotalResult.FileName == nil { - break - } - - return e.complexity.VirustotalResult.FileName(childComplexity), true - - case "VirustotalResult.hash": - if e.complexity.VirustotalResult.Hash == nil { - break - } - - return e.complexity.VirustotalResult.Hash(childComplexity), true - - case "VirustotalResult.id": - if e.complexity.VirustotalResult.ID == nil { - break - } - - return e.complexity.VirustotalResult.ID(childComplexity), true - - case "VirustotalResult.safe": - if e.complexity.VirustotalResult.Safe == nil { - break - } - - return e.complexity.VirustotalResult.Safe(childComplexity), true - - case "VirustotalResult.updated_at": - if e.complexity.VirustotalResult.UpdatedAt == nil { - break - } - - return e.complexity.VirustotalResult.UpdatedAt(childComplexity), true - - case "VirustotalResult.version_id": - if e.complexity.VirustotalResult.VersionID == nil { - break - } - - return e.complexity.VirustotalResult.VersionID(childComplexity), true - - } - return 0, false -} - -func (e *executableSchema) Exec(ctx context.Context) graphql.ResponseHandler { - opCtx := graphql.GetOperationContext(ctx) - ec := executionContext{opCtx, e, 0, 0, make(chan graphql.DeferredResult)} - inputUnmarshalMap := graphql.BuildUnmarshalerMap( - ec.unmarshalInputCompatibilityInfoInput, - ec.unmarshalInputCompatibilityInput, - ec.unmarshalInputGuideFilter, - ec.unmarshalInputModFilter, - ec.unmarshalInputModVersionConstraint, - ec.unmarshalInputNewAnnouncement, - ec.unmarshalInputNewGuide, - ec.unmarshalInputNewMod, - ec.unmarshalInputNewSatisfactoryVersion, - ec.unmarshalInputNewTag, - ec.unmarshalInputNewVersion, - ec.unmarshalInputSMLVersionFilter, - ec.unmarshalInputTagFilter, - ec.unmarshalInputUpdateAnnouncement, - ec.unmarshalInputUpdateGuide, - ec.unmarshalInputUpdateMod, - ec.unmarshalInputUpdateSatisfactoryVersion, - ec.unmarshalInputUpdateUser, - ec.unmarshalInputUpdateUserMod, - ec.unmarshalInputUpdateVersion, - ec.unmarshalInputVersionFilter, - ) - first := true - - switch opCtx.Operation.Operation { - case ast.Query: - return func(ctx context.Context) *graphql.Response { - var response graphql.Response - var data graphql.Marshaler - if first { - first = false - ctx = graphql.WithUnmarshalerMap(ctx, inputUnmarshalMap) - data = ec._Query(ctx, opCtx.Operation.SelectionSet) - } else { - if atomic.LoadInt32(&ec.pendingDeferred) > 0 { - result := <-ec.deferredResults - atomic.AddInt32(&ec.pendingDeferred, -1) - data = result.Result - response.Path = result.Path - response.Label = result.Label - response.Errors = result.Errors - } else { - return nil - } - } - var buf bytes.Buffer - data.MarshalGQL(&buf) - response.Data = buf.Bytes() - if atomic.LoadInt32(&ec.deferred) > 0 { - hasNext := atomic.LoadInt32(&ec.pendingDeferred) > 0 - response.HasNext = &hasNext - } - - return &response - } - case ast.Mutation: - return func(ctx context.Context) *graphql.Response { - if !first { - return nil - } - first = false - ctx = graphql.WithUnmarshalerMap(ctx, inputUnmarshalMap) - data := ec._Mutation(ctx, opCtx.Operation.SelectionSet) - var buf bytes.Buffer - data.MarshalGQL(&buf) - - return &graphql.Response{ - Data: buf.Bytes(), - } - } - - default: - return graphql.OneShot(graphql.ErrorResponse(ctx, "unsupported GraphQL operation")) - } -} - -type executionContext struct { - *graphql.OperationContext - *executableSchema - deferred int32 - pendingDeferred int32 - deferredResults chan graphql.DeferredResult -} - -func (ec *executionContext) processDeferredGroup(dg graphql.DeferredGroup) { - atomic.AddInt32(&ec.pendingDeferred, 1) - go func() { - ctx := graphql.WithFreshResponseContext(dg.Context) - dg.FieldSet.Dispatch(ctx) - ds := graphql.DeferredResult{ - Path: dg.Path, - Label: dg.Label, - Result: dg.FieldSet, - Errors: graphql.GetErrors(ctx), - } - // null fields should bubble up - if dg.FieldSet.Invalids > 0 { - ds.Result = graphql.Null - } - ec.deferredResults <- ds - }() -} - -func (ec *executionContext) introspectSchema() (*introspection.Schema, error) { - if ec.DisableIntrospection { - return nil, errors.New("introspection disabled") - } - return introspection.WrapSchema(ec.Schema()), nil -} - -func (ec *executionContext) introspectType(name string) (*introspection.Type, error) { - if ec.DisableIntrospection { - return nil, errors.New("introspection disabled") - } - return introspection.WrapTypeFromDef(ec.Schema(), ec.Schema().Types[name]), nil -} - -var sources = []*ast.Source{ - {Name: "../schemas/announcements.graphql", Input: `### Types - -scalar AnnouncementID - -enum AnnouncementImportance { - Fix - Info - Warning - Alert -} - -type Announcement { - id: AnnouncementID! - message: String! - importance: AnnouncementImportance! -} - -### Inputs - -input NewAnnouncement { - message: String! - importance: AnnouncementImportance! -} - -input UpdateAnnouncement { - message: String - importance: AnnouncementImportance -} - -### Queries - -extend type Query { - getAnnouncement(announcementId: AnnouncementID!): Announcement - getAnnouncements: [Announcement!]! - getAnnouncementsByImportance(importance: AnnouncementImportance!): [Announcement!]! -} - -### Mutations - -extend type Mutation { - createAnnouncement(announcement: NewAnnouncement!): Announcement @canEditAnnouncements @isLoggedIn - updateAnnouncement(announcementId: AnnouncementID!, announcement: UpdateAnnouncement!): Announcement! @canEditAnnouncements @isLoggedIn - deleteAnnouncement(announcementId: AnnouncementID!): Boolean! @canEditAnnouncements @isLoggedIn -}`, BuiltIn: false}, - {Name: "../schemas/base.graphql", Input: `scalar Upload - -scalar Date - -enum Order { - asc - desc -} - -type OAuthOptions { - github: String! - google: String! - facebook: String! -} - -type Query { - getOAuthOptions(callback_url: String!): OAuthOptions! -} - -type Mutation { - discourseSSO(sso: String!, sig: String!): String @isLoggedIn -} -`, BuiltIn: false}, - {Name: "../schemas/compatibility.graphql", Input: `enum CompatibilityState { - Works - Damaged - Broken -} - -type Compatibility { - state: CompatibilityState! - note: String -} - -input CompatibilityInput { - state: CompatibilityState! - note: String -} - -type CompatibilityInfo { - EA: Compatibility! - EXP: Compatibility! -} - -input CompatibilityInfoInput { - EA: CompatibilityInput! - EXP: CompatibilityInput! -} - -extend type Mutation { - updateModCompatibility(modId: ModID!, compatibility: CompatibilityInfoInput!): Boolean! @canEditModCompatibility(field: "modId") @isLoggedIn - updateMultipleModCompatibilities(modIDs: [ModID!]!, compatibility: CompatibilityInfoInput!): Boolean! @canEditModCompatibility @isLoggedIn -}`, BuiltIn: false}, - {Name: "../schemas/directives.graphql", Input: `directive @isLoggedIn on FIELD_DEFINITION | INPUT_FIELD_DEFINITION -directive @isNotLoggedIn on FIELD_DEFINITION | INPUT_FIELD_DEFINITION - -directive @canEditMod(field: String!) on FIELD_DEFINITION -directive @canEditVersion(field: String!) on FIELD_DEFINITION -directive @canEditUser(field: String!, object: Boolean!) on FIELD_DEFINITION -directive @canEditGuide(field: String!) on FIELD_DEFINITION -directive @canEditModCompatibility(field: String) on FIELD_DEFINITION - -directive @canApproveMods on FIELD_DEFINITION | INPUT_FIELD_DEFINITION -directive @canApproveVersions on FIELD_DEFINITION | INPUT_FIELD_DEFINITION -directive @canEditUsers on FIELD_DEFINITION | INPUT_FIELD_DEFINITION -directive @canEditSatisfactoryVersions on FIELD_DEFINITION | INPUT_FIELD_DEFINITION -directive @canEditAnnouncements on FIELD_DEFINITION | INPUT_FIELD_DEFINITION -directive @canManageTags on FIELD_DEFINITION | INPUT_FIELD_DEFINITION -`, BuiltIn: false}, - {Name: "../schemas/guide.graphql", Input: `### Types - -scalar GuideID - -enum GuideFields { - name - created_at - updated_at - views -} - -type Guide { - id: GuideID! - name: String! - short_description: String! - guide: String! - views: Int! - user_id: UserID! - updated_at: Date! - created_at: Date! - tags: [Tag!]! - - user: User! -} - -type GetGuides { - guides: [Guide!]! - count: Int! -} - -### Inputs - -input NewGuide { - name: String! - short_description: String! - guide: String! - tagIDs: [TagID!] -} - -input UpdateGuide { - name: String - short_description: String - guide: String - tagIDs: [TagID!] -} - -input GuideFilter { - limit: Int - offset: Int - order_by: GuideFields - order: Order - search: String - ids: [String!] - tagIDs: [TagID!] -} - -### Queries - -extend type Query { - getGuide(guideId: GuideID!): Guide - getGuides(filter: GuideFilter): GetGuides! -} - -### Mutations - -extend type Mutation { - createGuide(guide: NewGuide!): Guide @isLoggedIn - updateGuide(guideId: GuideID!, guide: UpdateGuide!): Guide! @canEditGuide(field: "guideId") @isLoggedIn - deleteGuide(guideId: GuideID!): Boolean! @canEditGuide(field: "guideId") @isLoggedIn -}`, BuiltIn: false}, - {Name: "../schemas/mod.graphql", Input: `### Types - -scalar ModID -scalar ModReference - -enum ModFields { - created_at - updated_at - name - views - downloads - hotness - popularity - last_version_date - search -} - -type Mod { - id: ModID! - name: String! - short_description: String! - full_description: String - logo: String - logo_thumbhash: String - source_url: String - creator_id: UserID! - approved: Boolean! - views: Int! - downloads: Int! - hotness: Int! - popularity: Int! - updated_at: Date! - created_at: Date! - last_version_date: Date - mod_reference: ModReference! - hidden: Boolean! - tags: [Tag!] - compatibility: CompatibilityInfo - toggle_network_use: Boolean! - toggle_explicit_content: Boolean! - - authors: [UserMod!]! - version(version: String!): Version - versions(filter: VersionFilter): [Version!]! - latestVersions: LatestVersions! -} - -type GetMods { - mods: [Mod!]! - count: Int! -} - -type GetMyMods { - mods: [Mod!]! - count: Int! -} - -type ModVersion { - id: ModID! - mod_reference: ModReference! - versions: [Version!]! -} - -### Inputs - -input ModFilter { - limit: Int - offset: Int - order_by: ModFields - order: Order - search: String - ids: [String!] - references: [String!] - hidden: Boolean - tagIDs: [TagID!] -} - -input NewMod { - name: String! - short_description: String! - full_description: String - logo: Upload - source_url: String - mod_reference: ModReference! - hidden: Boolean - tagIDs: [TagID!] - toggle_network_use: Boolean - toggle_explicit_content: Boolean -} - -input UpdateMod { - name: String - short_description: String - full_description: String - logo: Upload - source_url: String - mod_reference: ModReference - authors: [UpdateUserMod!] - hidden: Boolean - tagIDs: [TagID!] - compatibility: CompatibilityInfoInput - toggle_network_use: Boolean - toggle_explicit_content: Boolean -} - -input UpdateUserMod { - user_id: UserID! - role: String! -} - -input ModVersionConstraint { - modIdOrReference: String! - version: String! -} - -### Queries - -extend type Query { - getMod(modId: ModID!): Mod - getModByReference(modReference: ModReference!): Mod - getModByIdOrReference(modIdOrReference: String!): Mod - getMods(filter: ModFilter): GetMods! - getUnapprovedMods(filter: ModFilter): GetMods! @canApproveMods @isLoggedIn - - getMyMods(filter: ModFilter): GetMyMods! @isLoggedIn - getMyUnapprovedMods(filter: ModFilter): GetMyMods! @isLoggedIn - - resolveModVersions(filter: [ModVersionConstraint!]!): [ModVersion!]! - - getModAssetList(modReference: ModID!): [String!]! -} - -### Mutations - -extend type Mutation { - createMod(mod: NewMod!): Mod @isLoggedIn - updateMod(modId: ModID!, mod: UpdateMod!): Mod! @canEditMod(field: "modId") @isLoggedIn - deleteMod(modId: ModID!): Boolean! @canEditMod(field: "modId") @isLoggedIn - - approveMod(modId: ModID!): Boolean! @canApproveMods @isLoggedIn - denyMod(modId: ModID!): Boolean! @canApproveMods @isLoggedIn -}`, BuiltIn: false}, - {Name: "../schemas/satisfactory_version.graphql", Input: `### Types - -scalar SatisfactoryVersionID - -type SatisfactoryVersion { - id: SatisfactoryVersionID! - version: Int! - engine_version: String! -} - -### Inputs - -input NewSatisfactoryVersion { - version: Int! - engine_version: String! -} - -input UpdateSatisfactoryVersion { - version: Int - engine_version: String -} - -### Queries - -extend type Query { - getSatisfactoryVersions: [SatisfactoryVersion!]! - getSatisfactoryVersion(id: SatisfactoryVersionID!): SatisfactoryVersion -} - -### Mutations - -extend type Mutation { - createSatisfactoryVersion(input: NewSatisfactoryVersion!): SatisfactoryVersion! @isLoggedIn @canEditSatisfactoryVersions - updateSatisfactoryVersion(id: SatisfactoryVersionID!, input: UpdateSatisfactoryVersion!): SatisfactoryVersion! @isLoggedIn @canEditSatisfactoryVersions - deleteSatisfactoryVersion(id: SatisfactoryVersionID!): Boolean! @isLoggedIn @canEditSatisfactoryVersions -} -`, BuiltIn: false}, - {Name: "../schemas/sml_version.graphql", Input: `### Types - -scalar SMLVersionID - -type SMLVersion { - id: SMLVersionID! - version: String! - satisfactory_version: Int! - stability: VersionStabilities! - link: String! - targets: [SMLVersionTarget]! - changelog: String! - date: Date! - bootstrap_version: String - engine_version: String! - - updated_at: Date! - created_at: Date! -} - -type SMLVersionTarget { - VersionID: SMLVersionID! - targetName: TargetName! - link: String! -} - -type GetSMLVersions { - sml_versions: [SMLVersion!]! - count: Int! -} - -enum SMLVersionFields { - name - created_at - updated_at - satisfactory_version - date -} - -### Inputs - -input SMLVersionFilter { - limit: Int - offset: Int - order_by: SMLVersionFields - order: Order - search: String - ids: [String!] -} - -### Queries - -extend type Query { - getSMLVersion(smlVersionID: SMLVersionID!): SMLVersion @deprecated(reason: "SML is now a mod") - getSMLVersions(filter: SMLVersionFilter): GetSMLVersions! @deprecated(reason: "SML is now a mod") -} - -### Mutations - -`, BuiltIn: false}, - {Name: "../schemas/tags.graphql", Input: `scalar TagID -scalar TagName - -type Tag { - id: TagID! - name: TagName! - description: String! -} - -input NewTag { - name: TagName! - description: String! -} - -input TagFilter { - limit: Int - offset: Int - order: Order - search: String - ids: [TagID!] -} - -extend type Query { - getTag(tagID: TagID!): Tag - getTags(filter: TagFilter): [Tag!]! -} - -### Mutations - -extend type Mutation { - createTag(tagName: TagName!, description: String!): Tag @canManageTags @isLoggedIn - createMultipleTags(tagNames: [NewTag!]!): [Tag!]! @canManageTags @isLoggedIn - updateTag(tagID: TagID!, NewName: TagName!, description: String!): Tag! @canManageTags @isLoggedIn - deleteTag(tagID: TagID!): Boolean! @canManageTags @isLoggedIn -}`, BuiltIn: false}, - {Name: "../schemas/user.graphql", Input: `### Types - -scalar UserID - -type UserRoles { - approveMods: Boolean! - approveVersions: Boolean! - deleteContent: Boolean! - editContent: Boolean! - editUsers: Boolean! - editSatisfactoryVersions: Boolean! - editBootstrapVersions: Boolean! - editAnyModCompatibility: Boolean! -} - -type Group { - id: String! - name: String! -} - -type User { - id: UserID! - email: String @canEditUser(field: "ID", object: true) @isLoggedIn - username: String! - avatar: String - avatar_thumbhash: String - created_at: Date! - - github_id: String @canEditUser(field: "ID", object: true) @isLoggedIn - google_id: String @canEditUser(field: "ID", object: true) @isLoggedIn - facebook_id: String @canEditUser(field: "ID", object: true) @isLoggedIn - - roles: UserRoles! @canEditUser(field: "ID", object: true) @isLoggedIn - groups: [Group!]! @canEditUser(field: "ID", object: true) @isLoggedIn - - mods: [UserMod!]! - guides: [Guide!]! -} - -type UserSession { - token: String! -} - -type UserMod { - user_id: UserID! - mod_id: ModID! - role: String! - - user: User! - mod: Mod! -} - -### Inputs - -input UpdateUser { - avatar: Upload - groups: [String!] @canEditUsers @isLoggedIn - username: String -} - -### Queries - -extend type Query { - getMe: User @isLoggedIn - getUser(userId: UserID!): User - getUsers(userIds: [UserID!]!): [User]! -} - -### Mutations - -extend type Mutation { - updateUser(userId: UserID!, input: UpdateUser!): User! @canEditUser(field: "userId", object: false) @isLoggedIn - logout: Boolean! @isLoggedIn - - oAuthGithub(code: String!, state: String!): UserSession @isNotLoggedIn - oAuthGoogle(code: String!, state: String!): UserSession @isNotLoggedIn - oAuthFacebook(code: String!, state: String!): UserSession @isNotLoggedIn -}`, BuiltIn: false}, - {Name: "../schemas/version.graphql", Input: `### Types - -scalar VersionID - -type LatestVersions { - alpha: Version - beta: Version - release: Version -} - -enum VersionFields { - created_at - updated_at - downloads -} - -enum VersionStabilities { - alpha - beta - release -} - -type Version { - id: VersionID! - mod_id: ModID! - version: String! - sml_version: String! - game_version: String! - required_on_remote: Boolean! - changelog: String! - downloads: Int! - stability: VersionStabilities! - approved: Boolean! - updated_at: Date! - created_at: Date! - link: String! - targets: [VersionTarget]! - metadata: String - size: Int - hash: String - - mod: Mod! - dependencies: [VersionDependency!]! - virustotal_results: [VirustotalResult!]! -} - -type VersionTarget { - VersionID: VersionID! - targetName: TargetName! - link: String! - size: Int - hash: String -} - -type CreateVersionResponse { - auto_approved: Boolean! - version: Version -} - -type GetVersions { - versions: [Version!]! - count: Int! -} - -type GetMyVersions { - versions: [Version!]! - count: Int! -} - -type VersionDependency { - version_id: VersionID! - mod_id: ModID! @deprecated(reason: "soon will return actual mod id instead of reference. use mod_reference field instead!") - condition: String! - optional: Boolean! - mod_reference: String! - - mod: Mod - version: Version -} - -### Inputs - -input VersionFilter { - limit: Int - offset: Int - order_by: VersionFields - order: Order - search: String - ids: [String!] -} - -input NewVersion { - changelog: String! - stability: VersionStabilities! -} - -input UpdateVersion { - changelog: String - stability: VersionStabilities -} - -### Queries - -extend type Query { - getVersion(versionId: VersionID!): Version - getVersions(filter: VersionFilter): GetVersions! - getUnapprovedVersions(filter: VersionFilter): GetVersions! @canApproveVersions @isLoggedIn - - checkVersionUploadState(modId: ModID!, versionId: VersionID!): CreateVersionResponse @canEditMod(field: "modId") @isLoggedIn - - getMyVersions(filter: VersionFilter): GetMyVersions! @isLoggedIn - getMyUnapprovedVersions(filter: VersionFilter): GetMyVersions! @isLoggedIn -} - -### Mutations - -extend type Mutation { - createVersion(modId: ModID!): VersionID! @canEditMod(field: "modId") @isLoggedIn - uploadVersionPart(modId: ModID!, versionId: VersionID!, part: Int!, file: Upload!): Boolean! @canEditMod(field: "modId") @isLoggedIn - finalizeCreateVersion(modId: ModID!, versionId: VersionID!, version: NewVersion!): Boolean! @canEditMod(field: "modId") @isLoggedIn - - updateVersion(versionId: VersionID!, version: UpdateVersion!): Version! @canEditVersion(field: "versionId") @isLoggedIn - deleteVersion(versionId: VersionID!): Boolean! @canEditVersion(field: "versionId") @isLoggedIn - - approveVersion(versionId: VersionID!): Boolean! @canApproveVersions @isLoggedIn - denyVersion(versionId: VersionID!): Boolean! @canApproveVersions @isLoggedIn -}`, BuiltIn: false}, - {Name: "../schemas/version_target.graphql", Input: `enum TargetName { - Windows, - WindowsServer, - LinuxServer -}`, BuiltIn: false}, - {Name: "../schemas/virustotal_results.graphql", Input: `### Types - -scalar VirustotalHash -scalar VirustotalID - -type VirustotalResult { - id: VirustotalID - hash: VirustotalHash! - safe: Boolean! - file_name: String! - version_id: String! - created_at: Date! - updated_at: Date -} -`, BuiltIn: false}, -} -var parsedSchema = gqlparser.MustLoadSchema(sources...) - -// endregion ************************** generated!.gotpl ************************** - -// region ***************************** args.gotpl ***************************** - -func (ec *executionContext) dir_canEditGuide_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.dir_canEditGuide_argsField(ctx, rawArgs) - if err != nil { - return nil, err - } - args["field"] = arg0 - return args, nil -} -func (ec *executionContext) dir_canEditGuide_argsField( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["field"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("field")) - if tmp, ok := rawArgs["field"]; ok { - return ec.unmarshalNString2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) dir_canEditModCompatibility_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.dir_canEditModCompatibility_argsField(ctx, rawArgs) - if err != nil { - return nil, err - } - args["field"] = arg0 - return args, nil -} -func (ec *executionContext) dir_canEditModCompatibility_argsField( - ctx context.Context, - rawArgs map[string]any, -) (*string, error) { - if _, ok := rawArgs["field"]; !ok { - var zeroVal *string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("field")) - if tmp, ok := rawArgs["field"]; ok { - return ec.unmarshalOString2ᚖstring(ctx, tmp) - } - - var zeroVal *string - return zeroVal, nil -} - -func (ec *executionContext) dir_canEditMod_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.dir_canEditMod_argsField(ctx, rawArgs) - if err != nil { - return nil, err - } - args["field"] = arg0 - return args, nil -} -func (ec *executionContext) dir_canEditMod_argsField( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["field"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("field")) - if tmp, ok := rawArgs["field"]; ok { - return ec.unmarshalNString2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) dir_canEditUser_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.dir_canEditUser_argsField(ctx, rawArgs) - if err != nil { - return nil, err - } - args["field"] = arg0 - arg1, err := ec.dir_canEditUser_argsObject(ctx, rawArgs) - if err != nil { - return nil, err - } - args["object"] = arg1 - return args, nil -} -func (ec *executionContext) dir_canEditUser_argsField( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["field"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("field")) - if tmp, ok := rawArgs["field"]; ok { - return ec.unmarshalNString2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) dir_canEditUser_argsObject( - ctx context.Context, - rawArgs map[string]any, -) (bool, error) { - if _, ok := rawArgs["object"]; !ok { - var zeroVal bool - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("object")) - if tmp, ok := rawArgs["object"]; ok { - return ec.unmarshalNBoolean2bool(ctx, tmp) - } - - var zeroVal bool - return zeroVal, nil -} - -func (ec *executionContext) dir_canEditVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.dir_canEditVersion_argsField(ctx, rawArgs) - if err != nil { - return nil, err - } - args["field"] = arg0 - return args, nil -} -func (ec *executionContext) dir_canEditVersion_argsField( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["field"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("field")) - if tmp, ok := rawArgs["field"]; ok { - return ec.unmarshalNString2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mod_version_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mod_version_argsVersion(ctx, rawArgs) - if err != nil { - return nil, err - } - args["version"] = arg0 - return args, nil -} -func (ec *executionContext) field_Mod_version_argsVersion( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["version"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("version")) - if tmp, ok := rawArgs["version"]; ok { - return ec.unmarshalNString2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mod_versions_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mod_versions_argsFilter(ctx, rawArgs) - if err != nil { - return nil, err - } - args["filter"] = arg0 - return args, nil -} -func (ec *executionContext) field_Mod_versions_argsFilter( - ctx context.Context, - rawArgs map[string]any, -) (map[string]any, error) { - if _, ok := rawArgs["filter"]; !ok { - var zeroVal map[string]any - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) - if tmp, ok := rawArgs["filter"]; ok { - return ec.unmarshalOVersionFilter2map(ctx, tmp) - } - - var zeroVal map[string]any - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_approveMod_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_approveMod_argsModID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["modId"] = arg0 - return args, nil -} -func (ec *executionContext) field_Mutation_approveMod_argsModID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["modId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) - if tmp, ok := rawArgs["modId"]; ok { - return ec.unmarshalNModID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_approveVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_approveVersion_argsVersionID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["versionId"] = arg0 - return args, nil -} -func (ec *executionContext) field_Mutation_approveVersion_argsVersionID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["versionId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) - if tmp, ok := rawArgs["versionId"]; ok { - return ec.unmarshalNVersionID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_createAnnouncement_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_createAnnouncement_argsAnnouncement(ctx, rawArgs) - if err != nil { - return nil, err - } - args["announcement"] = arg0 - return args, nil -} -func (ec *executionContext) field_Mutation_createAnnouncement_argsAnnouncement( - ctx context.Context, - rawArgs map[string]any, -) (NewAnnouncement, error) { - if _, ok := rawArgs["announcement"]; !ok { - var zeroVal NewAnnouncement - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("announcement")) - if tmp, ok := rawArgs["announcement"]; ok { - return ec.unmarshalNNewAnnouncement2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewAnnouncement(ctx, tmp) - } - - var zeroVal NewAnnouncement - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_createGuide_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_createGuide_argsGuide(ctx, rawArgs) - if err != nil { - return nil, err - } - args["guide"] = arg0 - return args, nil -} -func (ec *executionContext) field_Mutation_createGuide_argsGuide( - ctx context.Context, - rawArgs map[string]any, -) (NewGuide, error) { - if _, ok := rawArgs["guide"]; !ok { - var zeroVal NewGuide - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("guide")) - if tmp, ok := rawArgs["guide"]; ok { - return ec.unmarshalNNewGuide2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewGuide(ctx, tmp) - } - - var zeroVal NewGuide - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_createMod_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_createMod_argsMod(ctx, rawArgs) - if err != nil { - return nil, err - } - args["mod"] = arg0 - return args, nil -} -func (ec *executionContext) field_Mutation_createMod_argsMod( - ctx context.Context, - rawArgs map[string]any, -) (NewMod, error) { - if _, ok := rawArgs["mod"]; !ok { - var zeroVal NewMod - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("mod")) - if tmp, ok := rawArgs["mod"]; ok { - return ec.unmarshalNNewMod2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewMod(ctx, tmp) - } - - var zeroVal NewMod - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_createMultipleTags_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_createMultipleTags_argsTagNames(ctx, rawArgs) - if err != nil { - return nil, err - } - args["tagNames"] = arg0 - return args, nil -} -func (ec *executionContext) field_Mutation_createMultipleTags_argsTagNames( - ctx context.Context, - rawArgs map[string]any, -) ([]*NewTag, error) { - if _, ok := rawArgs["tagNames"]; !ok { - var zeroVal []*NewTag - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("tagNames")) - if tmp, ok := rawArgs["tagNames"]; ok { - return ec.unmarshalNNewTag2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewTagᚄ(ctx, tmp) - } - - var zeroVal []*NewTag - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_createSatisfactoryVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_createSatisfactoryVersion_argsInput(ctx, rawArgs) - if err != nil { - return nil, err - } - args["input"] = arg0 - return args, nil -} -func (ec *executionContext) field_Mutation_createSatisfactoryVersion_argsInput( - ctx context.Context, - rawArgs map[string]any, -) (NewSatisfactoryVersion, error) { - if _, ok := rawArgs["input"]; !ok { - var zeroVal NewSatisfactoryVersion - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("input")) - if tmp, ok := rawArgs["input"]; ok { - return ec.unmarshalNNewSatisfactoryVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewSatisfactoryVersion(ctx, tmp) - } - - var zeroVal NewSatisfactoryVersion - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_createTag_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_createTag_argsTagName(ctx, rawArgs) - if err != nil { - return nil, err - } - args["tagName"] = arg0 - arg1, err := ec.field_Mutation_createTag_argsDescription(ctx, rawArgs) - if err != nil { - return nil, err - } - args["description"] = arg1 - return args, nil -} -func (ec *executionContext) field_Mutation_createTag_argsTagName( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["tagName"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("tagName")) - if tmp, ok := rawArgs["tagName"]; ok { - return ec.unmarshalNTagName2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_createTag_argsDescription( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["description"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("description")) - if tmp, ok := rawArgs["description"]; ok { - return ec.unmarshalNString2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_createVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_createVersion_argsModID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["modId"] = arg0 - return args, nil -} -func (ec *executionContext) field_Mutation_createVersion_argsModID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["modId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) - if tmp, ok := rawArgs["modId"]; ok { - return ec.unmarshalNModID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_deleteAnnouncement_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_deleteAnnouncement_argsAnnouncementID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["announcementId"] = arg0 - return args, nil -} -func (ec *executionContext) field_Mutation_deleteAnnouncement_argsAnnouncementID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["announcementId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("announcementId")) - if tmp, ok := rawArgs["announcementId"]; ok { - return ec.unmarshalNAnnouncementID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_deleteGuide_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_deleteGuide_argsGuideID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["guideId"] = arg0 - return args, nil -} -func (ec *executionContext) field_Mutation_deleteGuide_argsGuideID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["guideId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("guideId")) - if tmp, ok := rawArgs["guideId"]; ok { - return ec.unmarshalNGuideID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_deleteMod_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_deleteMod_argsModID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["modId"] = arg0 - return args, nil -} -func (ec *executionContext) field_Mutation_deleteMod_argsModID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["modId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) - if tmp, ok := rawArgs["modId"]; ok { - return ec.unmarshalNModID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_deleteSatisfactoryVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_deleteSatisfactoryVersion_argsID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["id"] = arg0 - return args, nil -} -func (ec *executionContext) field_Mutation_deleteSatisfactoryVersion_argsID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["id"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("id")) - if tmp, ok := rawArgs["id"]; ok { - return ec.unmarshalNSatisfactoryVersionID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_deleteTag_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_deleteTag_argsTagID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["tagID"] = arg0 - return args, nil -} -func (ec *executionContext) field_Mutation_deleteTag_argsTagID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["tagID"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("tagID")) - if tmp, ok := rawArgs["tagID"]; ok { - return ec.unmarshalNTagID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_deleteVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_deleteVersion_argsVersionID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["versionId"] = arg0 - return args, nil -} -func (ec *executionContext) field_Mutation_deleteVersion_argsVersionID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["versionId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) - if tmp, ok := rawArgs["versionId"]; ok { - return ec.unmarshalNVersionID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_denyMod_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_denyMod_argsModID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["modId"] = arg0 - return args, nil -} -func (ec *executionContext) field_Mutation_denyMod_argsModID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["modId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) - if tmp, ok := rawArgs["modId"]; ok { - return ec.unmarshalNModID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_denyVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_denyVersion_argsVersionID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["versionId"] = arg0 - return args, nil -} -func (ec *executionContext) field_Mutation_denyVersion_argsVersionID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["versionId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) - if tmp, ok := rawArgs["versionId"]; ok { - return ec.unmarshalNVersionID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_discourseSSO_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_discourseSSO_argsSso(ctx, rawArgs) - if err != nil { - return nil, err - } - args["sso"] = arg0 - arg1, err := ec.field_Mutation_discourseSSO_argsSig(ctx, rawArgs) - if err != nil { - return nil, err - } - args["sig"] = arg1 - return args, nil -} -func (ec *executionContext) field_Mutation_discourseSSO_argsSso( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["sso"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("sso")) - if tmp, ok := rawArgs["sso"]; ok { - return ec.unmarshalNString2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_discourseSSO_argsSig( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["sig"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("sig")) - if tmp, ok := rawArgs["sig"]; ok { - return ec.unmarshalNString2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_finalizeCreateVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_finalizeCreateVersion_argsModID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["modId"] = arg0 - arg1, err := ec.field_Mutation_finalizeCreateVersion_argsVersionID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["versionId"] = arg1 - arg2, err := ec.field_Mutation_finalizeCreateVersion_argsVersion(ctx, rawArgs) - if err != nil { - return nil, err - } - args["version"] = arg2 - return args, nil -} -func (ec *executionContext) field_Mutation_finalizeCreateVersion_argsModID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["modId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) - if tmp, ok := rawArgs["modId"]; ok { - return ec.unmarshalNModID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_finalizeCreateVersion_argsVersionID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["versionId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) - if tmp, ok := rawArgs["versionId"]; ok { - return ec.unmarshalNVersionID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_finalizeCreateVersion_argsVersion( - ctx context.Context, - rawArgs map[string]any, -) (NewVersion, error) { - if _, ok := rawArgs["version"]; !ok { - var zeroVal NewVersion - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("version")) - if tmp, ok := rawArgs["version"]; ok { - return ec.unmarshalNNewVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewVersion(ctx, tmp) - } - - var zeroVal NewVersion - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_oAuthFacebook_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_oAuthFacebook_argsCode(ctx, rawArgs) - if err != nil { - return nil, err - } - args["code"] = arg0 - arg1, err := ec.field_Mutation_oAuthFacebook_argsState(ctx, rawArgs) - if err != nil { - return nil, err - } - args["state"] = arg1 - return args, nil -} -func (ec *executionContext) field_Mutation_oAuthFacebook_argsCode( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["code"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("code")) - if tmp, ok := rawArgs["code"]; ok { - return ec.unmarshalNString2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_oAuthFacebook_argsState( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["state"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("state")) - if tmp, ok := rawArgs["state"]; ok { - return ec.unmarshalNString2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_oAuthGithub_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_oAuthGithub_argsCode(ctx, rawArgs) - if err != nil { - return nil, err - } - args["code"] = arg0 - arg1, err := ec.field_Mutation_oAuthGithub_argsState(ctx, rawArgs) - if err != nil { - return nil, err - } - args["state"] = arg1 - return args, nil -} -func (ec *executionContext) field_Mutation_oAuthGithub_argsCode( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["code"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("code")) - if tmp, ok := rawArgs["code"]; ok { - return ec.unmarshalNString2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_oAuthGithub_argsState( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["state"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("state")) - if tmp, ok := rawArgs["state"]; ok { - return ec.unmarshalNString2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_oAuthGoogle_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_oAuthGoogle_argsCode(ctx, rawArgs) - if err != nil { - return nil, err - } - args["code"] = arg0 - arg1, err := ec.field_Mutation_oAuthGoogle_argsState(ctx, rawArgs) - if err != nil { - return nil, err - } - args["state"] = arg1 - return args, nil -} -func (ec *executionContext) field_Mutation_oAuthGoogle_argsCode( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["code"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("code")) - if tmp, ok := rawArgs["code"]; ok { - return ec.unmarshalNString2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_oAuthGoogle_argsState( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["state"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("state")) - if tmp, ok := rawArgs["state"]; ok { - return ec.unmarshalNString2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_updateAnnouncement_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_updateAnnouncement_argsAnnouncementID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["announcementId"] = arg0 - arg1, err := ec.field_Mutation_updateAnnouncement_argsAnnouncement(ctx, rawArgs) - if err != nil { - return nil, err - } - args["announcement"] = arg1 - return args, nil -} -func (ec *executionContext) field_Mutation_updateAnnouncement_argsAnnouncementID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["announcementId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("announcementId")) - if tmp, ok := rawArgs["announcementId"]; ok { - return ec.unmarshalNAnnouncementID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_updateAnnouncement_argsAnnouncement( - ctx context.Context, - rawArgs map[string]any, -) (UpdateAnnouncement, error) { - if _, ok := rawArgs["announcement"]; !ok { - var zeroVal UpdateAnnouncement - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("announcement")) - if tmp, ok := rawArgs["announcement"]; ok { - return ec.unmarshalNUpdateAnnouncement2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateAnnouncement(ctx, tmp) - } - - var zeroVal UpdateAnnouncement - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_updateGuide_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_updateGuide_argsGuideID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["guideId"] = arg0 - arg1, err := ec.field_Mutation_updateGuide_argsGuide(ctx, rawArgs) - if err != nil { - return nil, err - } - args["guide"] = arg1 - return args, nil -} -func (ec *executionContext) field_Mutation_updateGuide_argsGuideID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["guideId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("guideId")) - if tmp, ok := rawArgs["guideId"]; ok { - return ec.unmarshalNGuideID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_updateGuide_argsGuide( - ctx context.Context, - rawArgs map[string]any, -) (UpdateGuide, error) { - if _, ok := rawArgs["guide"]; !ok { - var zeroVal UpdateGuide - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("guide")) - if tmp, ok := rawArgs["guide"]; ok { - return ec.unmarshalNUpdateGuide2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateGuide(ctx, tmp) - } - - var zeroVal UpdateGuide - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_updateModCompatibility_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_updateModCompatibility_argsModID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["modId"] = arg0 - arg1, err := ec.field_Mutation_updateModCompatibility_argsCompatibility(ctx, rawArgs) - if err != nil { - return nil, err - } - args["compatibility"] = arg1 - return args, nil -} -func (ec *executionContext) field_Mutation_updateModCompatibility_argsModID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["modId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) - if tmp, ok := rawArgs["modId"]; ok { - return ec.unmarshalNModID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_updateModCompatibility_argsCompatibility( - ctx context.Context, - rawArgs map[string]any, -) (CompatibilityInfoInput, error) { - if _, ok := rawArgs["compatibility"]; !ok { - var zeroVal CompatibilityInfoInput - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("compatibility")) - if tmp, ok := rawArgs["compatibility"]; ok { - return ec.unmarshalNCompatibilityInfoInput2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInfoInput(ctx, tmp) - } - - var zeroVal CompatibilityInfoInput - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_updateMod_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_updateMod_argsModID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["modId"] = arg0 - arg1, err := ec.field_Mutation_updateMod_argsMod(ctx, rawArgs) - if err != nil { - return nil, err - } - args["mod"] = arg1 - return args, nil -} -func (ec *executionContext) field_Mutation_updateMod_argsModID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["modId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) - if tmp, ok := rawArgs["modId"]; ok { - return ec.unmarshalNModID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_updateMod_argsMod( - ctx context.Context, - rawArgs map[string]any, -) (UpdateMod, error) { - if _, ok := rawArgs["mod"]; !ok { - var zeroVal UpdateMod - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("mod")) - if tmp, ok := rawArgs["mod"]; ok { - return ec.unmarshalNUpdateMod2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateMod(ctx, tmp) - } - - var zeroVal UpdateMod - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_updateMultipleModCompatibilities_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_updateMultipleModCompatibilities_argsModIDs(ctx, rawArgs) - if err != nil { - return nil, err - } - args["modIDs"] = arg0 - arg1, err := ec.field_Mutation_updateMultipleModCompatibilities_argsCompatibility(ctx, rawArgs) - if err != nil { - return nil, err - } - args["compatibility"] = arg1 - return args, nil -} -func (ec *executionContext) field_Mutation_updateMultipleModCompatibilities_argsModIDs( - ctx context.Context, - rawArgs map[string]any, -) ([]string, error) { - if _, ok := rawArgs["modIDs"]; !ok { - var zeroVal []string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modIDs")) - if tmp, ok := rawArgs["modIDs"]; ok { - return ec.unmarshalNModID2ᚕstringᚄ(ctx, tmp) - } - - var zeroVal []string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_updateMultipleModCompatibilities_argsCompatibility( - ctx context.Context, - rawArgs map[string]any, -) (CompatibilityInfoInput, error) { - if _, ok := rawArgs["compatibility"]; !ok { - var zeroVal CompatibilityInfoInput - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("compatibility")) - if tmp, ok := rawArgs["compatibility"]; ok { - return ec.unmarshalNCompatibilityInfoInput2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInfoInput(ctx, tmp) - } - - var zeroVal CompatibilityInfoInput - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_updateSatisfactoryVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_updateSatisfactoryVersion_argsID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["id"] = arg0 - arg1, err := ec.field_Mutation_updateSatisfactoryVersion_argsInput(ctx, rawArgs) - if err != nil { - return nil, err - } - args["input"] = arg1 - return args, nil -} -func (ec *executionContext) field_Mutation_updateSatisfactoryVersion_argsID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["id"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("id")) - if tmp, ok := rawArgs["id"]; ok { - return ec.unmarshalNSatisfactoryVersionID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_updateSatisfactoryVersion_argsInput( - ctx context.Context, - rawArgs map[string]any, -) (UpdateSatisfactoryVersion, error) { - if _, ok := rawArgs["input"]; !ok { - var zeroVal UpdateSatisfactoryVersion - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("input")) - if tmp, ok := rawArgs["input"]; ok { - return ec.unmarshalNUpdateSatisfactoryVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateSatisfactoryVersion(ctx, tmp) - } - - var zeroVal UpdateSatisfactoryVersion - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_updateTag_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_updateTag_argsTagID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["tagID"] = arg0 - arg1, err := ec.field_Mutation_updateTag_argsNewName(ctx, rawArgs) - if err != nil { - return nil, err - } - args["NewName"] = arg1 - arg2, err := ec.field_Mutation_updateTag_argsDescription(ctx, rawArgs) - if err != nil { - return nil, err - } - args["description"] = arg2 - return args, nil -} -func (ec *executionContext) field_Mutation_updateTag_argsTagID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["tagID"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("tagID")) - if tmp, ok := rawArgs["tagID"]; ok { - return ec.unmarshalNTagID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_updateTag_argsNewName( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["NewName"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("NewName")) - if tmp, ok := rawArgs["NewName"]; ok { - return ec.unmarshalNTagName2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_updateTag_argsDescription( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["description"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("description")) - if tmp, ok := rawArgs["description"]; ok { - return ec.unmarshalNString2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_updateUser_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_updateUser_argsUserID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["userId"] = arg0 - arg1, err := ec.field_Mutation_updateUser_argsInput(ctx, rawArgs) - if err != nil { - return nil, err - } - args["input"] = arg1 - return args, nil -} -func (ec *executionContext) field_Mutation_updateUser_argsUserID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["userId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("userId")) - if tmp, ok := rawArgs["userId"]; ok { - return ec.unmarshalNUserID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_updateUser_argsInput( - ctx context.Context, - rawArgs map[string]any, -) (UpdateUser, error) { - if _, ok := rawArgs["input"]; !ok { - var zeroVal UpdateUser - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("input")) - if tmp, ok := rawArgs["input"]; ok { - return ec.unmarshalNUpdateUser2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateUser(ctx, tmp) - } - - var zeroVal UpdateUser - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_updateVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_updateVersion_argsVersionID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["versionId"] = arg0 - arg1, err := ec.field_Mutation_updateVersion_argsVersion(ctx, rawArgs) - if err != nil { - return nil, err - } - args["version"] = arg1 - return args, nil -} -func (ec *executionContext) field_Mutation_updateVersion_argsVersionID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["versionId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) - if tmp, ok := rawArgs["versionId"]; ok { - return ec.unmarshalNVersionID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_updateVersion_argsVersion( - ctx context.Context, - rawArgs map[string]any, -) (UpdateVersion, error) { - if _, ok := rawArgs["version"]; !ok { - var zeroVal UpdateVersion - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("version")) - if tmp, ok := rawArgs["version"]; ok { - return ec.unmarshalNUpdateVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateVersion(ctx, tmp) - } - - var zeroVal UpdateVersion - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_uploadVersionPart_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_uploadVersionPart_argsModID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["modId"] = arg0 - arg1, err := ec.field_Mutation_uploadVersionPart_argsVersionID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["versionId"] = arg1 - arg2, err := ec.field_Mutation_uploadVersionPart_argsPart(ctx, rawArgs) - if err != nil { - return nil, err - } - args["part"] = arg2 - arg3, err := ec.field_Mutation_uploadVersionPart_argsFile(ctx, rawArgs) - if err != nil { - return nil, err - } - args["file"] = arg3 - return args, nil -} -func (ec *executionContext) field_Mutation_uploadVersionPart_argsModID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["modId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) - if tmp, ok := rawArgs["modId"]; ok { - return ec.unmarshalNModID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_uploadVersionPart_argsVersionID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["versionId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) - if tmp, ok := rawArgs["versionId"]; ok { - return ec.unmarshalNVersionID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_uploadVersionPart_argsPart( - ctx context.Context, - rawArgs map[string]any, -) (int, error) { - if _, ok := rawArgs["part"]; !ok { - var zeroVal int - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("part")) - if tmp, ok := rawArgs["part"]; ok { - return ec.unmarshalNInt2int(ctx, tmp) - } - - var zeroVal int - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_uploadVersionPart_argsFile( - ctx context.Context, - rawArgs map[string]any, -) (graphql.Upload, error) { - if _, ok := rawArgs["file"]; !ok { - var zeroVal graphql.Upload - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("file")) - if tmp, ok := rawArgs["file"]; ok { - return ec.unmarshalNUpload2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚐUpload(ctx, tmp) - } - - var zeroVal graphql.Upload - return zeroVal, nil -} - -func (ec *executionContext) field_Query___type_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query___type_argsName(ctx, rawArgs) - if err != nil { - return nil, err - } - args["name"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query___type_argsName( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["name"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("name")) - if tmp, ok := rawArgs["name"]; ok { - return ec.unmarshalNString2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Query_checkVersionUploadState_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_checkVersionUploadState_argsModID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["modId"] = arg0 - arg1, err := ec.field_Query_checkVersionUploadState_argsVersionID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["versionId"] = arg1 - return args, nil -} -func (ec *executionContext) field_Query_checkVersionUploadState_argsModID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["modId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) - if tmp, ok := rawArgs["modId"]; ok { - return ec.unmarshalNModID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Query_checkVersionUploadState_argsVersionID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["versionId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) - if tmp, ok := rawArgs["versionId"]; ok { - return ec.unmarshalNVersionID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getAnnouncement_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getAnnouncement_argsAnnouncementID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["announcementId"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getAnnouncement_argsAnnouncementID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["announcementId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("announcementId")) - if tmp, ok := rawArgs["announcementId"]; ok { - return ec.unmarshalNAnnouncementID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getAnnouncementsByImportance_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getAnnouncementsByImportance_argsImportance(ctx, rawArgs) - if err != nil { - return nil, err - } - args["importance"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getAnnouncementsByImportance_argsImportance( - ctx context.Context, - rawArgs map[string]any, -) (AnnouncementImportance, error) { - if _, ok := rawArgs["importance"]; !ok { - var zeroVal AnnouncementImportance - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("importance")) - if tmp, ok := rawArgs["importance"]; ok { - return ec.unmarshalNAnnouncementImportance2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementImportance(ctx, tmp) - } - - var zeroVal AnnouncementImportance - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getGuide_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getGuide_argsGuideID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["guideId"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getGuide_argsGuideID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["guideId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("guideId")) - if tmp, ok := rawArgs["guideId"]; ok { - return ec.unmarshalNGuideID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getGuides_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getGuides_argsFilter(ctx, rawArgs) - if err != nil { - return nil, err - } - args["filter"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getGuides_argsFilter( - ctx context.Context, - rawArgs map[string]any, -) (map[string]any, error) { - if _, ok := rawArgs["filter"]; !ok { - var zeroVal map[string]any - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) - if tmp, ok := rawArgs["filter"]; ok { - return ec.unmarshalOGuideFilter2map(ctx, tmp) - } - - var zeroVal map[string]any - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getModAssetList_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getModAssetList_argsModReference(ctx, rawArgs) - if err != nil { - return nil, err - } - args["modReference"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getModAssetList_argsModReference( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["modReference"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modReference")) - if tmp, ok := rawArgs["modReference"]; ok { - return ec.unmarshalNModID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getModByIdOrReference_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getModByIdOrReference_argsModIDOrReference(ctx, rawArgs) - if err != nil { - return nil, err - } - args["modIdOrReference"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getModByIdOrReference_argsModIDOrReference( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["modIdOrReference"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modIdOrReference")) - if tmp, ok := rawArgs["modIdOrReference"]; ok { - return ec.unmarshalNString2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getModByReference_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getModByReference_argsModReference(ctx, rawArgs) - if err != nil { - return nil, err - } - args["modReference"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getModByReference_argsModReference( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["modReference"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modReference")) - if tmp, ok := rawArgs["modReference"]; ok { - return ec.unmarshalNModReference2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getMod_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getMod_argsModID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["modId"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getMod_argsModID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["modId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) - if tmp, ok := rawArgs["modId"]; ok { - return ec.unmarshalNModID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getMods_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getMods_argsFilter(ctx, rawArgs) - if err != nil { - return nil, err - } - args["filter"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getMods_argsFilter( - ctx context.Context, - rawArgs map[string]any, -) (map[string]any, error) { - if _, ok := rawArgs["filter"]; !ok { - var zeroVal map[string]any - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) - if tmp, ok := rawArgs["filter"]; ok { - return ec.unmarshalOModFilter2map(ctx, tmp) - } - - var zeroVal map[string]any - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getMyMods_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getMyMods_argsFilter(ctx, rawArgs) - if err != nil { - return nil, err - } - args["filter"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getMyMods_argsFilter( - ctx context.Context, - rawArgs map[string]any, -) (map[string]any, error) { - if _, ok := rawArgs["filter"]; !ok { - var zeroVal map[string]any - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) - if tmp, ok := rawArgs["filter"]; ok { - return ec.unmarshalOModFilter2map(ctx, tmp) - } - - var zeroVal map[string]any - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getMyUnapprovedMods_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getMyUnapprovedMods_argsFilter(ctx, rawArgs) - if err != nil { - return nil, err - } - args["filter"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getMyUnapprovedMods_argsFilter( - ctx context.Context, - rawArgs map[string]any, -) (map[string]any, error) { - if _, ok := rawArgs["filter"]; !ok { - var zeroVal map[string]any - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) - if tmp, ok := rawArgs["filter"]; ok { - return ec.unmarshalOModFilter2map(ctx, tmp) - } - - var zeroVal map[string]any - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getMyUnapprovedVersions_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getMyUnapprovedVersions_argsFilter(ctx, rawArgs) - if err != nil { - return nil, err - } - args["filter"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getMyUnapprovedVersions_argsFilter( - ctx context.Context, - rawArgs map[string]any, -) (map[string]any, error) { - if _, ok := rawArgs["filter"]; !ok { - var zeroVal map[string]any - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) - if tmp, ok := rawArgs["filter"]; ok { - return ec.unmarshalOVersionFilter2map(ctx, tmp) - } - - var zeroVal map[string]any - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getMyVersions_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getMyVersions_argsFilter(ctx, rawArgs) - if err != nil { - return nil, err - } - args["filter"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getMyVersions_argsFilter( - ctx context.Context, - rawArgs map[string]any, -) (map[string]any, error) { - if _, ok := rawArgs["filter"]; !ok { - var zeroVal map[string]any - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) - if tmp, ok := rawArgs["filter"]; ok { - return ec.unmarshalOVersionFilter2map(ctx, tmp) - } - - var zeroVal map[string]any - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getOAuthOptions_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getOAuthOptions_argsCallbackURL(ctx, rawArgs) - if err != nil { - return nil, err - } - args["callback_url"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getOAuthOptions_argsCallbackURL( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["callback_url"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("callback_url")) - if tmp, ok := rawArgs["callback_url"]; ok { - return ec.unmarshalNString2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getSMLVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getSMLVersion_argsSmlVersionID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["smlVersionID"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getSMLVersion_argsSmlVersionID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["smlVersionID"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("smlVersionID")) - if tmp, ok := rawArgs["smlVersionID"]; ok { - return ec.unmarshalNSMLVersionID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getSMLVersions_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getSMLVersions_argsFilter(ctx, rawArgs) - if err != nil { - return nil, err - } - args["filter"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getSMLVersions_argsFilter( - ctx context.Context, - rawArgs map[string]any, -) (map[string]any, error) { - if _, ok := rawArgs["filter"]; !ok { - var zeroVal map[string]any - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) - if tmp, ok := rawArgs["filter"]; ok { - return ec.unmarshalOSMLVersionFilter2map(ctx, tmp) - } - - var zeroVal map[string]any - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getSatisfactoryVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getSatisfactoryVersion_argsID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["id"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getSatisfactoryVersion_argsID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["id"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("id")) - if tmp, ok := rawArgs["id"]; ok { - return ec.unmarshalNSatisfactoryVersionID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getTag_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getTag_argsTagID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["tagID"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getTag_argsTagID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["tagID"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("tagID")) - if tmp, ok := rawArgs["tagID"]; ok { - return ec.unmarshalNTagID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getTags_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getTags_argsFilter(ctx, rawArgs) - if err != nil { - return nil, err - } - args["filter"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getTags_argsFilter( - ctx context.Context, - rawArgs map[string]any, -) (*TagFilter, error) { - if _, ok := rawArgs["filter"]; !ok { - var zeroVal *TagFilter - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) - if tmp, ok := rawArgs["filter"]; ok { - return ec.unmarshalOTagFilter2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTagFilter(ctx, tmp) - } - - var zeroVal *TagFilter - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getUnapprovedMods_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getUnapprovedMods_argsFilter(ctx, rawArgs) - if err != nil { - return nil, err - } - args["filter"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getUnapprovedMods_argsFilter( - ctx context.Context, - rawArgs map[string]any, -) (map[string]any, error) { - if _, ok := rawArgs["filter"]; !ok { - var zeroVal map[string]any - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) - if tmp, ok := rawArgs["filter"]; ok { - return ec.unmarshalOModFilter2map(ctx, tmp) - } - - var zeroVal map[string]any - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getUnapprovedVersions_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getUnapprovedVersions_argsFilter(ctx, rawArgs) - if err != nil { - return nil, err - } - args["filter"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getUnapprovedVersions_argsFilter( - ctx context.Context, - rawArgs map[string]any, -) (map[string]any, error) { - if _, ok := rawArgs["filter"]; !ok { - var zeroVal map[string]any - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) - if tmp, ok := rawArgs["filter"]; ok { - return ec.unmarshalOVersionFilter2map(ctx, tmp) - } - - var zeroVal map[string]any - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getUser_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getUser_argsUserID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["userId"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getUser_argsUserID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["userId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("userId")) - if tmp, ok := rawArgs["userId"]; ok { - return ec.unmarshalNUserID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getUsers_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getUsers_argsUserIds(ctx, rawArgs) - if err != nil { - return nil, err - } - args["userIds"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getUsers_argsUserIds( - ctx context.Context, - rawArgs map[string]any, -) ([]string, error) { - if _, ok := rawArgs["userIds"]; !ok { - var zeroVal []string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("userIds")) - if tmp, ok := rawArgs["userIds"]; ok { - return ec.unmarshalNUserID2ᚕstringᚄ(ctx, tmp) - } - - var zeroVal []string - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getVersion_argsVersionID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["versionId"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getVersion_argsVersionID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["versionId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) - if tmp, ok := rawArgs["versionId"]; ok { - return ec.unmarshalNVersionID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getVersions_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getVersions_argsFilter(ctx, rawArgs) - if err != nil { - return nil, err - } - args["filter"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getVersions_argsFilter( - ctx context.Context, - rawArgs map[string]any, -) (map[string]any, error) { - if _, ok := rawArgs["filter"]; !ok { - var zeroVal map[string]any - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) - if tmp, ok := rawArgs["filter"]; ok { - return ec.unmarshalOVersionFilter2map(ctx, tmp) - } - - var zeroVal map[string]any - return zeroVal, nil -} - -func (ec *executionContext) field_Query_resolveModVersions_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_resolveModVersions_argsFilter(ctx, rawArgs) - if err != nil { - return nil, err - } - args["filter"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_resolveModVersions_argsFilter( - ctx context.Context, - rawArgs map[string]any, -) ([]*ModVersionConstraint, error) { - if _, ok := rawArgs["filter"]; !ok { - var zeroVal []*ModVersionConstraint - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) - if tmp, ok := rawArgs["filter"]; ok { - return ec.unmarshalNModVersionConstraint2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModVersionConstraintᚄ(ctx, tmp) - } - - var zeroVal []*ModVersionConstraint - return zeroVal, nil -} - -func (ec *executionContext) field___Directive_args_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field___Directive_args_argsIncludeDeprecated(ctx, rawArgs) - if err != nil { - return nil, err - } - args["includeDeprecated"] = arg0 - return args, nil -} -func (ec *executionContext) field___Directive_args_argsIncludeDeprecated( - ctx context.Context, - rawArgs map[string]any, -) (*bool, error) { - if _, ok := rawArgs["includeDeprecated"]; !ok { - var zeroVal *bool - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("includeDeprecated")) - if tmp, ok := rawArgs["includeDeprecated"]; ok { - return ec.unmarshalOBoolean2ᚖbool(ctx, tmp) - } - - var zeroVal *bool - return zeroVal, nil -} - -func (ec *executionContext) field___Field_args_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field___Field_args_argsIncludeDeprecated(ctx, rawArgs) - if err != nil { - return nil, err - } - args["includeDeprecated"] = arg0 - return args, nil -} -func (ec *executionContext) field___Field_args_argsIncludeDeprecated( - ctx context.Context, - rawArgs map[string]any, -) (*bool, error) { - if _, ok := rawArgs["includeDeprecated"]; !ok { - var zeroVal *bool - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("includeDeprecated")) - if tmp, ok := rawArgs["includeDeprecated"]; ok { - return ec.unmarshalOBoolean2ᚖbool(ctx, tmp) - } - - var zeroVal *bool - return zeroVal, nil -} - -func (ec *executionContext) field___Type_enumValues_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field___Type_enumValues_argsIncludeDeprecated(ctx, rawArgs) - if err != nil { - return nil, err - } - args["includeDeprecated"] = arg0 - return args, nil -} -func (ec *executionContext) field___Type_enumValues_argsIncludeDeprecated( - ctx context.Context, - rawArgs map[string]any, -) (bool, error) { - if _, ok := rawArgs["includeDeprecated"]; !ok { - var zeroVal bool - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("includeDeprecated")) - if tmp, ok := rawArgs["includeDeprecated"]; ok { - return ec.unmarshalOBoolean2bool(ctx, tmp) - } - - var zeroVal bool - return zeroVal, nil -} - -func (ec *executionContext) field___Type_fields_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field___Type_fields_argsIncludeDeprecated(ctx, rawArgs) - if err != nil { - return nil, err - } - args["includeDeprecated"] = arg0 - return args, nil -} -func (ec *executionContext) field___Type_fields_argsIncludeDeprecated( - ctx context.Context, - rawArgs map[string]any, -) (bool, error) { - if _, ok := rawArgs["includeDeprecated"]; !ok { - var zeroVal bool - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("includeDeprecated")) - if tmp, ok := rawArgs["includeDeprecated"]; ok { - return ec.unmarshalOBoolean2bool(ctx, tmp) - } - - var zeroVal bool - return zeroVal, nil -} - -// endregion ***************************** args.gotpl ***************************** - -// region ************************** directives.gotpl ************************** - -// endregion ************************** directives.gotpl ************************** - -// region **************************** field.gotpl ***************************** - -func (ec *executionContext) _Announcement_id(ctx context.Context, field graphql.CollectedField, obj *Announcement) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Announcement_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNAnnouncementID2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Announcement_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Announcement", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type AnnouncementID does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Announcement_message(ctx context.Context, field graphql.CollectedField, obj *Announcement) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Announcement_message(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Message, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Announcement_message(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Announcement", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Announcement_importance(ctx context.Context, field graphql.CollectedField, obj *Announcement) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Announcement_importance(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Importance, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(AnnouncementImportance) - fc.Result = res - return ec.marshalNAnnouncementImportance2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementImportance(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Announcement_importance(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Announcement", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type AnnouncementImportance does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Compatibility_state(ctx context.Context, field graphql.CollectedField, obj *Compatibility) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Compatibility_state(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.State, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(CompatibilityState) - fc.Result = res - return ec.marshalNCompatibilityState2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityState(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Compatibility_state(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Compatibility", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type CompatibilityState does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Compatibility_note(ctx context.Context, field graphql.CollectedField, obj *Compatibility) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Compatibility_note(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Note, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Compatibility_note(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Compatibility", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _CompatibilityInfo_EA(ctx context.Context, field graphql.CollectedField, obj *CompatibilityInfo) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_CompatibilityInfo_EA(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Ea, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*Compatibility) - fc.Result = res - return ec.marshalNCompatibility2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibility(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_CompatibilityInfo_EA(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "CompatibilityInfo", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "state": - return ec.fieldContext_Compatibility_state(ctx, field) - case "note": - return ec.fieldContext_Compatibility_note(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Compatibility", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _CompatibilityInfo_EXP(ctx context.Context, field graphql.CollectedField, obj *CompatibilityInfo) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_CompatibilityInfo_EXP(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Exp, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*Compatibility) - fc.Result = res - return ec.marshalNCompatibility2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibility(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_CompatibilityInfo_EXP(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "CompatibilityInfo", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "state": - return ec.fieldContext_Compatibility_state(ctx, field) - case "note": - return ec.fieldContext_Compatibility_note(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Compatibility", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _CreateVersionResponse_auto_approved(ctx context.Context, field graphql.CollectedField, obj *CreateVersionResponse) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_CreateVersionResponse_auto_approved(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.AutoApproved, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_CreateVersionResponse_auto_approved(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "CreateVersionResponse", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _CreateVersionResponse_version(ctx context.Context, field graphql.CollectedField, obj *CreateVersionResponse) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_CreateVersionResponse_version(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Version, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Version) - fc.Result = res - return ec.marshalOVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_CreateVersionResponse_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "CreateVersionResponse", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Version_id(ctx, field) - case "mod_id": - return ec.fieldContext_Version_mod_id(ctx, field) - case "version": - return ec.fieldContext_Version_version(ctx, field) - case "sml_version": - return ec.fieldContext_Version_sml_version(ctx, field) - case "game_version": - return ec.fieldContext_Version_game_version(ctx, field) - case "required_on_remote": - return ec.fieldContext_Version_required_on_remote(ctx, field) - case "changelog": - return ec.fieldContext_Version_changelog(ctx, field) - case "downloads": - return ec.fieldContext_Version_downloads(ctx, field) - case "stability": - return ec.fieldContext_Version_stability(ctx, field) - case "approved": - return ec.fieldContext_Version_approved(ctx, field) - case "updated_at": - return ec.fieldContext_Version_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Version_created_at(ctx, field) - case "link": - return ec.fieldContext_Version_link(ctx, field) - case "targets": - return ec.fieldContext_Version_targets(ctx, field) - case "metadata": - return ec.fieldContext_Version_metadata(ctx, field) - case "size": - return ec.fieldContext_Version_size(ctx, field) - case "hash": - return ec.fieldContext_Version_hash(ctx, field) - case "mod": - return ec.fieldContext_Version_mod(ctx, field) - case "dependencies": - return ec.fieldContext_Version_dependencies(ctx, field) - case "virustotal_results": - return ec.fieldContext_Version_virustotal_results(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _GetGuides_guides(ctx context.Context, field graphql.CollectedField, obj *GetGuides) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_GetGuides_guides(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.GetGuides().Guides(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Guide) - fc.Result = res - return ec.marshalNGuide2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuideᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_GetGuides_guides(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "GetGuides", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Guide_id(ctx, field) - case "name": - return ec.fieldContext_Guide_name(ctx, field) - case "short_description": - return ec.fieldContext_Guide_short_description(ctx, field) - case "guide": - return ec.fieldContext_Guide_guide(ctx, field) - case "views": - return ec.fieldContext_Guide_views(ctx, field) - case "user_id": - return ec.fieldContext_Guide_user_id(ctx, field) - case "updated_at": - return ec.fieldContext_Guide_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Guide_created_at(ctx, field) - case "tags": - return ec.fieldContext_Guide_tags(ctx, field) - case "user": - return ec.fieldContext_Guide_user(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Guide", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _GetGuides_count(ctx context.Context, field graphql.CollectedField, obj *GetGuides) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_GetGuides_count(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.GetGuides().Count(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - fc.Result = res - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_GetGuides_count(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "GetGuides", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Int does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _GetMods_mods(ctx context.Context, field graphql.CollectedField, obj *GetMods) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_GetMods_mods(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.GetMods().Mods(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Mod) - fc.Result = res - return ec.marshalNMod2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_GetMods_mods(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "GetMods", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Mod_id(ctx, field) - case "name": - return ec.fieldContext_Mod_name(ctx, field) - case "short_description": - return ec.fieldContext_Mod_short_description(ctx, field) - case "full_description": - return ec.fieldContext_Mod_full_description(ctx, field) - case "logo": - return ec.fieldContext_Mod_logo(ctx, field) - case "logo_thumbhash": - return ec.fieldContext_Mod_logo_thumbhash(ctx, field) - case "source_url": - return ec.fieldContext_Mod_source_url(ctx, field) - case "creator_id": - return ec.fieldContext_Mod_creator_id(ctx, field) - case "approved": - return ec.fieldContext_Mod_approved(ctx, field) - case "views": - return ec.fieldContext_Mod_views(ctx, field) - case "downloads": - return ec.fieldContext_Mod_downloads(ctx, field) - case "hotness": - return ec.fieldContext_Mod_hotness(ctx, field) - case "popularity": - return ec.fieldContext_Mod_popularity(ctx, field) - case "updated_at": - return ec.fieldContext_Mod_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Mod_created_at(ctx, field) - case "last_version_date": - return ec.fieldContext_Mod_last_version_date(ctx, field) - case "mod_reference": - return ec.fieldContext_Mod_mod_reference(ctx, field) - case "hidden": - return ec.fieldContext_Mod_hidden(ctx, field) - case "tags": - return ec.fieldContext_Mod_tags(ctx, field) - case "compatibility": - return ec.fieldContext_Mod_compatibility(ctx, field) - case "toggle_network_use": - return ec.fieldContext_Mod_toggle_network_use(ctx, field) - case "toggle_explicit_content": - return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) - case "authors": - return ec.fieldContext_Mod_authors(ctx, field) - case "version": - return ec.fieldContext_Mod_version(ctx, field) - case "versions": - return ec.fieldContext_Mod_versions(ctx, field) - case "latestVersions": - return ec.fieldContext_Mod_latestVersions(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _GetMods_count(ctx context.Context, field graphql.CollectedField, obj *GetMods) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_GetMods_count(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.GetMods().Count(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - fc.Result = res - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_GetMods_count(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "GetMods", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Int does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _GetMyMods_mods(ctx context.Context, field graphql.CollectedField, obj *GetMyMods) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_GetMyMods_mods(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.GetMyMods().Mods(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Mod) - fc.Result = res - return ec.marshalNMod2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_GetMyMods_mods(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "GetMyMods", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Mod_id(ctx, field) - case "name": - return ec.fieldContext_Mod_name(ctx, field) - case "short_description": - return ec.fieldContext_Mod_short_description(ctx, field) - case "full_description": - return ec.fieldContext_Mod_full_description(ctx, field) - case "logo": - return ec.fieldContext_Mod_logo(ctx, field) - case "logo_thumbhash": - return ec.fieldContext_Mod_logo_thumbhash(ctx, field) - case "source_url": - return ec.fieldContext_Mod_source_url(ctx, field) - case "creator_id": - return ec.fieldContext_Mod_creator_id(ctx, field) - case "approved": - return ec.fieldContext_Mod_approved(ctx, field) - case "views": - return ec.fieldContext_Mod_views(ctx, field) - case "downloads": - return ec.fieldContext_Mod_downloads(ctx, field) - case "hotness": - return ec.fieldContext_Mod_hotness(ctx, field) - case "popularity": - return ec.fieldContext_Mod_popularity(ctx, field) - case "updated_at": - return ec.fieldContext_Mod_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Mod_created_at(ctx, field) - case "last_version_date": - return ec.fieldContext_Mod_last_version_date(ctx, field) - case "mod_reference": - return ec.fieldContext_Mod_mod_reference(ctx, field) - case "hidden": - return ec.fieldContext_Mod_hidden(ctx, field) - case "tags": - return ec.fieldContext_Mod_tags(ctx, field) - case "compatibility": - return ec.fieldContext_Mod_compatibility(ctx, field) - case "toggle_network_use": - return ec.fieldContext_Mod_toggle_network_use(ctx, field) - case "toggle_explicit_content": - return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) - case "authors": - return ec.fieldContext_Mod_authors(ctx, field) - case "version": - return ec.fieldContext_Mod_version(ctx, field) - case "versions": - return ec.fieldContext_Mod_versions(ctx, field) - case "latestVersions": - return ec.fieldContext_Mod_latestVersions(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _GetMyMods_count(ctx context.Context, field graphql.CollectedField, obj *GetMyMods) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_GetMyMods_count(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.GetMyMods().Count(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - fc.Result = res - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_GetMyMods_count(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "GetMyMods", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Int does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _GetMyVersions_versions(ctx context.Context, field graphql.CollectedField, obj *GetMyVersions) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_GetMyVersions_versions(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.GetMyVersions().Versions(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Version) - fc.Result = res - return ec.marshalNVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_GetMyVersions_versions(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "GetMyVersions", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Version_id(ctx, field) - case "mod_id": - return ec.fieldContext_Version_mod_id(ctx, field) - case "version": - return ec.fieldContext_Version_version(ctx, field) - case "sml_version": - return ec.fieldContext_Version_sml_version(ctx, field) - case "game_version": - return ec.fieldContext_Version_game_version(ctx, field) - case "required_on_remote": - return ec.fieldContext_Version_required_on_remote(ctx, field) - case "changelog": - return ec.fieldContext_Version_changelog(ctx, field) - case "downloads": - return ec.fieldContext_Version_downloads(ctx, field) - case "stability": - return ec.fieldContext_Version_stability(ctx, field) - case "approved": - return ec.fieldContext_Version_approved(ctx, field) - case "updated_at": - return ec.fieldContext_Version_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Version_created_at(ctx, field) - case "link": - return ec.fieldContext_Version_link(ctx, field) - case "targets": - return ec.fieldContext_Version_targets(ctx, field) - case "metadata": - return ec.fieldContext_Version_metadata(ctx, field) - case "size": - return ec.fieldContext_Version_size(ctx, field) - case "hash": - return ec.fieldContext_Version_hash(ctx, field) - case "mod": - return ec.fieldContext_Version_mod(ctx, field) - case "dependencies": - return ec.fieldContext_Version_dependencies(ctx, field) - case "virustotal_results": - return ec.fieldContext_Version_virustotal_results(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _GetMyVersions_count(ctx context.Context, field graphql.CollectedField, obj *GetMyVersions) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_GetMyVersions_count(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.GetMyVersions().Count(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - fc.Result = res - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_GetMyVersions_count(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "GetMyVersions", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Int does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _GetSMLVersions_sml_versions(ctx context.Context, field graphql.CollectedField, obj *GetSMLVersions) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_GetSMLVersions_sml_versions(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.GetSMLVersions().SmlVersions(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*SMLVersion) - fc.Result = res - return ec.marshalNSMLVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersionᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_GetSMLVersions_sml_versions(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "GetSMLVersions", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_SMLVersion_id(ctx, field) - case "version": - return ec.fieldContext_SMLVersion_version(ctx, field) - case "satisfactory_version": - return ec.fieldContext_SMLVersion_satisfactory_version(ctx, field) - case "stability": - return ec.fieldContext_SMLVersion_stability(ctx, field) - case "link": - return ec.fieldContext_SMLVersion_link(ctx, field) - case "targets": - return ec.fieldContext_SMLVersion_targets(ctx, field) - case "changelog": - return ec.fieldContext_SMLVersion_changelog(ctx, field) - case "date": - return ec.fieldContext_SMLVersion_date(ctx, field) - case "bootstrap_version": - return ec.fieldContext_SMLVersion_bootstrap_version(ctx, field) - case "engine_version": - return ec.fieldContext_SMLVersion_engine_version(ctx, field) - case "updated_at": - return ec.fieldContext_SMLVersion_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_SMLVersion_created_at(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type SMLVersion", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _GetSMLVersions_count(ctx context.Context, field graphql.CollectedField, obj *GetSMLVersions) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_GetSMLVersions_count(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.GetSMLVersions().Count(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - fc.Result = res - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_GetSMLVersions_count(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "GetSMLVersions", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Int does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _GetVersions_versions(ctx context.Context, field graphql.CollectedField, obj *GetVersions) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_GetVersions_versions(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.GetVersions().Versions(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Version) - fc.Result = res - return ec.marshalNVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_GetVersions_versions(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "GetVersions", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Version_id(ctx, field) - case "mod_id": - return ec.fieldContext_Version_mod_id(ctx, field) - case "version": - return ec.fieldContext_Version_version(ctx, field) - case "sml_version": - return ec.fieldContext_Version_sml_version(ctx, field) - case "game_version": - return ec.fieldContext_Version_game_version(ctx, field) - case "required_on_remote": - return ec.fieldContext_Version_required_on_remote(ctx, field) - case "changelog": - return ec.fieldContext_Version_changelog(ctx, field) - case "downloads": - return ec.fieldContext_Version_downloads(ctx, field) - case "stability": - return ec.fieldContext_Version_stability(ctx, field) - case "approved": - return ec.fieldContext_Version_approved(ctx, field) - case "updated_at": - return ec.fieldContext_Version_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Version_created_at(ctx, field) - case "link": - return ec.fieldContext_Version_link(ctx, field) - case "targets": - return ec.fieldContext_Version_targets(ctx, field) - case "metadata": - return ec.fieldContext_Version_metadata(ctx, field) - case "size": - return ec.fieldContext_Version_size(ctx, field) - case "hash": - return ec.fieldContext_Version_hash(ctx, field) - case "mod": - return ec.fieldContext_Version_mod(ctx, field) - case "dependencies": - return ec.fieldContext_Version_dependencies(ctx, field) - case "virustotal_results": - return ec.fieldContext_Version_virustotal_results(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _GetVersions_count(ctx context.Context, field graphql.CollectedField, obj *GetVersions) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_GetVersions_count(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.GetVersions().Count(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - fc.Result = res - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_GetVersions_count(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "GetVersions", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Int does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Group_id(ctx context.Context, field graphql.CollectedField, obj *Group) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Group_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Group_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Group", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Group_name(ctx context.Context, field graphql.CollectedField, obj *Group) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Group_name(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Name, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Group_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Group", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Guide_id(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Guide_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNGuideID2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Guide_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Guide", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type GuideID does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Guide_name(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Guide_name(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Name, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Guide_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Guide", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Guide_short_description(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Guide_short_description(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ShortDescription, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Guide_short_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Guide", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Guide_guide(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Guide_guide(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Guide, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Guide_guide(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Guide", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Guide_views(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Guide_views(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Views, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - fc.Result = res - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Guide_views(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Guide", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Int does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Guide_user_id(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Guide_user_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.UserID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNUserID2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Guide_user_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Guide", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type UserID does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Guide_updated_at(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Guide_updated_at(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.UpdatedAt, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNDate2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Guide_updated_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Guide", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Date does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Guide_created_at(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Guide_created_at(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.CreatedAt, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNDate2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Guide_created_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Guide", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Date does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Guide_tags(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Guide_tags(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Tags, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Tag) - fc.Result = res - return ec.marshalNTag2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTagᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Guide_tags(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Guide", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Tag_id(ctx, field) - case "name": - return ec.fieldContext_Tag_name(ctx, field) - case "description": - return ec.fieldContext_Tag_description(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Tag", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _Guide_user(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Guide_user(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Guide().User(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*User) - fc.Result = res - return ec.marshalNUser2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Guide_user(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Guide", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_User_id(ctx, field) - case "email": - return ec.fieldContext_User_email(ctx, field) - case "username": - return ec.fieldContext_User_username(ctx, field) - case "avatar": - return ec.fieldContext_User_avatar(ctx, field) - case "avatar_thumbhash": - return ec.fieldContext_User_avatar_thumbhash(ctx, field) - case "created_at": - return ec.fieldContext_User_created_at(ctx, field) - case "github_id": - return ec.fieldContext_User_github_id(ctx, field) - case "google_id": - return ec.fieldContext_User_google_id(ctx, field) - case "facebook_id": - return ec.fieldContext_User_facebook_id(ctx, field) - case "roles": - return ec.fieldContext_User_roles(ctx, field) - case "groups": - return ec.fieldContext_User_groups(ctx, field) - case "mods": - return ec.fieldContext_User_mods(ctx, field) - case "guides": - return ec.fieldContext_User_guides(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type User", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _LatestVersions_alpha(ctx context.Context, field graphql.CollectedField, obj *LatestVersions) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_LatestVersions_alpha(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Alpha, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Version) - fc.Result = res - return ec.marshalOVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_LatestVersions_alpha(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "LatestVersions", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Version_id(ctx, field) - case "mod_id": - return ec.fieldContext_Version_mod_id(ctx, field) - case "version": - return ec.fieldContext_Version_version(ctx, field) - case "sml_version": - return ec.fieldContext_Version_sml_version(ctx, field) - case "game_version": - return ec.fieldContext_Version_game_version(ctx, field) - case "required_on_remote": - return ec.fieldContext_Version_required_on_remote(ctx, field) - case "changelog": - return ec.fieldContext_Version_changelog(ctx, field) - case "downloads": - return ec.fieldContext_Version_downloads(ctx, field) - case "stability": - return ec.fieldContext_Version_stability(ctx, field) - case "approved": - return ec.fieldContext_Version_approved(ctx, field) - case "updated_at": - return ec.fieldContext_Version_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Version_created_at(ctx, field) - case "link": - return ec.fieldContext_Version_link(ctx, field) - case "targets": - return ec.fieldContext_Version_targets(ctx, field) - case "metadata": - return ec.fieldContext_Version_metadata(ctx, field) - case "size": - return ec.fieldContext_Version_size(ctx, field) - case "hash": - return ec.fieldContext_Version_hash(ctx, field) - case "mod": - return ec.fieldContext_Version_mod(ctx, field) - case "dependencies": - return ec.fieldContext_Version_dependencies(ctx, field) - case "virustotal_results": - return ec.fieldContext_Version_virustotal_results(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _LatestVersions_beta(ctx context.Context, field graphql.CollectedField, obj *LatestVersions) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_LatestVersions_beta(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Beta, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Version) - fc.Result = res - return ec.marshalOVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_LatestVersions_beta(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "LatestVersions", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Version_id(ctx, field) - case "mod_id": - return ec.fieldContext_Version_mod_id(ctx, field) - case "version": - return ec.fieldContext_Version_version(ctx, field) - case "sml_version": - return ec.fieldContext_Version_sml_version(ctx, field) - case "game_version": - return ec.fieldContext_Version_game_version(ctx, field) - case "required_on_remote": - return ec.fieldContext_Version_required_on_remote(ctx, field) - case "changelog": - return ec.fieldContext_Version_changelog(ctx, field) - case "downloads": - return ec.fieldContext_Version_downloads(ctx, field) - case "stability": - return ec.fieldContext_Version_stability(ctx, field) - case "approved": - return ec.fieldContext_Version_approved(ctx, field) - case "updated_at": - return ec.fieldContext_Version_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Version_created_at(ctx, field) - case "link": - return ec.fieldContext_Version_link(ctx, field) - case "targets": - return ec.fieldContext_Version_targets(ctx, field) - case "metadata": - return ec.fieldContext_Version_metadata(ctx, field) - case "size": - return ec.fieldContext_Version_size(ctx, field) - case "hash": - return ec.fieldContext_Version_hash(ctx, field) - case "mod": - return ec.fieldContext_Version_mod(ctx, field) - case "dependencies": - return ec.fieldContext_Version_dependencies(ctx, field) - case "virustotal_results": - return ec.fieldContext_Version_virustotal_results(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _LatestVersions_release(ctx context.Context, field graphql.CollectedField, obj *LatestVersions) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_LatestVersions_release(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Release, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Version) - fc.Result = res - return ec.marshalOVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_LatestVersions_release(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "LatestVersions", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Version_id(ctx, field) - case "mod_id": - return ec.fieldContext_Version_mod_id(ctx, field) - case "version": - return ec.fieldContext_Version_version(ctx, field) - case "sml_version": - return ec.fieldContext_Version_sml_version(ctx, field) - case "game_version": - return ec.fieldContext_Version_game_version(ctx, field) - case "required_on_remote": - return ec.fieldContext_Version_required_on_remote(ctx, field) - case "changelog": - return ec.fieldContext_Version_changelog(ctx, field) - case "downloads": - return ec.fieldContext_Version_downloads(ctx, field) - case "stability": - return ec.fieldContext_Version_stability(ctx, field) - case "approved": - return ec.fieldContext_Version_approved(ctx, field) - case "updated_at": - return ec.fieldContext_Version_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Version_created_at(ctx, field) - case "link": - return ec.fieldContext_Version_link(ctx, field) - case "targets": - return ec.fieldContext_Version_targets(ctx, field) - case "metadata": - return ec.fieldContext_Version_metadata(ctx, field) - case "size": - return ec.fieldContext_Version_size(ctx, field) - case "hash": - return ec.fieldContext_Version_hash(ctx, field) - case "mod": - return ec.fieldContext_Version_mod(ctx, field) - case "dependencies": - return ec.fieldContext_Version_dependencies(ctx, field) - case "virustotal_results": - return ec.fieldContext_Version_virustotal_results(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_id(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNModID2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type ModID does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_name(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_name(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Name, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_short_description(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_short_description(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ShortDescription, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_short_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_full_description(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_full_description(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.FullDescription, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_full_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_logo(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_logo(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Logo, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_logo(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_logo_thumbhash(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_logo_thumbhash(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.LogoThumbhash, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_logo_thumbhash(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_source_url(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_source_url(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.SourceURL, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_source_url(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_creator_id(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_creator_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.CreatorID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNUserID2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_creator_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type UserID does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_approved(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_approved(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Approved, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_approved(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_views(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_views(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Views, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - fc.Result = res - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_views(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Int does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_downloads(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_downloads(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Downloads, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - fc.Result = res - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_downloads(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Int does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_hotness(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_hotness(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Hotness, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - fc.Result = res - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_hotness(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Int does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_popularity(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_popularity(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Popularity, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - fc.Result = res - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_popularity(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Int does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_updated_at(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_updated_at(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.UpdatedAt, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNDate2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_updated_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Date does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_created_at(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_created_at(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.CreatedAt, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNDate2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_created_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Date does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_last_version_date(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_last_version_date(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.LastVersionDate, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalODate2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_last_version_date(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Date does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_mod_reference(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_mod_reference(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ModReference, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNModReference2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_mod_reference(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type ModReference does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_hidden(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_hidden(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Hidden, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_hidden(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_tags(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_tags(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Tags, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.([]*Tag) - fc.Result = res - return ec.marshalOTag2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTagᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_tags(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Tag_id(ctx, field) - case "name": - return ec.fieldContext_Tag_name(ctx, field) - case "description": - return ec.fieldContext_Tag_description(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Tag", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_compatibility(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_compatibility(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Compatibility, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*CompatibilityInfo) - fc.Result = res - return ec.marshalOCompatibilityInfo2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInfo(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_compatibility(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "EA": - return ec.fieldContext_CompatibilityInfo_EA(ctx, field) - case "EXP": - return ec.fieldContext_CompatibilityInfo_EXP(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type CompatibilityInfo", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_toggle_network_use(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_toggle_network_use(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ToggleNetworkUse, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_toggle_network_use(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_toggle_explicit_content(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_toggle_explicit_content(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ToggleExplicitContent, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_toggle_explicit_content(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_authors(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_authors(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mod().Authors(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*UserMod) - fc.Result = res - return ec.marshalNUserMod2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserModᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_authors(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "user_id": - return ec.fieldContext_UserMod_user_id(ctx, field) - case "mod_id": - return ec.fieldContext_UserMod_mod_id(ctx, field) - case "role": - return ec.fieldContext_UserMod_role(ctx, field) - case "user": - return ec.fieldContext_UserMod_user(ctx, field) - case "mod": - return ec.fieldContext_UserMod_mod(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type UserMod", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_version(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_version(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mod().Version(rctx, obj, fc.Args["version"].(string)) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Version) - fc.Result = res - return ec.marshalOVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_version(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Version_id(ctx, field) - case "mod_id": - return ec.fieldContext_Version_mod_id(ctx, field) - case "version": - return ec.fieldContext_Version_version(ctx, field) - case "sml_version": - return ec.fieldContext_Version_sml_version(ctx, field) - case "game_version": - return ec.fieldContext_Version_game_version(ctx, field) - case "required_on_remote": - return ec.fieldContext_Version_required_on_remote(ctx, field) - case "changelog": - return ec.fieldContext_Version_changelog(ctx, field) - case "downloads": - return ec.fieldContext_Version_downloads(ctx, field) - case "stability": - return ec.fieldContext_Version_stability(ctx, field) - case "approved": - return ec.fieldContext_Version_approved(ctx, field) - case "updated_at": - return ec.fieldContext_Version_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Version_created_at(ctx, field) - case "link": - return ec.fieldContext_Version_link(ctx, field) - case "targets": - return ec.fieldContext_Version_targets(ctx, field) - case "metadata": - return ec.fieldContext_Version_metadata(ctx, field) - case "size": - return ec.fieldContext_Version_size(ctx, field) - case "hash": - return ec.fieldContext_Version_hash(ctx, field) - case "mod": - return ec.fieldContext_Version_mod(ctx, field) - case "dependencies": - return ec.fieldContext_Version_dependencies(ctx, field) - case "virustotal_results": - return ec.fieldContext_Version_virustotal_results(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mod_version_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mod_versions(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_versions(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mod().Versions(rctx, obj, fc.Args["filter"].(map[string]interface{})) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Version) - fc.Result = res - return ec.marshalNVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_versions(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Version_id(ctx, field) - case "mod_id": - return ec.fieldContext_Version_mod_id(ctx, field) - case "version": - return ec.fieldContext_Version_version(ctx, field) - case "sml_version": - return ec.fieldContext_Version_sml_version(ctx, field) - case "game_version": - return ec.fieldContext_Version_game_version(ctx, field) - case "required_on_remote": - return ec.fieldContext_Version_required_on_remote(ctx, field) - case "changelog": - return ec.fieldContext_Version_changelog(ctx, field) - case "downloads": - return ec.fieldContext_Version_downloads(ctx, field) - case "stability": - return ec.fieldContext_Version_stability(ctx, field) - case "approved": - return ec.fieldContext_Version_approved(ctx, field) - case "updated_at": - return ec.fieldContext_Version_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Version_created_at(ctx, field) - case "link": - return ec.fieldContext_Version_link(ctx, field) - case "targets": - return ec.fieldContext_Version_targets(ctx, field) - case "metadata": - return ec.fieldContext_Version_metadata(ctx, field) - case "size": - return ec.fieldContext_Version_size(ctx, field) - case "hash": - return ec.fieldContext_Version_hash(ctx, field) - case "mod": - return ec.fieldContext_Version_mod(ctx, field) - case "dependencies": - return ec.fieldContext_Version_dependencies(ctx, field) - case "virustotal_results": - return ec.fieldContext_Version_virustotal_results(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mod_versions_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mod_latestVersions(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_latestVersions(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mod().LatestVersions(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*LatestVersions) - fc.Result = res - return ec.marshalNLatestVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐLatestVersions(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_latestVersions(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "alpha": - return ec.fieldContext_LatestVersions_alpha(ctx, field) - case "beta": - return ec.fieldContext_LatestVersions_beta(ctx, field) - case "release": - return ec.fieldContext_LatestVersions_release(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type LatestVersions", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _ModVersion_id(ctx context.Context, field graphql.CollectedField, obj *ModVersion) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_ModVersion_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNModID2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_ModVersion_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "ModVersion", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type ModID does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _ModVersion_mod_reference(ctx context.Context, field graphql.CollectedField, obj *ModVersion) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_ModVersion_mod_reference(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ModReference, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNModReference2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_ModVersion_mod_reference(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "ModVersion", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type ModReference does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _ModVersion_versions(ctx context.Context, field graphql.CollectedField, obj *ModVersion) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_ModVersion_versions(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Versions, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Version) - fc.Result = res - return ec.marshalNVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_ModVersion_versions(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "ModVersion", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Version_id(ctx, field) - case "mod_id": - return ec.fieldContext_Version_mod_id(ctx, field) - case "version": - return ec.fieldContext_Version_version(ctx, field) - case "sml_version": - return ec.fieldContext_Version_sml_version(ctx, field) - case "game_version": - return ec.fieldContext_Version_game_version(ctx, field) - case "required_on_remote": - return ec.fieldContext_Version_required_on_remote(ctx, field) - case "changelog": - return ec.fieldContext_Version_changelog(ctx, field) - case "downloads": - return ec.fieldContext_Version_downloads(ctx, field) - case "stability": - return ec.fieldContext_Version_stability(ctx, field) - case "approved": - return ec.fieldContext_Version_approved(ctx, field) - case "updated_at": - return ec.fieldContext_Version_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Version_created_at(ctx, field) - case "link": - return ec.fieldContext_Version_link(ctx, field) - case "targets": - return ec.fieldContext_Version_targets(ctx, field) - case "metadata": - return ec.fieldContext_Version_metadata(ctx, field) - case "size": - return ec.fieldContext_Version_size(ctx, field) - case "hash": - return ec.fieldContext_Version_hash(ctx, field) - case "mod": - return ec.fieldContext_Version_mod(ctx, field) - case "dependencies": - return ec.fieldContext_Version_dependencies(ctx, field) - case "virustotal_results": - return ec.fieldContext_Version_virustotal_results(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _Mutation_discourseSSO(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_discourseSSO(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().DiscourseSso(rctx, fc.Args["sso"].(string), fc.Args["sig"].(string)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *string - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive0) - } - - tmp, err := directive1(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*string); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *string`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_discourseSSO(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_discourseSSO_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_createAnnouncement(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_createAnnouncement(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().CreateAnnouncement(rctx, fc.Args["announcement"].(NewAnnouncement)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.CanEditAnnouncements == nil { - var zeroVal *Announcement - return zeroVal, errors.New("directive canEditAnnouncements is not implemented") - } - return ec.directives.CanEditAnnouncements(ctx, nil, directive0) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *Announcement - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*Announcement); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.Announcement`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Announcement) - fc.Result = res - return ec.marshalOAnnouncement2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncement(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_createAnnouncement(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Announcement_id(ctx, field) - case "message": - return ec.fieldContext_Announcement_message(ctx, field) - case "importance": - return ec.fieldContext_Announcement_importance(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Announcement", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_createAnnouncement_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_updateAnnouncement(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_updateAnnouncement(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().UpdateAnnouncement(rctx, fc.Args["announcementId"].(string), fc.Args["announcement"].(UpdateAnnouncement)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.CanEditAnnouncements == nil { - var zeroVal *Announcement - return zeroVal, errors.New("directive canEditAnnouncements is not implemented") - } - return ec.directives.CanEditAnnouncements(ctx, nil, directive0) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *Announcement - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*Announcement); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.Announcement`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*Announcement) - fc.Result = res - return ec.marshalNAnnouncement2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncement(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_updateAnnouncement(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Announcement_id(ctx, field) - case "message": - return ec.fieldContext_Announcement_message(ctx, field) - case "importance": - return ec.fieldContext_Announcement_importance(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Announcement", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_updateAnnouncement_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_deleteAnnouncement(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_deleteAnnouncement(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().DeleteAnnouncement(rctx, fc.Args["announcementId"].(string)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.CanEditAnnouncements == nil { - var zeroVal bool - return zeroVal, errors.New("directive canEditAnnouncements is not implemented") - } - return ec.directives.CanEditAnnouncements(ctx, nil, directive0) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal bool - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(bool); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_deleteAnnouncement(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_deleteAnnouncement_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_updateModCompatibility(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_updateModCompatibility(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().UpdateModCompatibility(rctx, fc.Args["modId"].(string), fc.Args["compatibility"].(CompatibilityInfoInput)) - } - - directive1 := func(ctx context.Context) (any, error) { - field, err := ec.unmarshalOString2ᚖstring(ctx, "modId") - if err != nil { - var zeroVal bool - return zeroVal, err - } - if ec.directives.CanEditModCompatibility == nil { - var zeroVal bool - return zeroVal, errors.New("directive canEditModCompatibility is not implemented") - } - return ec.directives.CanEditModCompatibility(ctx, nil, directive0, field) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal bool - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(bool); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_updateModCompatibility(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_updateModCompatibility_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_updateMultipleModCompatibilities(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_updateMultipleModCompatibilities(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().UpdateMultipleModCompatibilities(rctx, fc.Args["modIDs"].([]string), fc.Args["compatibility"].(CompatibilityInfoInput)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.CanEditModCompatibility == nil { - var zeroVal bool - return zeroVal, errors.New("directive canEditModCompatibility is not implemented") - } - return ec.directives.CanEditModCompatibility(ctx, nil, directive0, nil) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal bool - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(bool); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_updateMultipleModCompatibilities(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_updateMultipleModCompatibilities_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_createGuide(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_createGuide(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().CreateGuide(rctx, fc.Args["guide"].(NewGuide)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *Guide - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive0) - } - - tmp, err := directive1(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*Guide); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.Guide`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Guide) - fc.Result = res - return ec.marshalOGuide2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuide(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_createGuide(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Guide_id(ctx, field) - case "name": - return ec.fieldContext_Guide_name(ctx, field) - case "short_description": - return ec.fieldContext_Guide_short_description(ctx, field) - case "guide": - return ec.fieldContext_Guide_guide(ctx, field) - case "views": - return ec.fieldContext_Guide_views(ctx, field) - case "user_id": - return ec.fieldContext_Guide_user_id(ctx, field) - case "updated_at": - return ec.fieldContext_Guide_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Guide_created_at(ctx, field) - case "tags": - return ec.fieldContext_Guide_tags(ctx, field) - case "user": - return ec.fieldContext_Guide_user(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Guide", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_createGuide_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_updateGuide(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_updateGuide(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().UpdateGuide(rctx, fc.Args["guideId"].(string), fc.Args["guide"].(UpdateGuide)) - } - - directive1 := func(ctx context.Context) (any, error) { - field, err := ec.unmarshalNString2string(ctx, "guideId") - if err != nil { - var zeroVal *Guide - return zeroVal, err - } - if ec.directives.CanEditGuide == nil { - var zeroVal *Guide - return zeroVal, errors.New("directive canEditGuide is not implemented") - } - return ec.directives.CanEditGuide(ctx, nil, directive0, field) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *Guide - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*Guide); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.Guide`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*Guide) - fc.Result = res - return ec.marshalNGuide2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuide(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_updateGuide(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Guide_id(ctx, field) - case "name": - return ec.fieldContext_Guide_name(ctx, field) - case "short_description": - return ec.fieldContext_Guide_short_description(ctx, field) - case "guide": - return ec.fieldContext_Guide_guide(ctx, field) - case "views": - return ec.fieldContext_Guide_views(ctx, field) - case "user_id": - return ec.fieldContext_Guide_user_id(ctx, field) - case "updated_at": - return ec.fieldContext_Guide_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Guide_created_at(ctx, field) - case "tags": - return ec.fieldContext_Guide_tags(ctx, field) - case "user": - return ec.fieldContext_Guide_user(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Guide", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_updateGuide_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_deleteGuide(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_deleteGuide(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().DeleteGuide(rctx, fc.Args["guideId"].(string)) - } - - directive1 := func(ctx context.Context) (any, error) { - field, err := ec.unmarshalNString2string(ctx, "guideId") - if err != nil { - var zeroVal bool - return zeroVal, err - } - if ec.directives.CanEditGuide == nil { - var zeroVal bool - return zeroVal, errors.New("directive canEditGuide is not implemented") - } - return ec.directives.CanEditGuide(ctx, nil, directive0, field) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal bool - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(bool); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_deleteGuide(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_deleteGuide_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_createMod(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_createMod(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().CreateMod(rctx, fc.Args["mod"].(NewMod)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *Mod - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive0) - } - - tmp, err := directive1(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*Mod); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.Mod`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Mod) - fc.Result = res - return ec.marshalOMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_createMod(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Mod_id(ctx, field) - case "name": - return ec.fieldContext_Mod_name(ctx, field) - case "short_description": - return ec.fieldContext_Mod_short_description(ctx, field) - case "full_description": - return ec.fieldContext_Mod_full_description(ctx, field) - case "logo": - return ec.fieldContext_Mod_logo(ctx, field) - case "logo_thumbhash": - return ec.fieldContext_Mod_logo_thumbhash(ctx, field) - case "source_url": - return ec.fieldContext_Mod_source_url(ctx, field) - case "creator_id": - return ec.fieldContext_Mod_creator_id(ctx, field) - case "approved": - return ec.fieldContext_Mod_approved(ctx, field) - case "views": - return ec.fieldContext_Mod_views(ctx, field) - case "downloads": - return ec.fieldContext_Mod_downloads(ctx, field) - case "hotness": - return ec.fieldContext_Mod_hotness(ctx, field) - case "popularity": - return ec.fieldContext_Mod_popularity(ctx, field) - case "updated_at": - return ec.fieldContext_Mod_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Mod_created_at(ctx, field) - case "last_version_date": - return ec.fieldContext_Mod_last_version_date(ctx, field) - case "mod_reference": - return ec.fieldContext_Mod_mod_reference(ctx, field) - case "hidden": - return ec.fieldContext_Mod_hidden(ctx, field) - case "tags": - return ec.fieldContext_Mod_tags(ctx, field) - case "compatibility": - return ec.fieldContext_Mod_compatibility(ctx, field) - case "toggle_network_use": - return ec.fieldContext_Mod_toggle_network_use(ctx, field) - case "toggle_explicit_content": - return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) - case "authors": - return ec.fieldContext_Mod_authors(ctx, field) - case "version": - return ec.fieldContext_Mod_version(ctx, field) - case "versions": - return ec.fieldContext_Mod_versions(ctx, field) - case "latestVersions": - return ec.fieldContext_Mod_latestVersions(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_createMod_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_updateMod(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_updateMod(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().UpdateMod(rctx, fc.Args["modId"].(string), fc.Args["mod"].(UpdateMod)) - } - - directive1 := func(ctx context.Context) (any, error) { - field, err := ec.unmarshalNString2string(ctx, "modId") - if err != nil { - var zeroVal *Mod - return zeroVal, err - } - if ec.directives.CanEditMod == nil { - var zeroVal *Mod - return zeroVal, errors.New("directive canEditMod is not implemented") - } - return ec.directives.CanEditMod(ctx, nil, directive0, field) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *Mod - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*Mod); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.Mod`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*Mod) - fc.Result = res - return ec.marshalNMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_updateMod(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Mod_id(ctx, field) - case "name": - return ec.fieldContext_Mod_name(ctx, field) - case "short_description": - return ec.fieldContext_Mod_short_description(ctx, field) - case "full_description": - return ec.fieldContext_Mod_full_description(ctx, field) - case "logo": - return ec.fieldContext_Mod_logo(ctx, field) - case "logo_thumbhash": - return ec.fieldContext_Mod_logo_thumbhash(ctx, field) - case "source_url": - return ec.fieldContext_Mod_source_url(ctx, field) - case "creator_id": - return ec.fieldContext_Mod_creator_id(ctx, field) - case "approved": - return ec.fieldContext_Mod_approved(ctx, field) - case "views": - return ec.fieldContext_Mod_views(ctx, field) - case "downloads": - return ec.fieldContext_Mod_downloads(ctx, field) - case "hotness": - return ec.fieldContext_Mod_hotness(ctx, field) - case "popularity": - return ec.fieldContext_Mod_popularity(ctx, field) - case "updated_at": - return ec.fieldContext_Mod_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Mod_created_at(ctx, field) - case "last_version_date": - return ec.fieldContext_Mod_last_version_date(ctx, field) - case "mod_reference": - return ec.fieldContext_Mod_mod_reference(ctx, field) - case "hidden": - return ec.fieldContext_Mod_hidden(ctx, field) - case "tags": - return ec.fieldContext_Mod_tags(ctx, field) - case "compatibility": - return ec.fieldContext_Mod_compatibility(ctx, field) - case "toggle_network_use": - return ec.fieldContext_Mod_toggle_network_use(ctx, field) - case "toggle_explicit_content": - return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) - case "authors": - return ec.fieldContext_Mod_authors(ctx, field) - case "version": - return ec.fieldContext_Mod_version(ctx, field) - case "versions": - return ec.fieldContext_Mod_versions(ctx, field) - case "latestVersions": - return ec.fieldContext_Mod_latestVersions(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_updateMod_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_deleteMod(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_deleteMod(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().DeleteMod(rctx, fc.Args["modId"].(string)) - } - - directive1 := func(ctx context.Context) (any, error) { - field, err := ec.unmarshalNString2string(ctx, "modId") - if err != nil { - var zeroVal bool - return zeroVal, err - } - if ec.directives.CanEditMod == nil { - var zeroVal bool - return zeroVal, errors.New("directive canEditMod is not implemented") - } - return ec.directives.CanEditMod(ctx, nil, directive0, field) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal bool - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(bool); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_deleteMod(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_deleteMod_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_approveMod(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_approveMod(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().ApproveMod(rctx, fc.Args["modId"].(string)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.CanApproveMods == nil { - var zeroVal bool - return zeroVal, errors.New("directive canApproveMods is not implemented") - } - return ec.directives.CanApproveMods(ctx, nil, directive0) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal bool - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(bool); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_approveMod(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_approveMod_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_denyMod(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_denyMod(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().DenyMod(rctx, fc.Args["modId"].(string)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.CanApproveMods == nil { - var zeroVal bool - return zeroVal, errors.New("directive canApproveMods is not implemented") - } - return ec.directives.CanApproveMods(ctx, nil, directive0) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal bool - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(bool); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_denyMod(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_denyMod_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_createSatisfactoryVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_createSatisfactoryVersion(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().CreateSatisfactoryVersion(rctx, fc.Args["input"].(NewSatisfactoryVersion)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *SatisfactoryVersion - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive0) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.CanEditSatisfactoryVersions == nil { - var zeroVal *SatisfactoryVersion - return zeroVal, errors.New("directive canEditSatisfactoryVersions is not implemented") - } - return ec.directives.CanEditSatisfactoryVersions(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*SatisfactoryVersion); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.SatisfactoryVersion`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*SatisfactoryVersion) - fc.Result = res - return ec.marshalNSatisfactoryVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSatisfactoryVersion(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_createSatisfactoryVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_SatisfactoryVersion_id(ctx, field) - case "version": - return ec.fieldContext_SatisfactoryVersion_version(ctx, field) - case "engine_version": - return ec.fieldContext_SatisfactoryVersion_engine_version(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type SatisfactoryVersion", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_createSatisfactoryVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_updateSatisfactoryVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_updateSatisfactoryVersion(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().UpdateSatisfactoryVersion(rctx, fc.Args["id"].(string), fc.Args["input"].(UpdateSatisfactoryVersion)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *SatisfactoryVersion - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive0) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.CanEditSatisfactoryVersions == nil { - var zeroVal *SatisfactoryVersion - return zeroVal, errors.New("directive canEditSatisfactoryVersions is not implemented") - } - return ec.directives.CanEditSatisfactoryVersions(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*SatisfactoryVersion); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.SatisfactoryVersion`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*SatisfactoryVersion) - fc.Result = res - return ec.marshalNSatisfactoryVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSatisfactoryVersion(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_updateSatisfactoryVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_SatisfactoryVersion_id(ctx, field) - case "version": - return ec.fieldContext_SatisfactoryVersion_version(ctx, field) - case "engine_version": - return ec.fieldContext_SatisfactoryVersion_engine_version(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type SatisfactoryVersion", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_updateSatisfactoryVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_deleteSatisfactoryVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_deleteSatisfactoryVersion(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().DeleteSatisfactoryVersion(rctx, fc.Args["id"].(string)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal bool - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive0) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.CanEditSatisfactoryVersions == nil { - var zeroVal bool - return zeroVal, errors.New("directive canEditSatisfactoryVersions is not implemented") - } - return ec.directives.CanEditSatisfactoryVersions(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(bool); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_deleteSatisfactoryVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_deleteSatisfactoryVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_createTag(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_createTag(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().CreateTag(rctx, fc.Args["tagName"].(string), fc.Args["description"].(string)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.CanManageTags == nil { - var zeroVal *Tag - return zeroVal, errors.New("directive canManageTags is not implemented") - } - return ec.directives.CanManageTags(ctx, nil, directive0) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *Tag - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*Tag); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.Tag`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Tag) - fc.Result = res - return ec.marshalOTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTag(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_createTag(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Tag_id(ctx, field) - case "name": - return ec.fieldContext_Tag_name(ctx, field) - case "description": - return ec.fieldContext_Tag_description(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Tag", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_createTag_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_createMultipleTags(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_createMultipleTags(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().CreateMultipleTags(rctx, fc.Args["tagNames"].([]*NewTag)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.CanManageTags == nil { - var zeroVal []*Tag - return zeroVal, errors.New("directive canManageTags is not implemented") - } - return ec.directives.CanManageTags(ctx, nil, directive0) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal []*Tag - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.([]*Tag); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be []*github.com/satisfactorymodding/smr-api/generated.Tag`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Tag) - fc.Result = res - return ec.marshalNTag2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTagᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_createMultipleTags(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Tag_id(ctx, field) - case "name": - return ec.fieldContext_Tag_name(ctx, field) - case "description": - return ec.fieldContext_Tag_description(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Tag", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_createMultipleTags_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_updateTag(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_updateTag(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().UpdateTag(rctx, fc.Args["tagID"].(string), fc.Args["NewName"].(string), fc.Args["description"].(string)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.CanManageTags == nil { - var zeroVal *Tag - return zeroVal, errors.New("directive canManageTags is not implemented") - } - return ec.directives.CanManageTags(ctx, nil, directive0) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *Tag - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*Tag); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.Tag`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*Tag) - fc.Result = res - return ec.marshalNTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTag(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_updateTag(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Tag_id(ctx, field) - case "name": - return ec.fieldContext_Tag_name(ctx, field) - case "description": - return ec.fieldContext_Tag_description(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Tag", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_updateTag_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_deleteTag(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_deleteTag(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().DeleteTag(rctx, fc.Args["tagID"].(string)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.CanManageTags == nil { - var zeroVal bool - return zeroVal, errors.New("directive canManageTags is not implemented") - } - return ec.directives.CanManageTags(ctx, nil, directive0) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal bool - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(bool); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_deleteTag(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_deleteTag_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_updateUser(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_updateUser(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().UpdateUser(rctx, fc.Args["userId"].(string), fc.Args["input"].(UpdateUser)) - } - - directive1 := func(ctx context.Context) (any, error) { - field, err := ec.unmarshalNString2string(ctx, "userId") - if err != nil { - var zeroVal *User - return zeroVal, err - } - object, err := ec.unmarshalNBoolean2bool(ctx, false) - if err != nil { - var zeroVal *User - return zeroVal, err - } - if ec.directives.CanEditUser == nil { - var zeroVal *User - return zeroVal, errors.New("directive canEditUser is not implemented") - } - return ec.directives.CanEditUser(ctx, nil, directive0, field, object) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *User - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*User); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.User`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*User) - fc.Result = res - return ec.marshalNUser2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_updateUser(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_User_id(ctx, field) - case "email": - return ec.fieldContext_User_email(ctx, field) - case "username": - return ec.fieldContext_User_username(ctx, field) - case "avatar": - return ec.fieldContext_User_avatar(ctx, field) - case "avatar_thumbhash": - return ec.fieldContext_User_avatar_thumbhash(ctx, field) - case "created_at": - return ec.fieldContext_User_created_at(ctx, field) - case "github_id": - return ec.fieldContext_User_github_id(ctx, field) - case "google_id": - return ec.fieldContext_User_google_id(ctx, field) - case "facebook_id": - return ec.fieldContext_User_facebook_id(ctx, field) - case "roles": - return ec.fieldContext_User_roles(ctx, field) - case "groups": - return ec.fieldContext_User_groups(ctx, field) - case "mods": - return ec.fieldContext_User_mods(ctx, field) - case "guides": - return ec.fieldContext_User_guides(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type User", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_updateUser_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_logout(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_logout(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().Logout(rctx) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal bool - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive0) - } - - tmp, err := directive1(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(bool); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_logout(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mutation_oAuthGithub(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_oAuthGithub(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().OAuthGithub(rctx, fc.Args["code"].(string), fc.Args["state"].(string)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.IsNotLoggedIn == nil { - var zeroVal *UserSession - return zeroVal, errors.New("directive isNotLoggedIn is not implemented") - } - return ec.directives.IsNotLoggedIn(ctx, nil, directive0) - } - - tmp, err := directive1(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*UserSession); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.UserSession`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*UserSession) - fc.Result = res - return ec.marshalOUserSession2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserSession(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_oAuthGithub(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "token": - return ec.fieldContext_UserSession_token(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type UserSession", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_oAuthGithub_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_oAuthGoogle(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_oAuthGoogle(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().OAuthGoogle(rctx, fc.Args["code"].(string), fc.Args["state"].(string)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.IsNotLoggedIn == nil { - var zeroVal *UserSession - return zeroVal, errors.New("directive isNotLoggedIn is not implemented") - } - return ec.directives.IsNotLoggedIn(ctx, nil, directive0) - } - - tmp, err := directive1(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*UserSession); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.UserSession`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*UserSession) - fc.Result = res - return ec.marshalOUserSession2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserSession(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_oAuthGoogle(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "token": - return ec.fieldContext_UserSession_token(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type UserSession", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_oAuthGoogle_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_oAuthFacebook(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_oAuthFacebook(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().OAuthFacebook(rctx, fc.Args["code"].(string), fc.Args["state"].(string)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.IsNotLoggedIn == nil { - var zeroVal *UserSession - return zeroVal, errors.New("directive isNotLoggedIn is not implemented") - } - return ec.directives.IsNotLoggedIn(ctx, nil, directive0) - } - - tmp, err := directive1(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*UserSession); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.UserSession`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*UserSession) - fc.Result = res - return ec.marshalOUserSession2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserSession(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_oAuthFacebook(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "token": - return ec.fieldContext_UserSession_token(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type UserSession", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_oAuthFacebook_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_createVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_createVersion(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().CreateVersion(rctx, fc.Args["modId"].(string)) - } - - directive1 := func(ctx context.Context) (any, error) { - field, err := ec.unmarshalNString2string(ctx, "modId") - if err != nil { - var zeroVal string - return zeroVal, err - } - if ec.directives.CanEditMod == nil { - var zeroVal string - return zeroVal, errors.New("directive canEditMod is not implemented") - } - return ec.directives.CanEditMod(ctx, nil, directive0, field) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal string - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(string); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be string`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNVersionID2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_createVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type VersionID does not have child fields") - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_createVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_uploadVersionPart(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_uploadVersionPart(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().UploadVersionPart(rctx, fc.Args["modId"].(string), fc.Args["versionId"].(string), fc.Args["part"].(int), fc.Args["file"].(graphql.Upload)) - } - - directive1 := func(ctx context.Context) (any, error) { - field, err := ec.unmarshalNString2string(ctx, "modId") - if err != nil { - var zeroVal bool - return zeroVal, err - } - if ec.directives.CanEditMod == nil { - var zeroVal bool - return zeroVal, errors.New("directive canEditMod is not implemented") - } - return ec.directives.CanEditMod(ctx, nil, directive0, field) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal bool - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(bool); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_uploadVersionPart(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_uploadVersionPart_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_finalizeCreateVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_finalizeCreateVersion(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().FinalizeCreateVersion(rctx, fc.Args["modId"].(string), fc.Args["versionId"].(string), fc.Args["version"].(NewVersion)) - } - - directive1 := func(ctx context.Context) (any, error) { - field, err := ec.unmarshalNString2string(ctx, "modId") - if err != nil { - var zeroVal bool - return zeroVal, err - } - if ec.directives.CanEditMod == nil { - var zeroVal bool - return zeroVal, errors.New("directive canEditMod is not implemented") - } - return ec.directives.CanEditMod(ctx, nil, directive0, field) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal bool - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(bool); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_finalizeCreateVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_finalizeCreateVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_updateVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_updateVersion(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().UpdateVersion(rctx, fc.Args["versionId"].(string), fc.Args["version"].(UpdateVersion)) - } - - directive1 := func(ctx context.Context) (any, error) { - field, err := ec.unmarshalNString2string(ctx, "versionId") - if err != nil { - var zeroVal *Version - return zeroVal, err - } - if ec.directives.CanEditVersion == nil { - var zeroVal *Version - return zeroVal, errors.New("directive canEditVersion is not implemented") - } - return ec.directives.CanEditVersion(ctx, nil, directive0, field) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *Version - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*Version); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.Version`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*Version) - fc.Result = res - return ec.marshalNVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_updateVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Version_id(ctx, field) - case "mod_id": - return ec.fieldContext_Version_mod_id(ctx, field) - case "version": - return ec.fieldContext_Version_version(ctx, field) - case "sml_version": - return ec.fieldContext_Version_sml_version(ctx, field) - case "game_version": - return ec.fieldContext_Version_game_version(ctx, field) - case "required_on_remote": - return ec.fieldContext_Version_required_on_remote(ctx, field) - case "changelog": - return ec.fieldContext_Version_changelog(ctx, field) - case "downloads": - return ec.fieldContext_Version_downloads(ctx, field) - case "stability": - return ec.fieldContext_Version_stability(ctx, field) - case "approved": - return ec.fieldContext_Version_approved(ctx, field) - case "updated_at": - return ec.fieldContext_Version_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Version_created_at(ctx, field) - case "link": - return ec.fieldContext_Version_link(ctx, field) - case "targets": - return ec.fieldContext_Version_targets(ctx, field) - case "metadata": - return ec.fieldContext_Version_metadata(ctx, field) - case "size": - return ec.fieldContext_Version_size(ctx, field) - case "hash": - return ec.fieldContext_Version_hash(ctx, field) - case "mod": - return ec.fieldContext_Version_mod(ctx, field) - case "dependencies": - return ec.fieldContext_Version_dependencies(ctx, field) - case "virustotal_results": - return ec.fieldContext_Version_virustotal_results(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_updateVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_deleteVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_deleteVersion(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().DeleteVersion(rctx, fc.Args["versionId"].(string)) - } - - directive1 := func(ctx context.Context) (any, error) { - field, err := ec.unmarshalNString2string(ctx, "versionId") - if err != nil { - var zeroVal bool - return zeroVal, err - } - if ec.directives.CanEditVersion == nil { - var zeroVal bool - return zeroVal, errors.New("directive canEditVersion is not implemented") - } - return ec.directives.CanEditVersion(ctx, nil, directive0, field) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal bool - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(bool); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_deleteVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_deleteVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_approveVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_approveVersion(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().ApproveVersion(rctx, fc.Args["versionId"].(string)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.CanApproveVersions == nil { - var zeroVal bool - return zeroVal, errors.New("directive canApproveVersions is not implemented") - } - return ec.directives.CanApproveVersions(ctx, nil, directive0) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal bool - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(bool); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_approveVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_approveVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_denyVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_denyVersion(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().DenyVersion(rctx, fc.Args["versionId"].(string)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.CanApproveVersions == nil { - var zeroVal bool - return zeroVal, errors.New("directive canApproveVersions is not implemented") - } - return ec.directives.CanApproveVersions(ctx, nil, directive0) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal bool - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(bool); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_denyVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_denyVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _OAuthOptions_github(ctx context.Context, field graphql.CollectedField, obj *OAuthOptions) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_OAuthOptions_github(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Github, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_OAuthOptions_github(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "OAuthOptions", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _OAuthOptions_google(ctx context.Context, field graphql.CollectedField, obj *OAuthOptions) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_OAuthOptions_google(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Google, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_OAuthOptions_google(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "OAuthOptions", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _OAuthOptions_facebook(ctx context.Context, field graphql.CollectedField, obj *OAuthOptions) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_OAuthOptions_facebook(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Facebook, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_OAuthOptions_facebook(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "OAuthOptions", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Query_getOAuthOptions(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getOAuthOptions(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetOAuthOptions(rctx, fc.Args["callback_url"].(string)) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*OAuthOptions) - fc.Result = res - return ec.marshalNOAuthOptions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOAuthOptions(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getOAuthOptions(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "github": - return ec.fieldContext_OAuthOptions_github(ctx, field) - case "google": - return ec.fieldContext_OAuthOptions_google(ctx, field) - case "facebook": - return ec.fieldContext_OAuthOptions_facebook(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type OAuthOptions", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getOAuthOptions_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getAnnouncement(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getAnnouncement(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetAnnouncement(rctx, fc.Args["announcementId"].(string)) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Announcement) - fc.Result = res - return ec.marshalOAnnouncement2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncement(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getAnnouncement(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Announcement_id(ctx, field) - case "message": - return ec.fieldContext_Announcement_message(ctx, field) - case "importance": - return ec.fieldContext_Announcement_importance(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Announcement", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getAnnouncement_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getAnnouncements(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getAnnouncements(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetAnnouncements(rctx) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Announcement) - fc.Result = res - return ec.marshalNAnnouncement2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getAnnouncements(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Announcement_id(ctx, field) - case "message": - return ec.fieldContext_Announcement_message(ctx, field) - case "importance": - return ec.fieldContext_Announcement_importance(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Announcement", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _Query_getAnnouncementsByImportance(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getAnnouncementsByImportance(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetAnnouncementsByImportance(rctx, fc.Args["importance"].(AnnouncementImportance)) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Announcement) - fc.Result = res - return ec.marshalNAnnouncement2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getAnnouncementsByImportance(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Announcement_id(ctx, field) - case "message": - return ec.fieldContext_Announcement_message(ctx, field) - case "importance": - return ec.fieldContext_Announcement_importance(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Announcement", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getAnnouncementsByImportance_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getGuide(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getGuide(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetGuide(rctx, fc.Args["guideId"].(string)) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Guide) - fc.Result = res - return ec.marshalOGuide2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuide(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getGuide(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Guide_id(ctx, field) - case "name": - return ec.fieldContext_Guide_name(ctx, field) - case "short_description": - return ec.fieldContext_Guide_short_description(ctx, field) - case "guide": - return ec.fieldContext_Guide_guide(ctx, field) - case "views": - return ec.fieldContext_Guide_views(ctx, field) - case "user_id": - return ec.fieldContext_Guide_user_id(ctx, field) - case "updated_at": - return ec.fieldContext_Guide_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Guide_created_at(ctx, field) - case "tags": - return ec.fieldContext_Guide_tags(ctx, field) - case "user": - return ec.fieldContext_Guide_user(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Guide", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getGuide_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getGuides(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getGuides(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetGuides(rctx, fc.Args["filter"].(map[string]interface{})) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*GetGuides) - fc.Result = res - return ec.marshalNGetGuides2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetGuides(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getGuides(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "guides": - return ec.fieldContext_GetGuides_guides(ctx, field) - case "count": - return ec.fieldContext_GetGuides_count(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type GetGuides", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getGuides_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getMod(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getMod(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetMod(rctx, fc.Args["modId"].(string)) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Mod) - fc.Result = res - return ec.marshalOMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getMod(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Mod_id(ctx, field) - case "name": - return ec.fieldContext_Mod_name(ctx, field) - case "short_description": - return ec.fieldContext_Mod_short_description(ctx, field) - case "full_description": - return ec.fieldContext_Mod_full_description(ctx, field) - case "logo": - return ec.fieldContext_Mod_logo(ctx, field) - case "logo_thumbhash": - return ec.fieldContext_Mod_logo_thumbhash(ctx, field) - case "source_url": - return ec.fieldContext_Mod_source_url(ctx, field) - case "creator_id": - return ec.fieldContext_Mod_creator_id(ctx, field) - case "approved": - return ec.fieldContext_Mod_approved(ctx, field) - case "views": - return ec.fieldContext_Mod_views(ctx, field) - case "downloads": - return ec.fieldContext_Mod_downloads(ctx, field) - case "hotness": - return ec.fieldContext_Mod_hotness(ctx, field) - case "popularity": - return ec.fieldContext_Mod_popularity(ctx, field) - case "updated_at": - return ec.fieldContext_Mod_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Mod_created_at(ctx, field) - case "last_version_date": - return ec.fieldContext_Mod_last_version_date(ctx, field) - case "mod_reference": - return ec.fieldContext_Mod_mod_reference(ctx, field) - case "hidden": - return ec.fieldContext_Mod_hidden(ctx, field) - case "tags": - return ec.fieldContext_Mod_tags(ctx, field) - case "compatibility": - return ec.fieldContext_Mod_compatibility(ctx, field) - case "toggle_network_use": - return ec.fieldContext_Mod_toggle_network_use(ctx, field) - case "toggle_explicit_content": - return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) - case "authors": - return ec.fieldContext_Mod_authors(ctx, field) - case "version": - return ec.fieldContext_Mod_version(ctx, field) - case "versions": - return ec.fieldContext_Mod_versions(ctx, field) - case "latestVersions": - return ec.fieldContext_Mod_latestVersions(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getMod_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getModByReference(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getModByReference(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetModByReference(rctx, fc.Args["modReference"].(string)) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Mod) - fc.Result = res - return ec.marshalOMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getModByReference(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Mod_id(ctx, field) - case "name": - return ec.fieldContext_Mod_name(ctx, field) - case "short_description": - return ec.fieldContext_Mod_short_description(ctx, field) - case "full_description": - return ec.fieldContext_Mod_full_description(ctx, field) - case "logo": - return ec.fieldContext_Mod_logo(ctx, field) - case "logo_thumbhash": - return ec.fieldContext_Mod_logo_thumbhash(ctx, field) - case "source_url": - return ec.fieldContext_Mod_source_url(ctx, field) - case "creator_id": - return ec.fieldContext_Mod_creator_id(ctx, field) - case "approved": - return ec.fieldContext_Mod_approved(ctx, field) - case "views": - return ec.fieldContext_Mod_views(ctx, field) - case "downloads": - return ec.fieldContext_Mod_downloads(ctx, field) - case "hotness": - return ec.fieldContext_Mod_hotness(ctx, field) - case "popularity": - return ec.fieldContext_Mod_popularity(ctx, field) - case "updated_at": - return ec.fieldContext_Mod_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Mod_created_at(ctx, field) - case "last_version_date": - return ec.fieldContext_Mod_last_version_date(ctx, field) - case "mod_reference": - return ec.fieldContext_Mod_mod_reference(ctx, field) - case "hidden": - return ec.fieldContext_Mod_hidden(ctx, field) - case "tags": - return ec.fieldContext_Mod_tags(ctx, field) - case "compatibility": - return ec.fieldContext_Mod_compatibility(ctx, field) - case "toggle_network_use": - return ec.fieldContext_Mod_toggle_network_use(ctx, field) - case "toggle_explicit_content": - return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) - case "authors": - return ec.fieldContext_Mod_authors(ctx, field) - case "version": - return ec.fieldContext_Mod_version(ctx, field) - case "versions": - return ec.fieldContext_Mod_versions(ctx, field) - case "latestVersions": - return ec.fieldContext_Mod_latestVersions(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getModByReference_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getModByIdOrReference(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getModByIdOrReference(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetModByIDOrReference(rctx, fc.Args["modIdOrReference"].(string)) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Mod) - fc.Result = res - return ec.marshalOMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getModByIdOrReference(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Mod_id(ctx, field) - case "name": - return ec.fieldContext_Mod_name(ctx, field) - case "short_description": - return ec.fieldContext_Mod_short_description(ctx, field) - case "full_description": - return ec.fieldContext_Mod_full_description(ctx, field) - case "logo": - return ec.fieldContext_Mod_logo(ctx, field) - case "logo_thumbhash": - return ec.fieldContext_Mod_logo_thumbhash(ctx, field) - case "source_url": - return ec.fieldContext_Mod_source_url(ctx, field) - case "creator_id": - return ec.fieldContext_Mod_creator_id(ctx, field) - case "approved": - return ec.fieldContext_Mod_approved(ctx, field) - case "views": - return ec.fieldContext_Mod_views(ctx, field) - case "downloads": - return ec.fieldContext_Mod_downloads(ctx, field) - case "hotness": - return ec.fieldContext_Mod_hotness(ctx, field) - case "popularity": - return ec.fieldContext_Mod_popularity(ctx, field) - case "updated_at": - return ec.fieldContext_Mod_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Mod_created_at(ctx, field) - case "last_version_date": - return ec.fieldContext_Mod_last_version_date(ctx, field) - case "mod_reference": - return ec.fieldContext_Mod_mod_reference(ctx, field) - case "hidden": - return ec.fieldContext_Mod_hidden(ctx, field) - case "tags": - return ec.fieldContext_Mod_tags(ctx, field) - case "compatibility": - return ec.fieldContext_Mod_compatibility(ctx, field) - case "toggle_network_use": - return ec.fieldContext_Mod_toggle_network_use(ctx, field) - case "toggle_explicit_content": - return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) - case "authors": - return ec.fieldContext_Mod_authors(ctx, field) - case "version": - return ec.fieldContext_Mod_version(ctx, field) - case "versions": - return ec.fieldContext_Mod_versions(ctx, field) - case "latestVersions": - return ec.fieldContext_Mod_latestVersions(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getModByIdOrReference_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getMods(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getMods(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetMods(rctx, fc.Args["filter"].(map[string]interface{})) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*GetMods) - fc.Result = res - return ec.marshalNGetMods2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMods(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getMods(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "mods": - return ec.fieldContext_GetMods_mods(ctx, field) - case "count": - return ec.fieldContext_GetMods_count(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type GetMods", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getMods_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getUnapprovedMods(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getUnapprovedMods(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetUnapprovedMods(rctx, fc.Args["filter"].(map[string]interface{})) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.CanApproveMods == nil { - var zeroVal *GetMods - return zeroVal, errors.New("directive canApproveMods is not implemented") - } - return ec.directives.CanApproveMods(ctx, nil, directive0) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *GetMods - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*GetMods); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.GetMods`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*GetMods) - fc.Result = res - return ec.marshalNGetMods2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMods(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getUnapprovedMods(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "mods": - return ec.fieldContext_GetMods_mods(ctx, field) - case "count": - return ec.fieldContext_GetMods_count(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type GetMods", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getUnapprovedMods_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getMyMods(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getMyMods(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetMyMods(rctx, fc.Args["filter"].(map[string]interface{})) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *GetMyMods - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive0) - } - - tmp, err := directive1(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*GetMyMods); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.GetMyMods`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*GetMyMods) - fc.Result = res - return ec.marshalNGetMyMods2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMyMods(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getMyMods(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "mods": - return ec.fieldContext_GetMyMods_mods(ctx, field) - case "count": - return ec.fieldContext_GetMyMods_count(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type GetMyMods", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getMyMods_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getMyUnapprovedMods(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getMyUnapprovedMods(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetMyUnapprovedMods(rctx, fc.Args["filter"].(map[string]interface{})) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *GetMyMods - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive0) - } - - tmp, err := directive1(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*GetMyMods); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.GetMyMods`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*GetMyMods) - fc.Result = res - return ec.marshalNGetMyMods2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMyMods(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getMyUnapprovedMods(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "mods": - return ec.fieldContext_GetMyMods_mods(ctx, field) - case "count": - return ec.fieldContext_GetMyMods_count(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type GetMyMods", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getMyUnapprovedMods_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_resolveModVersions(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_resolveModVersions(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().ResolveModVersions(rctx, fc.Args["filter"].([]*ModVersionConstraint)) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*ModVersion) - fc.Result = res - return ec.marshalNModVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModVersionᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_resolveModVersions(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_ModVersion_id(ctx, field) - case "mod_reference": - return ec.fieldContext_ModVersion_mod_reference(ctx, field) - case "versions": - return ec.fieldContext_ModVersion_versions(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type ModVersion", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_resolveModVersions_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getModAssetList(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getModAssetList(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetModAssetList(rctx, fc.Args["modReference"].(string)) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]string) - fc.Result = res - return ec.marshalNString2ᚕstringᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getModAssetList(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getModAssetList_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getSatisfactoryVersions(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getSatisfactoryVersions(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetSatisfactoryVersions(rctx) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*SatisfactoryVersion) - fc.Result = res - return ec.marshalNSatisfactoryVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSatisfactoryVersionᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getSatisfactoryVersions(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_SatisfactoryVersion_id(ctx, field) - case "version": - return ec.fieldContext_SatisfactoryVersion_version(ctx, field) - case "engine_version": - return ec.fieldContext_SatisfactoryVersion_engine_version(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type SatisfactoryVersion", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _Query_getSatisfactoryVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getSatisfactoryVersion(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetSatisfactoryVersion(rctx, fc.Args["id"].(string)) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*SatisfactoryVersion) - fc.Result = res - return ec.marshalOSatisfactoryVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSatisfactoryVersion(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getSatisfactoryVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_SatisfactoryVersion_id(ctx, field) - case "version": - return ec.fieldContext_SatisfactoryVersion_version(ctx, field) - case "engine_version": - return ec.fieldContext_SatisfactoryVersion_engine_version(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type SatisfactoryVersion", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getSatisfactoryVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getSMLVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getSMLVersion(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetSMLVersion(rctx, fc.Args["smlVersionID"].(string)) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*SMLVersion) - fc.Result = res - return ec.marshalOSMLVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersion(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getSMLVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_SMLVersion_id(ctx, field) - case "version": - return ec.fieldContext_SMLVersion_version(ctx, field) - case "satisfactory_version": - return ec.fieldContext_SMLVersion_satisfactory_version(ctx, field) - case "stability": - return ec.fieldContext_SMLVersion_stability(ctx, field) - case "link": - return ec.fieldContext_SMLVersion_link(ctx, field) - case "targets": - return ec.fieldContext_SMLVersion_targets(ctx, field) - case "changelog": - return ec.fieldContext_SMLVersion_changelog(ctx, field) - case "date": - return ec.fieldContext_SMLVersion_date(ctx, field) - case "bootstrap_version": - return ec.fieldContext_SMLVersion_bootstrap_version(ctx, field) - case "engine_version": - return ec.fieldContext_SMLVersion_engine_version(ctx, field) - case "updated_at": - return ec.fieldContext_SMLVersion_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_SMLVersion_created_at(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type SMLVersion", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getSMLVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getSMLVersions(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getSMLVersions(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetSMLVersions(rctx, fc.Args["filter"].(map[string]interface{})) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*GetSMLVersions) - fc.Result = res - return ec.marshalNGetSMLVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetSMLVersions(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getSMLVersions(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "sml_versions": - return ec.fieldContext_GetSMLVersions_sml_versions(ctx, field) - case "count": - return ec.fieldContext_GetSMLVersions_count(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type GetSMLVersions", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getSMLVersions_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getTag(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getTag(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetTag(rctx, fc.Args["tagID"].(string)) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Tag) - fc.Result = res - return ec.marshalOTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTag(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getTag(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Tag_id(ctx, field) - case "name": - return ec.fieldContext_Tag_name(ctx, field) - case "description": - return ec.fieldContext_Tag_description(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Tag", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getTag_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getTags(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getTags(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetTags(rctx, fc.Args["filter"].(*TagFilter)) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Tag) - fc.Result = res - return ec.marshalNTag2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTagᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getTags(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Tag_id(ctx, field) - case "name": - return ec.fieldContext_Tag_name(ctx, field) - case "description": - return ec.fieldContext_Tag_description(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Tag", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getTags_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getMe(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getMe(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetMe(rctx) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *User - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive0) - } - - tmp, err := directive1(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*User); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.User`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*User) - fc.Result = res - return ec.marshalOUser2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getMe(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_User_id(ctx, field) - case "email": - return ec.fieldContext_User_email(ctx, field) - case "username": - return ec.fieldContext_User_username(ctx, field) - case "avatar": - return ec.fieldContext_User_avatar(ctx, field) - case "avatar_thumbhash": - return ec.fieldContext_User_avatar_thumbhash(ctx, field) - case "created_at": - return ec.fieldContext_User_created_at(ctx, field) - case "github_id": - return ec.fieldContext_User_github_id(ctx, field) - case "google_id": - return ec.fieldContext_User_google_id(ctx, field) - case "facebook_id": - return ec.fieldContext_User_facebook_id(ctx, field) - case "roles": - return ec.fieldContext_User_roles(ctx, field) - case "groups": - return ec.fieldContext_User_groups(ctx, field) - case "mods": - return ec.fieldContext_User_mods(ctx, field) - case "guides": - return ec.fieldContext_User_guides(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type User", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _Query_getUser(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getUser(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetUser(rctx, fc.Args["userId"].(string)) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*User) - fc.Result = res - return ec.marshalOUser2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getUser(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_User_id(ctx, field) - case "email": - return ec.fieldContext_User_email(ctx, field) - case "username": - return ec.fieldContext_User_username(ctx, field) - case "avatar": - return ec.fieldContext_User_avatar(ctx, field) - case "avatar_thumbhash": - return ec.fieldContext_User_avatar_thumbhash(ctx, field) - case "created_at": - return ec.fieldContext_User_created_at(ctx, field) - case "github_id": - return ec.fieldContext_User_github_id(ctx, field) - case "google_id": - return ec.fieldContext_User_google_id(ctx, field) - case "facebook_id": - return ec.fieldContext_User_facebook_id(ctx, field) - case "roles": - return ec.fieldContext_User_roles(ctx, field) - case "groups": - return ec.fieldContext_User_groups(ctx, field) - case "mods": - return ec.fieldContext_User_mods(ctx, field) - case "guides": - return ec.fieldContext_User_guides(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type User", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getUser_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getUsers(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getUsers(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetUsers(rctx, fc.Args["userIds"].([]string)) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*User) - fc.Result = res - return ec.marshalNUser2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getUsers(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_User_id(ctx, field) - case "email": - return ec.fieldContext_User_email(ctx, field) - case "username": - return ec.fieldContext_User_username(ctx, field) - case "avatar": - return ec.fieldContext_User_avatar(ctx, field) - case "avatar_thumbhash": - return ec.fieldContext_User_avatar_thumbhash(ctx, field) - case "created_at": - return ec.fieldContext_User_created_at(ctx, field) - case "github_id": - return ec.fieldContext_User_github_id(ctx, field) - case "google_id": - return ec.fieldContext_User_google_id(ctx, field) - case "facebook_id": - return ec.fieldContext_User_facebook_id(ctx, field) - case "roles": - return ec.fieldContext_User_roles(ctx, field) - case "groups": - return ec.fieldContext_User_groups(ctx, field) - case "mods": - return ec.fieldContext_User_mods(ctx, field) - case "guides": - return ec.fieldContext_User_guides(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type User", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getUsers_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getVersion(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetVersion(rctx, fc.Args["versionId"].(string)) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Version) - fc.Result = res - return ec.marshalOVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Version_id(ctx, field) - case "mod_id": - return ec.fieldContext_Version_mod_id(ctx, field) - case "version": - return ec.fieldContext_Version_version(ctx, field) - case "sml_version": - return ec.fieldContext_Version_sml_version(ctx, field) - case "game_version": - return ec.fieldContext_Version_game_version(ctx, field) - case "required_on_remote": - return ec.fieldContext_Version_required_on_remote(ctx, field) - case "changelog": - return ec.fieldContext_Version_changelog(ctx, field) - case "downloads": - return ec.fieldContext_Version_downloads(ctx, field) - case "stability": - return ec.fieldContext_Version_stability(ctx, field) - case "approved": - return ec.fieldContext_Version_approved(ctx, field) - case "updated_at": - return ec.fieldContext_Version_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Version_created_at(ctx, field) - case "link": - return ec.fieldContext_Version_link(ctx, field) - case "targets": - return ec.fieldContext_Version_targets(ctx, field) - case "metadata": - return ec.fieldContext_Version_metadata(ctx, field) - case "size": - return ec.fieldContext_Version_size(ctx, field) - case "hash": - return ec.fieldContext_Version_hash(ctx, field) - case "mod": - return ec.fieldContext_Version_mod(ctx, field) - case "dependencies": - return ec.fieldContext_Version_dependencies(ctx, field) - case "virustotal_results": - return ec.fieldContext_Version_virustotal_results(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getVersions(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getVersions(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetVersions(rctx, fc.Args["filter"].(map[string]interface{})) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*GetVersions) - fc.Result = res - return ec.marshalNGetVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetVersions(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getVersions(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "versions": - return ec.fieldContext_GetVersions_versions(ctx, field) - case "count": - return ec.fieldContext_GetVersions_count(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type GetVersions", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getVersions_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getUnapprovedVersions(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getUnapprovedVersions(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetUnapprovedVersions(rctx, fc.Args["filter"].(map[string]interface{})) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.CanApproveVersions == nil { - var zeroVal *GetVersions - return zeroVal, errors.New("directive canApproveVersions is not implemented") - } - return ec.directives.CanApproveVersions(ctx, nil, directive0) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *GetVersions - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*GetVersions); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.GetVersions`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*GetVersions) - fc.Result = res - return ec.marshalNGetVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetVersions(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getUnapprovedVersions(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "versions": - return ec.fieldContext_GetVersions_versions(ctx, field) - case "count": - return ec.fieldContext_GetVersions_count(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type GetVersions", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getUnapprovedVersions_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_checkVersionUploadState(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_checkVersionUploadState(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().CheckVersionUploadState(rctx, fc.Args["modId"].(string), fc.Args["versionId"].(string)) - } - - directive1 := func(ctx context.Context) (any, error) { - field, err := ec.unmarshalNString2string(ctx, "modId") - if err != nil { - var zeroVal *CreateVersionResponse - return zeroVal, err - } - if ec.directives.CanEditMod == nil { - var zeroVal *CreateVersionResponse - return zeroVal, errors.New("directive canEditMod is not implemented") - } - return ec.directives.CanEditMod(ctx, nil, directive0, field) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *CreateVersionResponse - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*CreateVersionResponse); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.CreateVersionResponse`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*CreateVersionResponse) - fc.Result = res - return ec.marshalOCreateVersionResponse2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCreateVersionResponse(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_checkVersionUploadState(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "auto_approved": - return ec.fieldContext_CreateVersionResponse_auto_approved(ctx, field) - case "version": - return ec.fieldContext_CreateVersionResponse_version(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type CreateVersionResponse", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_checkVersionUploadState_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getMyVersions(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getMyVersions(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetMyVersions(rctx, fc.Args["filter"].(map[string]interface{})) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *GetMyVersions - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive0) - } - - tmp, err := directive1(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*GetMyVersions); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.GetMyVersions`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*GetMyVersions) - fc.Result = res - return ec.marshalNGetMyVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMyVersions(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getMyVersions(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "versions": - return ec.fieldContext_GetMyVersions_versions(ctx, field) - case "count": - return ec.fieldContext_GetMyVersions_count(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type GetMyVersions", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getMyVersions_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getMyUnapprovedVersions(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getMyUnapprovedVersions(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetMyUnapprovedVersions(rctx, fc.Args["filter"].(map[string]interface{})) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *GetMyVersions - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive0) - } - - tmp, err := directive1(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*GetMyVersions); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.GetMyVersions`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*GetMyVersions) - fc.Result = res - return ec.marshalNGetMyVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMyVersions(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getMyUnapprovedVersions(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "versions": - return ec.fieldContext_GetMyVersions_versions(ctx, field) - case "count": - return ec.fieldContext_GetMyVersions_count(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type GetMyVersions", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getMyUnapprovedVersions_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query___type(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query___type(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.introspectType(fc.Args["name"].(string)) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*introspection.Type) - fc.Result = res - return ec.marshalO__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query___type(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "kind": - return ec.fieldContext___Type_kind(ctx, field) - case "name": - return ec.fieldContext___Type_name(ctx, field) - case "description": - return ec.fieldContext___Type_description(ctx, field) - case "specifiedByURL": - return ec.fieldContext___Type_specifiedByURL(ctx, field) - case "fields": - return ec.fieldContext___Type_fields(ctx, field) - case "interfaces": - return ec.fieldContext___Type_interfaces(ctx, field) - case "possibleTypes": - return ec.fieldContext___Type_possibleTypes(ctx, field) - case "enumValues": - return ec.fieldContext___Type_enumValues(ctx, field) - case "inputFields": - return ec.fieldContext___Type_inputFields(ctx, field) - case "ofType": - return ec.fieldContext___Type_ofType(ctx, field) - case "isOneOf": - return ec.fieldContext___Type_isOneOf(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query___type_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query___schema(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query___schema(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.introspectSchema() - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*introspection.Schema) - fc.Result = res - return ec.marshalO__Schema2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐSchema(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query___schema(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "description": - return ec.fieldContext___Schema_description(ctx, field) - case "types": - return ec.fieldContext___Schema_types(ctx, field) - case "queryType": - return ec.fieldContext___Schema_queryType(ctx, field) - case "mutationType": - return ec.fieldContext___Schema_mutationType(ctx, field) - case "subscriptionType": - return ec.fieldContext___Schema_subscriptionType(ctx, field) - case "directives": - return ec.fieldContext___Schema_directives(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type __Schema", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _SMLVersion_id(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SMLVersion_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNSMLVersionID2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_SMLVersion_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "SMLVersion", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type SMLVersionID does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _SMLVersion_version(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SMLVersion_version(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Version, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_SMLVersion_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "SMLVersion", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _SMLVersion_satisfactory_version(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SMLVersion_satisfactory_version(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.SatisfactoryVersion, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - fc.Result = res - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_SMLVersion_satisfactory_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "SMLVersion", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Int does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _SMLVersion_stability(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SMLVersion_stability(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Stability, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(VersionStabilities) - fc.Result = res - return ec.marshalNVersionStabilities2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionStabilities(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_SMLVersion_stability(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "SMLVersion", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type VersionStabilities does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _SMLVersion_link(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SMLVersion_link(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.SMLVersion().Link(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_SMLVersion_link(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "SMLVersion", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _SMLVersion_targets(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SMLVersion_targets(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Targets, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*SMLVersionTarget) - fc.Result = res - return ec.marshalNSMLVersionTarget2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersionTarget(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_SMLVersion_targets(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "SMLVersion", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "VersionID": - return ec.fieldContext_SMLVersionTarget_VersionID(ctx, field) - case "targetName": - return ec.fieldContext_SMLVersionTarget_targetName(ctx, field) - case "link": - return ec.fieldContext_SMLVersionTarget_link(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type SMLVersionTarget", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _SMLVersion_changelog(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SMLVersion_changelog(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Changelog, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_SMLVersion_changelog(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "SMLVersion", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _SMLVersion_date(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SMLVersion_date(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Date, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNDate2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_SMLVersion_date(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "SMLVersion", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Date does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _SMLVersion_bootstrap_version(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SMLVersion_bootstrap_version(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.SMLVersion().BootstrapVersion(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_SMLVersion_bootstrap_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "SMLVersion", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _SMLVersion_engine_version(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SMLVersion_engine_version(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.SMLVersion().EngineVersion(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_SMLVersion_engine_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "SMLVersion", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _SMLVersion_updated_at(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SMLVersion_updated_at(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.UpdatedAt, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNDate2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_SMLVersion_updated_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "SMLVersion", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Date does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _SMLVersion_created_at(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SMLVersion_created_at(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.CreatedAt, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNDate2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_SMLVersion_created_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "SMLVersion", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Date does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _SMLVersionTarget_VersionID(ctx context.Context, field graphql.CollectedField, obj *SMLVersionTarget) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SMLVersionTarget_VersionID(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.VersionID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNSMLVersionID2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_SMLVersionTarget_VersionID(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "SMLVersionTarget", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type SMLVersionID does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _SMLVersionTarget_targetName(ctx context.Context, field graphql.CollectedField, obj *SMLVersionTarget) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SMLVersionTarget_targetName(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.TargetName, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(TargetName) - fc.Result = res - return ec.marshalNTargetName2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTargetName(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_SMLVersionTarget_targetName(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "SMLVersionTarget", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type TargetName does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _SMLVersionTarget_link(ctx context.Context, field graphql.CollectedField, obj *SMLVersionTarget) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SMLVersionTarget_link(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.SMLVersionTarget().Link(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_SMLVersionTarget_link(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "SMLVersionTarget", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _SatisfactoryVersion_id(ctx context.Context, field graphql.CollectedField, obj *SatisfactoryVersion) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SatisfactoryVersion_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNSatisfactoryVersionID2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_SatisfactoryVersion_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "SatisfactoryVersion", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type SatisfactoryVersionID does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _SatisfactoryVersion_version(ctx context.Context, field graphql.CollectedField, obj *SatisfactoryVersion) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SatisfactoryVersion_version(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Version, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - fc.Result = res - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_SatisfactoryVersion_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "SatisfactoryVersion", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Int does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _SatisfactoryVersion_engine_version(ctx context.Context, field graphql.CollectedField, obj *SatisfactoryVersion) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SatisfactoryVersion_engine_version(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.EngineVersion, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_SatisfactoryVersion_engine_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "SatisfactoryVersion", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Tag_id(ctx context.Context, field graphql.CollectedField, obj *Tag) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Tag_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNTagID2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Tag_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Tag", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type TagID does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Tag_name(ctx context.Context, field graphql.CollectedField, obj *Tag) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Tag_name(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Name, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNTagName2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Tag_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Tag", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type TagName does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Tag_description(ctx context.Context, field graphql.CollectedField, obj *Tag) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Tag_description(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Description, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Tag_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Tag", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _User_id(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_User_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNUserID2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_User_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "User", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type UserID does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _User_email(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_User_email(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Email, nil - } - - directive1 := func(ctx context.Context) (any, error) { - field, err := ec.unmarshalNString2string(ctx, "ID") - if err != nil { - var zeroVal *string - return zeroVal, err - } - object, err := ec.unmarshalNBoolean2bool(ctx, true) - if err != nil { - var zeroVal *string - return zeroVal, err - } - if ec.directives.CanEditUser == nil { - var zeroVal *string - return zeroVal, errors.New("directive canEditUser is not implemented") - } - return ec.directives.CanEditUser(ctx, obj, directive0, field, object) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *string - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, obj, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*string); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *string`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_User_email(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "User", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _User_username(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_User_username(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Username, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_User_username(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "User", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _User_avatar(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_User_avatar(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Avatar, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_User_avatar(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "User", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _User_avatar_thumbhash(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_User_avatar_thumbhash(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.AvatarThumbhash, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_User_avatar_thumbhash(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "User", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _User_created_at(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_User_created_at(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.CreatedAt, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNDate2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_User_created_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "User", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Date does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _User_github_id(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_User_github_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.GithubID, nil - } - - directive1 := func(ctx context.Context) (any, error) { - field, err := ec.unmarshalNString2string(ctx, "ID") - if err != nil { - var zeroVal *string - return zeroVal, err - } - object, err := ec.unmarshalNBoolean2bool(ctx, true) - if err != nil { - var zeroVal *string - return zeroVal, err - } - if ec.directives.CanEditUser == nil { - var zeroVal *string - return zeroVal, errors.New("directive canEditUser is not implemented") - } - return ec.directives.CanEditUser(ctx, obj, directive0, field, object) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *string - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, obj, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*string); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *string`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_User_github_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "User", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _User_google_id(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_User_google_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.GoogleID, nil - } - - directive1 := func(ctx context.Context) (any, error) { - field, err := ec.unmarshalNString2string(ctx, "ID") - if err != nil { - var zeroVal *string - return zeroVal, err - } - object, err := ec.unmarshalNBoolean2bool(ctx, true) - if err != nil { - var zeroVal *string - return zeroVal, err - } - if ec.directives.CanEditUser == nil { - var zeroVal *string - return zeroVal, errors.New("directive canEditUser is not implemented") - } - return ec.directives.CanEditUser(ctx, obj, directive0, field, object) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *string - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, obj, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*string); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *string`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_User_google_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "User", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _User_facebook_id(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_User_facebook_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.FacebookID, nil - } - - directive1 := func(ctx context.Context) (any, error) { - field, err := ec.unmarshalNString2string(ctx, "ID") - if err != nil { - var zeroVal *string - return zeroVal, err - } - object, err := ec.unmarshalNBoolean2bool(ctx, true) - if err != nil { - var zeroVal *string - return zeroVal, err - } - if ec.directives.CanEditUser == nil { - var zeroVal *string - return zeroVal, errors.New("directive canEditUser is not implemented") - } - return ec.directives.CanEditUser(ctx, obj, directive0, field, object) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *string - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, obj, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*string); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *string`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_User_facebook_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "User", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _User_roles(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_User_roles(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.User().Roles(rctx, obj) - } - - directive1 := func(ctx context.Context) (any, error) { - field, err := ec.unmarshalNString2string(ctx, "ID") - if err != nil { - var zeroVal *UserRoles - return zeroVal, err - } - object, err := ec.unmarshalNBoolean2bool(ctx, true) - if err != nil { - var zeroVal *UserRoles - return zeroVal, err - } - if ec.directives.CanEditUser == nil { - var zeroVal *UserRoles - return zeroVal, errors.New("directive canEditUser is not implemented") - } - return ec.directives.CanEditUser(ctx, obj, directive0, field, object) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *UserRoles - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, obj, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*UserRoles); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.UserRoles`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*UserRoles) - fc.Result = res - return ec.marshalNUserRoles2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserRoles(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_User_roles(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "User", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "approveMods": - return ec.fieldContext_UserRoles_approveMods(ctx, field) - case "approveVersions": - return ec.fieldContext_UserRoles_approveVersions(ctx, field) - case "deleteContent": - return ec.fieldContext_UserRoles_deleteContent(ctx, field) - case "editContent": - return ec.fieldContext_UserRoles_editContent(ctx, field) - case "editUsers": - return ec.fieldContext_UserRoles_editUsers(ctx, field) - case "editSatisfactoryVersions": - return ec.fieldContext_UserRoles_editSatisfactoryVersions(ctx, field) - case "editBootstrapVersions": - return ec.fieldContext_UserRoles_editBootstrapVersions(ctx, field) - case "editAnyModCompatibility": - return ec.fieldContext_UserRoles_editAnyModCompatibility(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type UserRoles", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _User_groups(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_User_groups(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.User().Groups(rctx, obj) - } - - directive1 := func(ctx context.Context) (any, error) { - field, err := ec.unmarshalNString2string(ctx, "ID") - if err != nil { - var zeroVal []*Group - return zeroVal, err - } - object, err := ec.unmarshalNBoolean2bool(ctx, true) - if err != nil { - var zeroVal []*Group - return zeroVal, err - } - if ec.directives.CanEditUser == nil { - var zeroVal []*Group - return zeroVal, errors.New("directive canEditUser is not implemented") - } - return ec.directives.CanEditUser(ctx, obj, directive0, field, object) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal []*Group - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, obj, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.([]*Group); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be []*github.com/satisfactorymodding/smr-api/generated.Group`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Group) - fc.Result = res - return ec.marshalNGroup2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGroupᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_User_groups(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "User", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Group_id(ctx, field) - case "name": - return ec.fieldContext_Group_name(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Group", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _User_mods(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_User_mods(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.User().Mods(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*UserMod) - fc.Result = res - return ec.marshalNUserMod2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserModᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_User_mods(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "User", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "user_id": - return ec.fieldContext_UserMod_user_id(ctx, field) - case "mod_id": - return ec.fieldContext_UserMod_mod_id(ctx, field) - case "role": - return ec.fieldContext_UserMod_role(ctx, field) - case "user": - return ec.fieldContext_UserMod_user(ctx, field) - case "mod": - return ec.fieldContext_UserMod_mod(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type UserMod", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _User_guides(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_User_guides(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.User().Guides(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Guide) - fc.Result = res - return ec.marshalNGuide2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuideᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_User_guides(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "User", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Guide_id(ctx, field) - case "name": - return ec.fieldContext_Guide_name(ctx, field) - case "short_description": - return ec.fieldContext_Guide_short_description(ctx, field) - case "guide": - return ec.fieldContext_Guide_guide(ctx, field) - case "views": - return ec.fieldContext_Guide_views(ctx, field) - case "user_id": - return ec.fieldContext_Guide_user_id(ctx, field) - case "updated_at": - return ec.fieldContext_Guide_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Guide_created_at(ctx, field) - case "tags": - return ec.fieldContext_Guide_tags(ctx, field) - case "user": - return ec.fieldContext_Guide_user(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Guide", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _UserMod_user_id(ctx context.Context, field graphql.CollectedField, obj *UserMod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_UserMod_user_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.UserID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNUserID2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_UserMod_user_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "UserMod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type UserID does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _UserMod_mod_id(ctx context.Context, field graphql.CollectedField, obj *UserMod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_UserMod_mod_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ModID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNModID2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_UserMod_mod_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "UserMod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type ModID does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _UserMod_role(ctx context.Context, field graphql.CollectedField, obj *UserMod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_UserMod_role(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Role, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_UserMod_role(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "UserMod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _UserMod_user(ctx context.Context, field graphql.CollectedField, obj *UserMod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_UserMod_user(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.UserMod().User(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*User) - fc.Result = res - return ec.marshalNUser2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_UserMod_user(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "UserMod", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_User_id(ctx, field) - case "email": - return ec.fieldContext_User_email(ctx, field) - case "username": - return ec.fieldContext_User_username(ctx, field) - case "avatar": - return ec.fieldContext_User_avatar(ctx, field) - case "avatar_thumbhash": - return ec.fieldContext_User_avatar_thumbhash(ctx, field) - case "created_at": - return ec.fieldContext_User_created_at(ctx, field) - case "github_id": - return ec.fieldContext_User_github_id(ctx, field) - case "google_id": - return ec.fieldContext_User_google_id(ctx, field) - case "facebook_id": - return ec.fieldContext_User_facebook_id(ctx, field) - case "roles": - return ec.fieldContext_User_roles(ctx, field) - case "groups": - return ec.fieldContext_User_groups(ctx, field) - case "mods": - return ec.fieldContext_User_mods(ctx, field) - case "guides": - return ec.fieldContext_User_guides(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type User", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _UserMod_mod(ctx context.Context, field graphql.CollectedField, obj *UserMod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_UserMod_mod(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.UserMod().Mod(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*Mod) - fc.Result = res - return ec.marshalNMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_UserMod_mod(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "UserMod", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Mod_id(ctx, field) - case "name": - return ec.fieldContext_Mod_name(ctx, field) - case "short_description": - return ec.fieldContext_Mod_short_description(ctx, field) - case "full_description": - return ec.fieldContext_Mod_full_description(ctx, field) - case "logo": - return ec.fieldContext_Mod_logo(ctx, field) - case "logo_thumbhash": - return ec.fieldContext_Mod_logo_thumbhash(ctx, field) - case "source_url": - return ec.fieldContext_Mod_source_url(ctx, field) - case "creator_id": - return ec.fieldContext_Mod_creator_id(ctx, field) - case "approved": - return ec.fieldContext_Mod_approved(ctx, field) - case "views": - return ec.fieldContext_Mod_views(ctx, field) - case "downloads": - return ec.fieldContext_Mod_downloads(ctx, field) - case "hotness": - return ec.fieldContext_Mod_hotness(ctx, field) - case "popularity": - return ec.fieldContext_Mod_popularity(ctx, field) - case "updated_at": - return ec.fieldContext_Mod_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Mod_created_at(ctx, field) - case "last_version_date": - return ec.fieldContext_Mod_last_version_date(ctx, field) - case "mod_reference": - return ec.fieldContext_Mod_mod_reference(ctx, field) - case "hidden": - return ec.fieldContext_Mod_hidden(ctx, field) - case "tags": - return ec.fieldContext_Mod_tags(ctx, field) - case "compatibility": - return ec.fieldContext_Mod_compatibility(ctx, field) - case "toggle_network_use": - return ec.fieldContext_Mod_toggle_network_use(ctx, field) - case "toggle_explicit_content": - return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) - case "authors": - return ec.fieldContext_Mod_authors(ctx, field) - case "version": - return ec.fieldContext_Mod_version(ctx, field) - case "versions": - return ec.fieldContext_Mod_versions(ctx, field) - case "latestVersions": - return ec.fieldContext_Mod_latestVersions(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _UserRoles_approveMods(ctx context.Context, field graphql.CollectedField, obj *UserRoles) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_UserRoles_approveMods(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ApproveMods, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_UserRoles_approveMods(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "UserRoles", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _UserRoles_approveVersions(ctx context.Context, field graphql.CollectedField, obj *UserRoles) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_UserRoles_approveVersions(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ApproveVersions, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_UserRoles_approveVersions(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "UserRoles", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _UserRoles_deleteContent(ctx context.Context, field graphql.CollectedField, obj *UserRoles) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_UserRoles_deleteContent(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.DeleteContent, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_UserRoles_deleteContent(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "UserRoles", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _UserRoles_editContent(ctx context.Context, field graphql.CollectedField, obj *UserRoles) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_UserRoles_editContent(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.EditContent, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_UserRoles_editContent(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "UserRoles", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _UserRoles_editUsers(ctx context.Context, field graphql.CollectedField, obj *UserRoles) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_UserRoles_editUsers(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.EditUsers, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_UserRoles_editUsers(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "UserRoles", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _UserRoles_editSatisfactoryVersions(ctx context.Context, field graphql.CollectedField, obj *UserRoles) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_UserRoles_editSatisfactoryVersions(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.EditSatisfactoryVersions, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_UserRoles_editSatisfactoryVersions(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "UserRoles", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _UserRoles_editBootstrapVersions(ctx context.Context, field graphql.CollectedField, obj *UserRoles) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_UserRoles_editBootstrapVersions(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.EditBootstrapVersions, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_UserRoles_editBootstrapVersions(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "UserRoles", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _UserRoles_editAnyModCompatibility(ctx context.Context, field graphql.CollectedField, obj *UserRoles) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_UserRoles_editAnyModCompatibility(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.EditAnyModCompatibility, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_UserRoles_editAnyModCompatibility(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "UserRoles", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _UserSession_token(ctx context.Context, field graphql.CollectedField, obj *UserSession) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_UserSession_token(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Token, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_UserSession_token(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "UserSession", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_id(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNVersionID2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type VersionID does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_mod_id(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_mod_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ModID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNModID2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_mod_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type ModID does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_version(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_version(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Version, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_sml_version(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_sml_version(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Version().SmlVersion(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_sml_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_game_version(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_game_version(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.GameVersion, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_game_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_required_on_remote(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_required_on_remote(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.RequiredOnRemote, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_required_on_remote(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_changelog(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_changelog(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Changelog, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_changelog(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_downloads(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_downloads(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Downloads, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - fc.Result = res - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_downloads(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Int does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_stability(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_stability(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Stability, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(VersionStabilities) - fc.Result = res - return ec.marshalNVersionStabilities2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionStabilities(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_stability(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type VersionStabilities does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_approved(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_approved(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Approved, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_approved(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_updated_at(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_updated_at(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.UpdatedAt, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNDate2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_updated_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Date does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_created_at(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_created_at(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.CreatedAt, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNDate2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_created_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Date does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_link(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_link(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Version().Link(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_link(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_targets(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_targets(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Targets, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*VersionTarget) - fc.Result = res - return ec.marshalNVersionTarget2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionTarget(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_targets(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "VersionID": - return ec.fieldContext_VersionTarget_VersionID(ctx, field) - case "targetName": - return ec.fieldContext_VersionTarget_targetName(ctx, field) - case "link": - return ec.fieldContext_VersionTarget_link(ctx, field) - case "size": - return ec.fieldContext_VersionTarget_size(ctx, field) - case "hash": - return ec.fieldContext_VersionTarget_hash(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type VersionTarget", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_metadata(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_metadata(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Metadata, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_metadata(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_size(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_size(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Version().Size(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*int) - fc.Result = res - return ec.marshalOInt2ᚖint(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_size(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Int does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_hash(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_hash(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Version().Hash(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_hash(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_mod(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_mod(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Version().Mod(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*Mod) - fc.Result = res - return ec.marshalNMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_mod(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Mod_id(ctx, field) - case "name": - return ec.fieldContext_Mod_name(ctx, field) - case "short_description": - return ec.fieldContext_Mod_short_description(ctx, field) - case "full_description": - return ec.fieldContext_Mod_full_description(ctx, field) - case "logo": - return ec.fieldContext_Mod_logo(ctx, field) - case "logo_thumbhash": - return ec.fieldContext_Mod_logo_thumbhash(ctx, field) - case "source_url": - return ec.fieldContext_Mod_source_url(ctx, field) - case "creator_id": - return ec.fieldContext_Mod_creator_id(ctx, field) - case "approved": - return ec.fieldContext_Mod_approved(ctx, field) - case "views": - return ec.fieldContext_Mod_views(ctx, field) - case "downloads": - return ec.fieldContext_Mod_downloads(ctx, field) - case "hotness": - return ec.fieldContext_Mod_hotness(ctx, field) - case "popularity": - return ec.fieldContext_Mod_popularity(ctx, field) - case "updated_at": - return ec.fieldContext_Mod_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Mod_created_at(ctx, field) - case "last_version_date": - return ec.fieldContext_Mod_last_version_date(ctx, field) - case "mod_reference": - return ec.fieldContext_Mod_mod_reference(ctx, field) - case "hidden": - return ec.fieldContext_Mod_hidden(ctx, field) - case "tags": - return ec.fieldContext_Mod_tags(ctx, field) - case "compatibility": - return ec.fieldContext_Mod_compatibility(ctx, field) - case "toggle_network_use": - return ec.fieldContext_Mod_toggle_network_use(ctx, field) - case "toggle_explicit_content": - return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) - case "authors": - return ec.fieldContext_Mod_authors(ctx, field) - case "version": - return ec.fieldContext_Mod_version(ctx, field) - case "versions": - return ec.fieldContext_Mod_versions(ctx, field) - case "latestVersions": - return ec.fieldContext_Mod_latestVersions(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_dependencies(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_dependencies(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Version().Dependencies(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*VersionDependency) - fc.Result = res - return ec.marshalNVersionDependency2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionDependencyᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_dependencies(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "version_id": - return ec.fieldContext_VersionDependency_version_id(ctx, field) - case "mod_id": - return ec.fieldContext_VersionDependency_mod_id(ctx, field) - case "condition": - return ec.fieldContext_VersionDependency_condition(ctx, field) - case "optional": - return ec.fieldContext_VersionDependency_optional(ctx, field) - case "mod_reference": - return ec.fieldContext_VersionDependency_mod_reference(ctx, field) - case "mod": - return ec.fieldContext_VersionDependency_mod(ctx, field) - case "version": - return ec.fieldContext_VersionDependency_version(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type VersionDependency", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_virustotal_results(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_virustotal_results(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Version().VirustotalResults(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*VirustotalResult) - fc.Result = res - return ec.marshalNVirustotalResult2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVirustotalResultᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_virustotal_results(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_VirustotalResult_id(ctx, field) - case "hash": - return ec.fieldContext_VirustotalResult_hash(ctx, field) - case "safe": - return ec.fieldContext_VirustotalResult_safe(ctx, field) - case "file_name": - return ec.fieldContext_VirustotalResult_file_name(ctx, field) - case "version_id": - return ec.fieldContext_VirustotalResult_version_id(ctx, field) - case "created_at": - return ec.fieldContext_VirustotalResult_created_at(ctx, field) - case "updated_at": - return ec.fieldContext_VirustotalResult_updated_at(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type VirustotalResult", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _VersionDependency_version_id(ctx context.Context, field graphql.CollectedField, obj *VersionDependency) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_VersionDependency_version_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.VersionID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNVersionID2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_VersionDependency_version_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "VersionDependency", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type VersionID does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _VersionDependency_mod_id(ctx context.Context, field graphql.CollectedField, obj *VersionDependency) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_VersionDependency_mod_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ModID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNModID2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_VersionDependency_mod_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "VersionDependency", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type ModID does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _VersionDependency_condition(ctx context.Context, field graphql.CollectedField, obj *VersionDependency) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_VersionDependency_condition(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Condition, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_VersionDependency_condition(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "VersionDependency", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _VersionDependency_optional(ctx context.Context, field graphql.CollectedField, obj *VersionDependency) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_VersionDependency_optional(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Optional, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_VersionDependency_optional(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "VersionDependency", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _VersionDependency_mod_reference(ctx context.Context, field graphql.CollectedField, obj *VersionDependency) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_VersionDependency_mod_reference(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ModReference, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_VersionDependency_mod_reference(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "VersionDependency", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _VersionDependency_mod(ctx context.Context, field graphql.CollectedField, obj *VersionDependency) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_VersionDependency_mod(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.VersionDependency().Mod(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Mod) - fc.Result = res - return ec.marshalOMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_VersionDependency_mod(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "VersionDependency", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Mod_id(ctx, field) - case "name": - return ec.fieldContext_Mod_name(ctx, field) - case "short_description": - return ec.fieldContext_Mod_short_description(ctx, field) - case "full_description": - return ec.fieldContext_Mod_full_description(ctx, field) - case "logo": - return ec.fieldContext_Mod_logo(ctx, field) - case "logo_thumbhash": - return ec.fieldContext_Mod_logo_thumbhash(ctx, field) - case "source_url": - return ec.fieldContext_Mod_source_url(ctx, field) - case "creator_id": - return ec.fieldContext_Mod_creator_id(ctx, field) - case "approved": - return ec.fieldContext_Mod_approved(ctx, field) - case "views": - return ec.fieldContext_Mod_views(ctx, field) - case "downloads": - return ec.fieldContext_Mod_downloads(ctx, field) - case "hotness": - return ec.fieldContext_Mod_hotness(ctx, field) - case "popularity": - return ec.fieldContext_Mod_popularity(ctx, field) - case "updated_at": - return ec.fieldContext_Mod_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Mod_created_at(ctx, field) - case "last_version_date": - return ec.fieldContext_Mod_last_version_date(ctx, field) - case "mod_reference": - return ec.fieldContext_Mod_mod_reference(ctx, field) - case "hidden": - return ec.fieldContext_Mod_hidden(ctx, field) - case "tags": - return ec.fieldContext_Mod_tags(ctx, field) - case "compatibility": - return ec.fieldContext_Mod_compatibility(ctx, field) - case "toggle_network_use": - return ec.fieldContext_Mod_toggle_network_use(ctx, field) - case "toggle_explicit_content": - return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) - case "authors": - return ec.fieldContext_Mod_authors(ctx, field) - case "version": - return ec.fieldContext_Mod_version(ctx, field) - case "versions": - return ec.fieldContext_Mod_versions(ctx, field) - case "latestVersions": - return ec.fieldContext_Mod_latestVersions(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _VersionDependency_version(ctx context.Context, field graphql.CollectedField, obj *VersionDependency) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_VersionDependency_version(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Version, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Version) - fc.Result = res - return ec.marshalOVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_VersionDependency_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "VersionDependency", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Version_id(ctx, field) - case "mod_id": - return ec.fieldContext_Version_mod_id(ctx, field) - case "version": - return ec.fieldContext_Version_version(ctx, field) - case "sml_version": - return ec.fieldContext_Version_sml_version(ctx, field) - case "game_version": - return ec.fieldContext_Version_game_version(ctx, field) - case "required_on_remote": - return ec.fieldContext_Version_required_on_remote(ctx, field) - case "changelog": - return ec.fieldContext_Version_changelog(ctx, field) - case "downloads": - return ec.fieldContext_Version_downloads(ctx, field) - case "stability": - return ec.fieldContext_Version_stability(ctx, field) - case "approved": - return ec.fieldContext_Version_approved(ctx, field) - case "updated_at": - return ec.fieldContext_Version_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Version_created_at(ctx, field) - case "link": - return ec.fieldContext_Version_link(ctx, field) - case "targets": - return ec.fieldContext_Version_targets(ctx, field) - case "metadata": - return ec.fieldContext_Version_metadata(ctx, field) - case "size": - return ec.fieldContext_Version_size(ctx, field) - case "hash": - return ec.fieldContext_Version_hash(ctx, field) - case "mod": - return ec.fieldContext_Version_mod(ctx, field) - case "dependencies": - return ec.fieldContext_Version_dependencies(ctx, field) - case "virustotal_results": - return ec.fieldContext_Version_virustotal_results(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _VersionTarget_VersionID(ctx context.Context, field graphql.CollectedField, obj *VersionTarget) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_VersionTarget_VersionID(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.VersionID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNVersionID2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_VersionTarget_VersionID(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "VersionTarget", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type VersionID does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _VersionTarget_targetName(ctx context.Context, field graphql.CollectedField, obj *VersionTarget) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_VersionTarget_targetName(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.TargetName, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(TargetName) - fc.Result = res - return ec.marshalNTargetName2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTargetName(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_VersionTarget_targetName(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "VersionTarget", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type TargetName does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _VersionTarget_link(ctx context.Context, field graphql.CollectedField, obj *VersionTarget) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_VersionTarget_link(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.VersionTarget().Link(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_VersionTarget_link(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "VersionTarget", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _VersionTarget_size(ctx context.Context, field graphql.CollectedField, obj *VersionTarget) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_VersionTarget_size(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Size, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*int) - fc.Result = res - return ec.marshalOInt2ᚖint(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_VersionTarget_size(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "VersionTarget", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Int does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _VersionTarget_hash(ctx context.Context, field graphql.CollectedField, obj *VersionTarget) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_VersionTarget_hash(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Hash, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_VersionTarget_hash(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "VersionTarget", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _VirustotalResult_id(ctx context.Context, field graphql.CollectedField, obj *VirustotalResult) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_VirustotalResult_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOVirustotalID2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_VirustotalResult_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "VirustotalResult", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type VirustotalID does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _VirustotalResult_hash(ctx context.Context, field graphql.CollectedField, obj *VirustotalResult) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_VirustotalResult_hash(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Hash, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNVirustotalHash2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_VirustotalResult_hash(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "VirustotalResult", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type VirustotalHash does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _VirustotalResult_safe(ctx context.Context, field graphql.CollectedField, obj *VirustotalResult) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_VirustotalResult_safe(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Safe, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_VirustotalResult_safe(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "VirustotalResult", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _VirustotalResult_file_name(ctx context.Context, field graphql.CollectedField, obj *VirustotalResult) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_VirustotalResult_file_name(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.FileName, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_VirustotalResult_file_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "VirustotalResult", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _VirustotalResult_version_id(ctx context.Context, field graphql.CollectedField, obj *VirustotalResult) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_VirustotalResult_version_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.VersionID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_VirustotalResult_version_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "VirustotalResult", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _VirustotalResult_created_at(ctx context.Context, field graphql.CollectedField, obj *VirustotalResult) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_VirustotalResult_created_at(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.CreatedAt, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNDate2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_VirustotalResult_created_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "VirustotalResult", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Date does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _VirustotalResult_updated_at(ctx context.Context, field graphql.CollectedField, obj *VirustotalResult) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_VirustotalResult_updated_at(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.UpdatedAt, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalODate2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_VirustotalResult_updated_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "VirustotalResult", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Date does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___Directive_name(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Directive_name(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Name, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Directive_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Directive", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___Directive_description(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Directive_description(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Description(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Directive_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Directive", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___Directive_isRepeatable(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Directive_isRepeatable(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.IsRepeatable, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Directive_isRepeatable(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Directive", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___Directive_locations(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Directive_locations(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Locations, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]string) - fc.Result = res - return ec.marshalN__DirectiveLocation2ᚕstringᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Directive_locations(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Directive", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type __DirectiveLocation does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___Directive_args(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Directive_args(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Args, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]introspection.InputValue) - fc.Result = res - return ec.marshalN__InputValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValueᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Directive_args(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Directive", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "name": - return ec.fieldContext___InputValue_name(ctx, field) - case "description": - return ec.fieldContext___InputValue_description(ctx, field) - case "type": - return ec.fieldContext___InputValue_type(ctx, field) - case "defaultValue": - return ec.fieldContext___InputValue_defaultValue(ctx, field) - case "isDeprecated": - return ec.fieldContext___InputValue_isDeprecated(ctx, field) - case "deprecationReason": - return ec.fieldContext___InputValue_deprecationReason(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type __InputValue", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field___Directive_args_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) ___EnumValue_name(ctx context.Context, field graphql.CollectedField, obj *introspection.EnumValue) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___EnumValue_name(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Name, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___EnumValue_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__EnumValue", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___EnumValue_description(ctx context.Context, field graphql.CollectedField, obj *introspection.EnumValue) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___EnumValue_description(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Description(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___EnumValue_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__EnumValue", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___EnumValue_isDeprecated(ctx context.Context, field graphql.CollectedField, obj *introspection.EnumValue) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___EnumValue_isDeprecated(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.IsDeprecated(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___EnumValue_isDeprecated(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__EnumValue", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___EnumValue_deprecationReason(ctx context.Context, field graphql.CollectedField, obj *introspection.EnumValue) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___EnumValue_deprecationReason(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.DeprecationReason(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___EnumValue_deprecationReason(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__EnumValue", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___Field_name(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Field_name(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Name, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Field_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Field", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___Field_description(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Field_description(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Description(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Field_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Field", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___Field_args(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Field_args(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Args, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]introspection.InputValue) - fc.Result = res - return ec.marshalN__InputValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValueᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Field_args(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Field", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "name": - return ec.fieldContext___InputValue_name(ctx, field) - case "description": - return ec.fieldContext___InputValue_description(ctx, field) - case "type": - return ec.fieldContext___InputValue_type(ctx, field) - case "defaultValue": - return ec.fieldContext___InputValue_defaultValue(ctx, field) - case "isDeprecated": - return ec.fieldContext___InputValue_isDeprecated(ctx, field) - case "deprecationReason": - return ec.fieldContext___InputValue_deprecationReason(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type __InputValue", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field___Field_args_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) ___Field_type(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Field_type(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Type, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*introspection.Type) - fc.Result = res - return ec.marshalN__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Field_type(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Field", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "kind": - return ec.fieldContext___Type_kind(ctx, field) - case "name": - return ec.fieldContext___Type_name(ctx, field) - case "description": - return ec.fieldContext___Type_description(ctx, field) - case "specifiedByURL": - return ec.fieldContext___Type_specifiedByURL(ctx, field) - case "fields": - return ec.fieldContext___Type_fields(ctx, field) - case "interfaces": - return ec.fieldContext___Type_interfaces(ctx, field) - case "possibleTypes": - return ec.fieldContext___Type_possibleTypes(ctx, field) - case "enumValues": - return ec.fieldContext___Type_enumValues(ctx, field) - case "inputFields": - return ec.fieldContext___Type_inputFields(ctx, field) - case "ofType": - return ec.fieldContext___Type_ofType(ctx, field) - case "isOneOf": - return ec.fieldContext___Type_isOneOf(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) ___Field_isDeprecated(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Field_isDeprecated(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.IsDeprecated(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Field_isDeprecated(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Field", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___Field_deprecationReason(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Field_deprecationReason(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.DeprecationReason(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Field_deprecationReason(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Field", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___InputValue_name(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___InputValue_name(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Name, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___InputValue_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__InputValue", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___InputValue_description(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___InputValue_description(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Description(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___InputValue_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__InputValue", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___InputValue_type(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___InputValue_type(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Type, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*introspection.Type) - fc.Result = res - return ec.marshalN__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___InputValue_type(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__InputValue", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "kind": - return ec.fieldContext___Type_kind(ctx, field) - case "name": - return ec.fieldContext___Type_name(ctx, field) - case "description": - return ec.fieldContext___Type_description(ctx, field) - case "specifiedByURL": - return ec.fieldContext___Type_specifiedByURL(ctx, field) - case "fields": - return ec.fieldContext___Type_fields(ctx, field) - case "interfaces": - return ec.fieldContext___Type_interfaces(ctx, field) - case "possibleTypes": - return ec.fieldContext___Type_possibleTypes(ctx, field) - case "enumValues": - return ec.fieldContext___Type_enumValues(ctx, field) - case "inputFields": - return ec.fieldContext___Type_inputFields(ctx, field) - case "ofType": - return ec.fieldContext___Type_ofType(ctx, field) - case "isOneOf": - return ec.fieldContext___Type_isOneOf(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) ___InputValue_defaultValue(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___InputValue_defaultValue(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.DefaultValue, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___InputValue_defaultValue(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__InputValue", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___InputValue_isDeprecated(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___InputValue_isDeprecated(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.IsDeprecated(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___InputValue_isDeprecated(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__InputValue", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___InputValue_deprecationReason(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___InputValue_deprecationReason(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.DeprecationReason(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___InputValue_deprecationReason(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__InputValue", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___Schema_description(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Schema_description(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Description(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Schema_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Schema", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___Schema_types(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Schema_types(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Types(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]introspection.Type) - fc.Result = res - return ec.marshalN__Type2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐTypeᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Schema_types(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Schema", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "kind": - return ec.fieldContext___Type_kind(ctx, field) - case "name": - return ec.fieldContext___Type_name(ctx, field) - case "description": - return ec.fieldContext___Type_description(ctx, field) - case "specifiedByURL": - return ec.fieldContext___Type_specifiedByURL(ctx, field) - case "fields": - return ec.fieldContext___Type_fields(ctx, field) - case "interfaces": - return ec.fieldContext___Type_interfaces(ctx, field) - case "possibleTypes": - return ec.fieldContext___Type_possibleTypes(ctx, field) - case "enumValues": - return ec.fieldContext___Type_enumValues(ctx, field) - case "inputFields": - return ec.fieldContext___Type_inputFields(ctx, field) - case "ofType": - return ec.fieldContext___Type_ofType(ctx, field) - case "isOneOf": - return ec.fieldContext___Type_isOneOf(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) ___Schema_queryType(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Schema_queryType(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.QueryType(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*introspection.Type) - fc.Result = res - return ec.marshalN__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Schema_queryType(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Schema", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "kind": - return ec.fieldContext___Type_kind(ctx, field) - case "name": - return ec.fieldContext___Type_name(ctx, field) - case "description": - return ec.fieldContext___Type_description(ctx, field) - case "specifiedByURL": - return ec.fieldContext___Type_specifiedByURL(ctx, field) - case "fields": - return ec.fieldContext___Type_fields(ctx, field) - case "interfaces": - return ec.fieldContext___Type_interfaces(ctx, field) - case "possibleTypes": - return ec.fieldContext___Type_possibleTypes(ctx, field) - case "enumValues": - return ec.fieldContext___Type_enumValues(ctx, field) - case "inputFields": - return ec.fieldContext___Type_inputFields(ctx, field) - case "ofType": - return ec.fieldContext___Type_ofType(ctx, field) - case "isOneOf": - return ec.fieldContext___Type_isOneOf(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) ___Schema_mutationType(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Schema_mutationType(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.MutationType(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*introspection.Type) - fc.Result = res - return ec.marshalO__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Schema_mutationType(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Schema", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "kind": - return ec.fieldContext___Type_kind(ctx, field) - case "name": - return ec.fieldContext___Type_name(ctx, field) - case "description": - return ec.fieldContext___Type_description(ctx, field) - case "specifiedByURL": - return ec.fieldContext___Type_specifiedByURL(ctx, field) - case "fields": - return ec.fieldContext___Type_fields(ctx, field) - case "interfaces": - return ec.fieldContext___Type_interfaces(ctx, field) - case "possibleTypes": - return ec.fieldContext___Type_possibleTypes(ctx, field) - case "enumValues": - return ec.fieldContext___Type_enumValues(ctx, field) - case "inputFields": - return ec.fieldContext___Type_inputFields(ctx, field) - case "ofType": - return ec.fieldContext___Type_ofType(ctx, field) - case "isOneOf": - return ec.fieldContext___Type_isOneOf(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) ___Schema_subscriptionType(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Schema_subscriptionType(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.SubscriptionType(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*introspection.Type) - fc.Result = res - return ec.marshalO__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Schema_subscriptionType(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Schema", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "kind": - return ec.fieldContext___Type_kind(ctx, field) - case "name": - return ec.fieldContext___Type_name(ctx, field) - case "description": - return ec.fieldContext___Type_description(ctx, field) - case "specifiedByURL": - return ec.fieldContext___Type_specifiedByURL(ctx, field) - case "fields": - return ec.fieldContext___Type_fields(ctx, field) - case "interfaces": - return ec.fieldContext___Type_interfaces(ctx, field) - case "possibleTypes": - return ec.fieldContext___Type_possibleTypes(ctx, field) - case "enumValues": - return ec.fieldContext___Type_enumValues(ctx, field) - case "inputFields": - return ec.fieldContext___Type_inputFields(ctx, field) - case "ofType": - return ec.fieldContext___Type_ofType(ctx, field) - case "isOneOf": - return ec.fieldContext___Type_isOneOf(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) ___Schema_directives(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Schema_directives(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Directives(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]introspection.Directive) - fc.Result = res - return ec.marshalN__Directive2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐDirectiveᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Schema_directives(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Schema", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "name": - return ec.fieldContext___Directive_name(ctx, field) - case "description": - return ec.fieldContext___Directive_description(ctx, field) - case "isRepeatable": - return ec.fieldContext___Directive_isRepeatable(ctx, field) - case "locations": - return ec.fieldContext___Directive_locations(ctx, field) - case "args": - return ec.fieldContext___Directive_args(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type __Directive", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) ___Type_kind(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Type_kind(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Kind(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalN__TypeKind2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Type_kind(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Type", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type __TypeKind does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___Type_name(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Type_name(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Name(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Type_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Type", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___Type_description(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Type_description(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Description(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Type_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Type", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___Type_specifiedByURL(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Type_specifiedByURL(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.SpecifiedByURL(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Type_specifiedByURL(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Type", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___Type_fields(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Type_fields(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Fields(fc.Args["includeDeprecated"].(bool)), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.([]introspection.Field) - fc.Result = res - return ec.marshalO__Field2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐFieldᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Type_fields(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Type", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "name": - return ec.fieldContext___Field_name(ctx, field) - case "description": - return ec.fieldContext___Field_description(ctx, field) - case "args": - return ec.fieldContext___Field_args(ctx, field) - case "type": - return ec.fieldContext___Field_type(ctx, field) - case "isDeprecated": - return ec.fieldContext___Field_isDeprecated(ctx, field) - case "deprecationReason": - return ec.fieldContext___Field_deprecationReason(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type __Field", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field___Type_fields_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) ___Type_interfaces(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Type_interfaces(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Interfaces(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.([]introspection.Type) - fc.Result = res - return ec.marshalO__Type2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐTypeᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Type_interfaces(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Type", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "kind": - return ec.fieldContext___Type_kind(ctx, field) - case "name": - return ec.fieldContext___Type_name(ctx, field) - case "description": - return ec.fieldContext___Type_description(ctx, field) - case "specifiedByURL": - return ec.fieldContext___Type_specifiedByURL(ctx, field) - case "fields": - return ec.fieldContext___Type_fields(ctx, field) - case "interfaces": - return ec.fieldContext___Type_interfaces(ctx, field) - case "possibleTypes": - return ec.fieldContext___Type_possibleTypes(ctx, field) - case "enumValues": - return ec.fieldContext___Type_enumValues(ctx, field) - case "inputFields": - return ec.fieldContext___Type_inputFields(ctx, field) - case "ofType": - return ec.fieldContext___Type_ofType(ctx, field) - case "isOneOf": - return ec.fieldContext___Type_isOneOf(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) ___Type_possibleTypes(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Type_possibleTypes(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.PossibleTypes(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.([]introspection.Type) - fc.Result = res - return ec.marshalO__Type2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐTypeᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Type_possibleTypes(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Type", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "kind": - return ec.fieldContext___Type_kind(ctx, field) - case "name": - return ec.fieldContext___Type_name(ctx, field) - case "description": - return ec.fieldContext___Type_description(ctx, field) - case "specifiedByURL": - return ec.fieldContext___Type_specifiedByURL(ctx, field) - case "fields": - return ec.fieldContext___Type_fields(ctx, field) - case "interfaces": - return ec.fieldContext___Type_interfaces(ctx, field) - case "possibleTypes": - return ec.fieldContext___Type_possibleTypes(ctx, field) - case "enumValues": - return ec.fieldContext___Type_enumValues(ctx, field) - case "inputFields": - return ec.fieldContext___Type_inputFields(ctx, field) - case "ofType": - return ec.fieldContext___Type_ofType(ctx, field) - case "isOneOf": - return ec.fieldContext___Type_isOneOf(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) ___Type_enumValues(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Type_enumValues(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.EnumValues(fc.Args["includeDeprecated"].(bool)), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.([]introspection.EnumValue) - fc.Result = res - return ec.marshalO__EnumValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐEnumValueᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Type_enumValues(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Type", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "name": - return ec.fieldContext___EnumValue_name(ctx, field) - case "description": - return ec.fieldContext___EnumValue_description(ctx, field) - case "isDeprecated": - return ec.fieldContext___EnumValue_isDeprecated(ctx, field) - case "deprecationReason": - return ec.fieldContext___EnumValue_deprecationReason(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type __EnumValue", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field___Type_enumValues_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) ___Type_inputFields(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Type_inputFields(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.InputFields(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.([]introspection.InputValue) - fc.Result = res - return ec.marshalO__InputValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValueᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Type_inputFields(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Type", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "name": - return ec.fieldContext___InputValue_name(ctx, field) - case "description": - return ec.fieldContext___InputValue_description(ctx, field) - case "type": - return ec.fieldContext___InputValue_type(ctx, field) - case "defaultValue": - return ec.fieldContext___InputValue_defaultValue(ctx, field) - case "isDeprecated": - return ec.fieldContext___InputValue_isDeprecated(ctx, field) - case "deprecationReason": - return ec.fieldContext___InputValue_deprecationReason(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type __InputValue", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) ___Type_ofType(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Type_ofType(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.OfType(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*introspection.Type) - fc.Result = res - return ec.marshalO__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Type_ofType(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Type", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "kind": - return ec.fieldContext___Type_kind(ctx, field) - case "name": - return ec.fieldContext___Type_name(ctx, field) - case "description": - return ec.fieldContext___Type_description(ctx, field) - case "specifiedByURL": - return ec.fieldContext___Type_specifiedByURL(ctx, field) - case "fields": - return ec.fieldContext___Type_fields(ctx, field) - case "interfaces": - return ec.fieldContext___Type_interfaces(ctx, field) - case "possibleTypes": - return ec.fieldContext___Type_possibleTypes(ctx, field) - case "enumValues": - return ec.fieldContext___Type_enumValues(ctx, field) - case "inputFields": - return ec.fieldContext___Type_inputFields(ctx, field) - case "ofType": - return ec.fieldContext___Type_ofType(ctx, field) - case "isOneOf": - return ec.fieldContext___Type_isOneOf(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) ___Type_isOneOf(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Type_isOneOf(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.IsOneOf(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalOBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Type_isOneOf(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Type", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -// endregion **************************** field.gotpl ***************************** - -// region **************************** input.gotpl ***************************** - -func (ec *executionContext) unmarshalInputCompatibilityInfoInput(ctx context.Context, obj any) (CompatibilityInfoInput, error) { - var it CompatibilityInfoInput - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"EA", "EXP"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "EA": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("EA")) - data, err := ec.unmarshalNCompatibilityInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInput(ctx, v) - if err != nil { - return it, err - } - it.Ea = data - case "EXP": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("EXP")) - data, err := ec.unmarshalNCompatibilityInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInput(ctx, v) - if err != nil { - return it, err - } - it.Exp = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputCompatibilityInput(ctx context.Context, obj any) (CompatibilityInput, error) { - var it CompatibilityInput - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"state", "note"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "state": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("state")) - data, err := ec.unmarshalNCompatibilityState2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityState(ctx, v) - if err != nil { - return it, err - } - it.State = data - case "note": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("note")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it.Note = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputGuideFilter(ctx context.Context, obj any) (map[string]any, error) { - it := make(map[string]any, len(obj.(map[string]any))) - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"limit", "offset", "order_by", "order", "search", "ids", "tagIDs"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "limit": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("limit")) - data, err := ec.unmarshalOInt2ᚖint(ctx, v) - if err != nil { - return it, err - } - it["limit"] = data - case "offset": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("offset")) - data, err := ec.unmarshalOInt2ᚖint(ctx, v) - if err != nil { - return it, err - } - it["offset"] = data - case "order_by": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("order_by")) - data, err := ec.unmarshalOGuideFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuideFields(ctx, v) - if err != nil { - return it, err - } - it["order_by"] = data - case "order": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("order")) - data, err := ec.unmarshalOOrder2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOrder(ctx, v) - if err != nil { - return it, err - } - it["order"] = data - case "search": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("search")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it["search"] = data - case "ids": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("ids")) - data, err := ec.unmarshalOString2ᚕstringᚄ(ctx, v) - if err != nil { - return it, err - } - it["ids"] = data - case "tagIDs": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("tagIDs")) - data, err := ec.unmarshalOTagID2ᚕstringᚄ(ctx, v) - if err != nil { - return it, err - } - it["tagIDs"] = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputModFilter(ctx context.Context, obj any) (map[string]any, error) { - it := make(map[string]any, len(obj.(map[string]any))) - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"limit", "offset", "order_by", "order", "search", "ids", "references", "hidden", "tagIDs"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "limit": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("limit")) - data, err := ec.unmarshalOInt2ᚖint(ctx, v) - if err != nil { - return it, err - } - it["limit"] = data - case "offset": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("offset")) - data, err := ec.unmarshalOInt2ᚖint(ctx, v) - if err != nil { - return it, err - } - it["offset"] = data - case "order_by": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("order_by")) - data, err := ec.unmarshalOModFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModFields(ctx, v) - if err != nil { - return it, err - } - it["order_by"] = data - case "order": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("order")) - data, err := ec.unmarshalOOrder2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOrder(ctx, v) - if err != nil { - return it, err - } - it["order"] = data - case "search": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("search")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it["search"] = data - case "ids": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("ids")) - data, err := ec.unmarshalOString2ᚕstringᚄ(ctx, v) - if err != nil { - return it, err - } - it["ids"] = data - case "references": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("references")) - data, err := ec.unmarshalOString2ᚕstringᚄ(ctx, v) - if err != nil { - return it, err - } - it["references"] = data - case "hidden": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("hidden")) - data, err := ec.unmarshalOBoolean2ᚖbool(ctx, v) - if err != nil { - return it, err - } - it["hidden"] = data - case "tagIDs": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("tagIDs")) - data, err := ec.unmarshalOTagID2ᚕstringᚄ(ctx, v) - if err != nil { - return it, err - } - it["tagIDs"] = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputModVersionConstraint(ctx context.Context, obj any) (ModVersionConstraint, error) { - var it ModVersionConstraint - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"modIdOrReference", "version"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "modIdOrReference": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("modIdOrReference")) - data, err := ec.unmarshalNString2string(ctx, v) - if err != nil { - return it, err - } - it.ModIDOrReference = data - case "version": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("version")) - data, err := ec.unmarshalNString2string(ctx, v) - if err != nil { - return it, err - } - it.Version = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputNewAnnouncement(ctx context.Context, obj any) (NewAnnouncement, error) { - var it NewAnnouncement - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"message", "importance"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "message": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("message")) - data, err := ec.unmarshalNString2string(ctx, v) - if err != nil { - return it, err - } - it.Message = data - case "importance": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("importance")) - data, err := ec.unmarshalNAnnouncementImportance2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementImportance(ctx, v) - if err != nil { - return it, err - } - it.Importance = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputNewGuide(ctx context.Context, obj any) (NewGuide, error) { - var it NewGuide - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"name", "short_description", "guide", "tagIDs"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "name": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("name")) - data, err := ec.unmarshalNString2string(ctx, v) - if err != nil { - return it, err - } - it.Name = data - case "short_description": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("short_description")) - data, err := ec.unmarshalNString2string(ctx, v) - if err != nil { - return it, err - } - it.ShortDescription = data - case "guide": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("guide")) - data, err := ec.unmarshalNString2string(ctx, v) - if err != nil { - return it, err - } - it.Guide = data - case "tagIDs": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("tagIDs")) - data, err := ec.unmarshalOTagID2ᚕstringᚄ(ctx, v) - if err != nil { - return it, err - } - it.TagIDs = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputNewMod(ctx context.Context, obj any) (NewMod, error) { - var it NewMod - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"name", "short_description", "full_description", "logo", "source_url", "mod_reference", "hidden", "tagIDs", "toggle_network_use", "toggle_explicit_content"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "name": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("name")) - data, err := ec.unmarshalNString2string(ctx, v) - if err != nil { - return it, err - } - it.Name = data - case "short_description": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("short_description")) - data, err := ec.unmarshalNString2string(ctx, v) - if err != nil { - return it, err - } - it.ShortDescription = data - case "full_description": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("full_description")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it.FullDescription = data - case "logo": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("logo")) - data, err := ec.unmarshalOUpload2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚐUpload(ctx, v) - if err != nil { - return it, err - } - it.Logo = data - case "source_url": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("source_url")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it.SourceURL = data - case "mod_reference": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("mod_reference")) - data, err := ec.unmarshalNModReference2string(ctx, v) - if err != nil { - return it, err - } - it.ModReference = data - case "hidden": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("hidden")) - data, err := ec.unmarshalOBoolean2ᚖbool(ctx, v) - if err != nil { - return it, err - } - it.Hidden = data - case "tagIDs": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("tagIDs")) - data, err := ec.unmarshalOTagID2ᚕstringᚄ(ctx, v) - if err != nil { - return it, err - } - it.TagIDs = data - case "toggle_network_use": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("toggle_network_use")) - data, err := ec.unmarshalOBoolean2ᚖbool(ctx, v) - if err != nil { - return it, err - } - it.ToggleNetworkUse = data - case "toggle_explicit_content": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("toggle_explicit_content")) - data, err := ec.unmarshalOBoolean2ᚖbool(ctx, v) - if err != nil { - return it, err - } - it.ToggleExplicitContent = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputNewSatisfactoryVersion(ctx context.Context, obj any) (NewSatisfactoryVersion, error) { - var it NewSatisfactoryVersion - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"version", "engine_version"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "version": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("version")) - data, err := ec.unmarshalNInt2int(ctx, v) - if err != nil { - return it, err - } - it.Version = data - case "engine_version": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("engine_version")) - data, err := ec.unmarshalNString2string(ctx, v) - if err != nil { - return it, err - } - it.EngineVersion = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputNewTag(ctx context.Context, obj any) (NewTag, error) { - var it NewTag - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"name", "description"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "name": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("name")) - data, err := ec.unmarshalNTagName2string(ctx, v) - if err != nil { - return it, err - } - it.Name = data - case "description": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("description")) - data, err := ec.unmarshalNString2string(ctx, v) - if err != nil { - return it, err - } - it.Description = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputNewVersion(ctx context.Context, obj any) (NewVersion, error) { - var it NewVersion - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"changelog", "stability"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "changelog": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("changelog")) - data, err := ec.unmarshalNString2string(ctx, v) - if err != nil { - return it, err - } - it.Changelog = data - case "stability": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("stability")) - data, err := ec.unmarshalNVersionStabilities2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionStabilities(ctx, v) - if err != nil { - return it, err - } - it.Stability = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputSMLVersionFilter(ctx context.Context, obj any) (map[string]any, error) { - it := make(map[string]any, len(obj.(map[string]any))) - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"limit", "offset", "order_by", "order", "search", "ids"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "limit": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("limit")) - data, err := ec.unmarshalOInt2ᚖint(ctx, v) - if err != nil { - return it, err - } - it["limit"] = data - case "offset": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("offset")) - data, err := ec.unmarshalOInt2ᚖint(ctx, v) - if err != nil { - return it, err - } - it["offset"] = data - case "order_by": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("order_by")) - data, err := ec.unmarshalOSMLVersionFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersionFields(ctx, v) - if err != nil { - return it, err - } - it["order_by"] = data - case "order": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("order")) - data, err := ec.unmarshalOOrder2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOrder(ctx, v) - if err != nil { - return it, err - } - it["order"] = data - case "search": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("search")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it["search"] = data - case "ids": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("ids")) - data, err := ec.unmarshalOString2ᚕstringᚄ(ctx, v) - if err != nil { - return it, err - } - it["ids"] = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputTagFilter(ctx context.Context, obj any) (TagFilter, error) { - var it TagFilter - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"limit", "offset", "order", "search", "ids"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "limit": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("limit")) - data, err := ec.unmarshalOInt2ᚖint(ctx, v) - if err != nil { - return it, err - } - it.Limit = data - case "offset": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("offset")) - data, err := ec.unmarshalOInt2ᚖint(ctx, v) - if err != nil { - return it, err - } - it.Offset = data - case "order": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("order")) - data, err := ec.unmarshalOOrder2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOrder(ctx, v) - if err != nil { - return it, err - } - it.Order = data - case "search": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("search")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it.Search = data - case "ids": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("ids")) - data, err := ec.unmarshalOTagID2ᚕstringᚄ(ctx, v) - if err != nil { - return it, err - } - it.Ids = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputUpdateAnnouncement(ctx context.Context, obj any) (UpdateAnnouncement, error) { - var it UpdateAnnouncement - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"message", "importance"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "message": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("message")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it.Message = data - case "importance": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("importance")) - data, err := ec.unmarshalOAnnouncementImportance2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementImportance(ctx, v) - if err != nil { - return it, err - } - it.Importance = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputUpdateGuide(ctx context.Context, obj any) (UpdateGuide, error) { - var it UpdateGuide - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"name", "short_description", "guide", "tagIDs"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "name": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("name")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it.Name = data - case "short_description": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("short_description")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it.ShortDescription = data - case "guide": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("guide")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it.Guide = data - case "tagIDs": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("tagIDs")) - data, err := ec.unmarshalOTagID2ᚕstringᚄ(ctx, v) - if err != nil { - return it, err - } - it.TagIDs = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputUpdateMod(ctx context.Context, obj any) (UpdateMod, error) { - var it UpdateMod - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"name", "short_description", "full_description", "logo", "source_url", "mod_reference", "authors", "hidden", "tagIDs", "compatibility", "toggle_network_use", "toggle_explicit_content"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "name": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("name")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it.Name = data - case "short_description": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("short_description")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it.ShortDescription = data - case "full_description": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("full_description")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it.FullDescription = data - case "logo": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("logo")) - data, err := ec.unmarshalOUpload2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚐUpload(ctx, v) - if err != nil { - return it, err - } - it.Logo = data - case "source_url": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("source_url")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it.SourceURL = data - case "mod_reference": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("mod_reference")) - data, err := ec.unmarshalOModReference2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it.ModReference = data - case "authors": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("authors")) - data, err := ec.unmarshalOUpdateUserMod2ᚕgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateUserModᚄ(ctx, v) - if err != nil { - return it, err - } - it.Authors = data - case "hidden": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("hidden")) - data, err := ec.unmarshalOBoolean2ᚖbool(ctx, v) - if err != nil { - return it, err - } - it.Hidden = data - case "tagIDs": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("tagIDs")) - data, err := ec.unmarshalOTagID2ᚕstringᚄ(ctx, v) - if err != nil { - return it, err - } - it.TagIDs = data - case "compatibility": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("compatibility")) - data, err := ec.unmarshalOCompatibilityInfoInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInfoInput(ctx, v) - if err != nil { - return it, err - } - it.Compatibility = data - case "toggle_network_use": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("toggle_network_use")) - data, err := ec.unmarshalOBoolean2ᚖbool(ctx, v) - if err != nil { - return it, err - } - it.ToggleNetworkUse = data - case "toggle_explicit_content": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("toggle_explicit_content")) - data, err := ec.unmarshalOBoolean2ᚖbool(ctx, v) - if err != nil { - return it, err - } - it.ToggleExplicitContent = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputUpdateSatisfactoryVersion(ctx context.Context, obj any) (UpdateSatisfactoryVersion, error) { - var it UpdateSatisfactoryVersion - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"version", "engine_version"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "version": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("version")) - data, err := ec.unmarshalOInt2ᚖint(ctx, v) - if err != nil { - return it, err - } - it.Version = data - case "engine_version": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("engine_version")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it.EngineVersion = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputUpdateUser(ctx context.Context, obj any) (UpdateUser, error) { - var it UpdateUser - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"avatar", "groups", "username"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "avatar": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("avatar")) - data, err := ec.unmarshalOUpload2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚐUpload(ctx, v) - if err != nil { - return it, err - } - it.Avatar = data - case "groups": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("groups")) - directive0 := func(ctx context.Context) (any, error) { return ec.unmarshalOString2ᚕstringᚄ(ctx, v) } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.CanEditUsers == nil { - var zeroVal []string - return zeroVal, errors.New("directive canEditUsers is not implemented") - } - return ec.directives.CanEditUsers(ctx, obj, directive0) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal []string - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, obj, directive1) - } - - tmp, err := directive2(ctx) - if err != nil { - return it, graphql.ErrorOnPath(ctx, err) - } - if data, ok := tmp.([]string); ok { - it.Groups = data - } else if tmp == nil { - it.Groups = nil - } else { - err := fmt.Errorf(`unexpected type %T from directive, should be []string`, tmp) - return it, graphql.ErrorOnPath(ctx, err) - } - case "username": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("username")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it.Username = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputUpdateUserMod(ctx context.Context, obj any) (UpdateUserMod, error) { - var it UpdateUserMod - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"user_id", "role"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "user_id": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("user_id")) - data, err := ec.unmarshalNUserID2string(ctx, v) - if err != nil { - return it, err - } - it.UserID = data - case "role": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("role")) - data, err := ec.unmarshalNString2string(ctx, v) - if err != nil { - return it, err - } - it.Role = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputUpdateVersion(ctx context.Context, obj any) (UpdateVersion, error) { - var it UpdateVersion - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"changelog", "stability"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "changelog": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("changelog")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it.Changelog = data - case "stability": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("stability")) - data, err := ec.unmarshalOVersionStabilities2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionStabilities(ctx, v) - if err != nil { - return it, err - } - it.Stability = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputVersionFilter(ctx context.Context, obj any) (map[string]any, error) { - it := make(map[string]any, len(obj.(map[string]any))) - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"limit", "offset", "order_by", "order", "search", "ids"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "limit": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("limit")) - data, err := ec.unmarshalOInt2ᚖint(ctx, v) - if err != nil { - return it, err - } - it["limit"] = data - case "offset": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("offset")) - data, err := ec.unmarshalOInt2ᚖint(ctx, v) - if err != nil { - return it, err - } - it["offset"] = data - case "order_by": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("order_by")) - data, err := ec.unmarshalOVersionFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionFields(ctx, v) - if err != nil { - return it, err - } - it["order_by"] = data - case "order": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("order")) - data, err := ec.unmarshalOOrder2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOrder(ctx, v) - if err != nil { - return it, err - } - it["order"] = data - case "search": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("search")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it["search"] = data - case "ids": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("ids")) - data, err := ec.unmarshalOString2ᚕstringᚄ(ctx, v) - if err != nil { - return it, err - } - it["ids"] = data - } - } - - return it, nil -} - -// endregion **************************** input.gotpl ***************************** - -// region ************************** interface.gotpl *************************** - -// endregion ************************** interface.gotpl *************************** - -// region **************************** object.gotpl **************************** - -var announcementImplementors = []string{"Announcement"} - -func (ec *executionContext) _Announcement(ctx context.Context, sel ast.SelectionSet, obj *Announcement) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, announcementImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("Announcement") - case "id": - out.Values[i] = ec._Announcement_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "message": - out.Values[i] = ec._Announcement_message(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "importance": - out.Values[i] = ec._Announcement_importance(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var compatibilityImplementors = []string{"Compatibility"} - -func (ec *executionContext) _Compatibility(ctx context.Context, sel ast.SelectionSet, obj *Compatibility) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, compatibilityImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("Compatibility") - case "state": - out.Values[i] = ec._Compatibility_state(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "note": - out.Values[i] = ec._Compatibility_note(ctx, field, obj) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var compatibilityInfoImplementors = []string{"CompatibilityInfo"} - -func (ec *executionContext) _CompatibilityInfo(ctx context.Context, sel ast.SelectionSet, obj *CompatibilityInfo) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, compatibilityInfoImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("CompatibilityInfo") - case "EA": - out.Values[i] = ec._CompatibilityInfo_EA(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "EXP": - out.Values[i] = ec._CompatibilityInfo_EXP(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var createVersionResponseImplementors = []string{"CreateVersionResponse"} - -func (ec *executionContext) _CreateVersionResponse(ctx context.Context, sel ast.SelectionSet, obj *CreateVersionResponse) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, createVersionResponseImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("CreateVersionResponse") - case "auto_approved": - out.Values[i] = ec._CreateVersionResponse_auto_approved(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "version": - out.Values[i] = ec._CreateVersionResponse_version(ctx, field, obj) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var getGuidesImplementors = []string{"GetGuides"} - -func (ec *executionContext) _GetGuides(ctx context.Context, sel ast.SelectionSet, obj *GetGuides) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, getGuidesImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("GetGuides") - case "guides": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._GetGuides_guides(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "count": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._GetGuides_count(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var getModsImplementors = []string{"GetMods"} - -func (ec *executionContext) _GetMods(ctx context.Context, sel ast.SelectionSet, obj *GetMods) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, getModsImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("GetMods") - case "mods": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._GetMods_mods(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "count": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._GetMods_count(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var getMyModsImplementors = []string{"GetMyMods"} - -func (ec *executionContext) _GetMyMods(ctx context.Context, sel ast.SelectionSet, obj *GetMyMods) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, getMyModsImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("GetMyMods") - case "mods": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._GetMyMods_mods(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "count": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._GetMyMods_count(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var getMyVersionsImplementors = []string{"GetMyVersions"} - -func (ec *executionContext) _GetMyVersions(ctx context.Context, sel ast.SelectionSet, obj *GetMyVersions) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, getMyVersionsImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("GetMyVersions") - case "versions": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._GetMyVersions_versions(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "count": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._GetMyVersions_count(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var getSMLVersionsImplementors = []string{"GetSMLVersions"} - -func (ec *executionContext) _GetSMLVersions(ctx context.Context, sel ast.SelectionSet, obj *GetSMLVersions) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, getSMLVersionsImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("GetSMLVersions") - case "sml_versions": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._GetSMLVersions_sml_versions(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "count": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._GetSMLVersions_count(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var getVersionsImplementors = []string{"GetVersions"} - -func (ec *executionContext) _GetVersions(ctx context.Context, sel ast.SelectionSet, obj *GetVersions) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, getVersionsImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("GetVersions") - case "versions": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._GetVersions_versions(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "count": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._GetVersions_count(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var groupImplementors = []string{"Group"} - -func (ec *executionContext) _Group(ctx context.Context, sel ast.SelectionSet, obj *Group) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, groupImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("Group") - case "id": - out.Values[i] = ec._Group_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "name": - out.Values[i] = ec._Group_name(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var guideImplementors = []string{"Guide"} - -func (ec *executionContext) _Guide(ctx context.Context, sel ast.SelectionSet, obj *Guide) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, guideImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("Guide") - case "id": - out.Values[i] = ec._Guide_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "name": - out.Values[i] = ec._Guide_name(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "short_description": - out.Values[i] = ec._Guide_short_description(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "guide": - out.Values[i] = ec._Guide_guide(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "views": - out.Values[i] = ec._Guide_views(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "user_id": - out.Values[i] = ec._Guide_user_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "updated_at": - out.Values[i] = ec._Guide_updated_at(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "created_at": - out.Values[i] = ec._Guide_created_at(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "tags": - out.Values[i] = ec._Guide_tags(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "user": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Guide_user(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var latestVersionsImplementors = []string{"LatestVersions"} - -func (ec *executionContext) _LatestVersions(ctx context.Context, sel ast.SelectionSet, obj *LatestVersions) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, latestVersionsImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("LatestVersions") - case "alpha": - out.Values[i] = ec._LatestVersions_alpha(ctx, field, obj) - case "beta": - out.Values[i] = ec._LatestVersions_beta(ctx, field, obj) - case "release": - out.Values[i] = ec._LatestVersions_release(ctx, field, obj) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var modImplementors = []string{"Mod"} - -func (ec *executionContext) _Mod(ctx context.Context, sel ast.SelectionSet, obj *Mod) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, modImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("Mod") - case "id": - out.Values[i] = ec._Mod_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "name": - out.Values[i] = ec._Mod_name(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "short_description": - out.Values[i] = ec._Mod_short_description(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "full_description": - out.Values[i] = ec._Mod_full_description(ctx, field, obj) - case "logo": - out.Values[i] = ec._Mod_logo(ctx, field, obj) - case "logo_thumbhash": - out.Values[i] = ec._Mod_logo_thumbhash(ctx, field, obj) - case "source_url": - out.Values[i] = ec._Mod_source_url(ctx, field, obj) - case "creator_id": - out.Values[i] = ec._Mod_creator_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "approved": - out.Values[i] = ec._Mod_approved(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "views": - out.Values[i] = ec._Mod_views(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "downloads": - out.Values[i] = ec._Mod_downloads(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "hotness": - out.Values[i] = ec._Mod_hotness(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "popularity": - out.Values[i] = ec._Mod_popularity(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "updated_at": - out.Values[i] = ec._Mod_updated_at(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "created_at": - out.Values[i] = ec._Mod_created_at(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "last_version_date": - out.Values[i] = ec._Mod_last_version_date(ctx, field, obj) - case "mod_reference": - out.Values[i] = ec._Mod_mod_reference(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "hidden": - out.Values[i] = ec._Mod_hidden(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "tags": - out.Values[i] = ec._Mod_tags(ctx, field, obj) - case "compatibility": - out.Values[i] = ec._Mod_compatibility(ctx, field, obj) - case "toggle_network_use": - out.Values[i] = ec._Mod_toggle_network_use(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "toggle_explicit_content": - out.Values[i] = ec._Mod_toggle_explicit_content(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "authors": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Mod_authors(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "version": - field := field - - innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Mod_version(ctx, field, obj) - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "versions": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Mod_versions(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "latestVersions": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Mod_latestVersions(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var modVersionImplementors = []string{"ModVersion"} - -func (ec *executionContext) _ModVersion(ctx context.Context, sel ast.SelectionSet, obj *ModVersion) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, modVersionImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("ModVersion") - case "id": - out.Values[i] = ec._ModVersion_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "mod_reference": - out.Values[i] = ec._ModVersion_mod_reference(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "versions": - out.Values[i] = ec._ModVersion_versions(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var mutationImplementors = []string{"Mutation"} - -func (ec *executionContext) _Mutation(ctx context.Context, sel ast.SelectionSet) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, mutationImplementors) - ctx = graphql.WithFieldContext(ctx, &graphql.FieldContext{ - Object: "Mutation", - }) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - innerCtx := graphql.WithRootFieldContext(ctx, &graphql.RootFieldContext{ - Object: field.Name, - Field: field, - }) - - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("Mutation") - case "discourseSSO": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_discourseSSO(ctx, field) - }) - case "createAnnouncement": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_createAnnouncement(ctx, field) - }) - case "updateAnnouncement": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_updateAnnouncement(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "deleteAnnouncement": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_deleteAnnouncement(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "updateModCompatibility": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_updateModCompatibility(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "updateMultipleModCompatibilities": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_updateMultipleModCompatibilities(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "createGuide": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_createGuide(ctx, field) - }) - case "updateGuide": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_updateGuide(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "deleteGuide": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_deleteGuide(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "createMod": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_createMod(ctx, field) - }) - case "updateMod": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_updateMod(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "deleteMod": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_deleteMod(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "approveMod": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_approveMod(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "denyMod": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_denyMod(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "createSatisfactoryVersion": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_createSatisfactoryVersion(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "updateSatisfactoryVersion": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_updateSatisfactoryVersion(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "deleteSatisfactoryVersion": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_deleteSatisfactoryVersion(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "createTag": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_createTag(ctx, field) - }) - case "createMultipleTags": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_createMultipleTags(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "updateTag": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_updateTag(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "deleteTag": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_deleteTag(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "updateUser": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_updateUser(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "logout": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_logout(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "oAuthGithub": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_oAuthGithub(ctx, field) - }) - case "oAuthGoogle": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_oAuthGoogle(ctx, field) - }) - case "oAuthFacebook": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_oAuthFacebook(ctx, field) - }) - case "createVersion": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_createVersion(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "uploadVersionPart": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_uploadVersionPart(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "finalizeCreateVersion": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_finalizeCreateVersion(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "updateVersion": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_updateVersion(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "deleteVersion": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_deleteVersion(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "approveVersion": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_approveVersion(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "denyVersion": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_denyVersion(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var oAuthOptionsImplementors = []string{"OAuthOptions"} - -func (ec *executionContext) _OAuthOptions(ctx context.Context, sel ast.SelectionSet, obj *OAuthOptions) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, oAuthOptionsImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("OAuthOptions") - case "github": - out.Values[i] = ec._OAuthOptions_github(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "google": - out.Values[i] = ec._OAuthOptions_google(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "facebook": - out.Values[i] = ec._OAuthOptions_facebook(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var queryImplementors = []string{"Query"} - -func (ec *executionContext) _Query(ctx context.Context, sel ast.SelectionSet) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, queryImplementors) - ctx = graphql.WithFieldContext(ctx, &graphql.FieldContext{ - Object: "Query", - }) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - innerCtx := graphql.WithRootFieldContext(ctx, &graphql.RootFieldContext{ - Object: field.Name, - Field: field, - }) - - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("Query") - case "getOAuthOptions": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getOAuthOptions(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getAnnouncement": - field := field - - innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getAnnouncement(ctx, field) - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getAnnouncements": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getAnnouncements(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getAnnouncementsByImportance": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getAnnouncementsByImportance(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getGuide": - field := field - - innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getGuide(ctx, field) - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getGuides": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getGuides(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getMod": - field := field - - innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getMod(ctx, field) - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getModByReference": - field := field - - innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getModByReference(ctx, field) - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getModByIdOrReference": - field := field - - innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getModByIdOrReference(ctx, field) - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getMods": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getMods(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getUnapprovedMods": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getUnapprovedMods(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getMyMods": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getMyMods(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getMyUnapprovedMods": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getMyUnapprovedMods(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "resolveModVersions": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_resolveModVersions(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getModAssetList": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getModAssetList(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getSatisfactoryVersions": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getSatisfactoryVersions(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getSatisfactoryVersion": - field := field - - innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getSatisfactoryVersion(ctx, field) - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getSMLVersion": - field := field - - innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getSMLVersion(ctx, field) - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getSMLVersions": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getSMLVersions(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getTag": - field := field - - innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getTag(ctx, field) - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getTags": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getTags(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getMe": - field := field - - innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getMe(ctx, field) - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getUser": - field := field - - innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getUser(ctx, field) - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getUsers": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getUsers(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getVersion": - field := field - - innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getVersion(ctx, field) - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getVersions": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getVersions(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getUnapprovedVersions": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getUnapprovedVersions(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "checkVersionUploadState": - field := field - - innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_checkVersionUploadState(ctx, field) - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getMyVersions": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getMyVersions(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getMyUnapprovedVersions": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getMyUnapprovedVersions(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "__type": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Query___type(ctx, field) - }) - case "__schema": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Query___schema(ctx, field) - }) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var sMLVersionImplementors = []string{"SMLVersion"} - -func (ec *executionContext) _SMLVersion(ctx context.Context, sel ast.SelectionSet, obj *SMLVersion) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, sMLVersionImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("SMLVersion") - case "id": - out.Values[i] = ec._SMLVersion_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "version": - out.Values[i] = ec._SMLVersion_version(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "satisfactory_version": - out.Values[i] = ec._SMLVersion_satisfactory_version(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "stability": - out.Values[i] = ec._SMLVersion_stability(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "link": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._SMLVersion_link(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "targets": - out.Values[i] = ec._SMLVersion_targets(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "changelog": - out.Values[i] = ec._SMLVersion_changelog(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "date": - out.Values[i] = ec._SMLVersion_date(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "bootstrap_version": - field := field - - innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._SMLVersion_bootstrap_version(ctx, field, obj) - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "engine_version": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._SMLVersion_engine_version(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "updated_at": - out.Values[i] = ec._SMLVersion_updated_at(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "created_at": - out.Values[i] = ec._SMLVersion_created_at(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var sMLVersionTargetImplementors = []string{"SMLVersionTarget"} - -func (ec *executionContext) _SMLVersionTarget(ctx context.Context, sel ast.SelectionSet, obj *SMLVersionTarget) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, sMLVersionTargetImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("SMLVersionTarget") - case "VersionID": - out.Values[i] = ec._SMLVersionTarget_VersionID(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "targetName": - out.Values[i] = ec._SMLVersionTarget_targetName(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "link": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._SMLVersionTarget_link(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var satisfactoryVersionImplementors = []string{"SatisfactoryVersion"} - -func (ec *executionContext) _SatisfactoryVersion(ctx context.Context, sel ast.SelectionSet, obj *SatisfactoryVersion) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, satisfactoryVersionImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("SatisfactoryVersion") - case "id": - out.Values[i] = ec._SatisfactoryVersion_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "version": - out.Values[i] = ec._SatisfactoryVersion_version(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "engine_version": - out.Values[i] = ec._SatisfactoryVersion_engine_version(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var tagImplementors = []string{"Tag"} - -func (ec *executionContext) _Tag(ctx context.Context, sel ast.SelectionSet, obj *Tag) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, tagImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("Tag") - case "id": - out.Values[i] = ec._Tag_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "name": - out.Values[i] = ec._Tag_name(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "description": - out.Values[i] = ec._Tag_description(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var userImplementors = []string{"User"} - -func (ec *executionContext) _User(ctx context.Context, sel ast.SelectionSet, obj *User) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, userImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("User") - case "id": - out.Values[i] = ec._User_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "email": - out.Values[i] = ec._User_email(ctx, field, obj) - case "username": - out.Values[i] = ec._User_username(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "avatar": - out.Values[i] = ec._User_avatar(ctx, field, obj) - case "avatar_thumbhash": - out.Values[i] = ec._User_avatar_thumbhash(ctx, field, obj) - case "created_at": - out.Values[i] = ec._User_created_at(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "github_id": - out.Values[i] = ec._User_github_id(ctx, field, obj) - case "google_id": - out.Values[i] = ec._User_google_id(ctx, field, obj) - case "facebook_id": - out.Values[i] = ec._User_facebook_id(ctx, field, obj) - case "roles": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._User_roles(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "groups": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._User_groups(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "mods": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._User_mods(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "guides": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._User_guides(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var userModImplementors = []string{"UserMod"} - -func (ec *executionContext) _UserMod(ctx context.Context, sel ast.SelectionSet, obj *UserMod) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, userModImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("UserMod") - case "user_id": - out.Values[i] = ec._UserMod_user_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "mod_id": - out.Values[i] = ec._UserMod_mod_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "role": - out.Values[i] = ec._UserMod_role(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "user": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._UserMod_user(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "mod": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._UserMod_mod(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var userRolesImplementors = []string{"UserRoles"} - -func (ec *executionContext) _UserRoles(ctx context.Context, sel ast.SelectionSet, obj *UserRoles) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, userRolesImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("UserRoles") - case "approveMods": - out.Values[i] = ec._UserRoles_approveMods(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "approveVersions": - out.Values[i] = ec._UserRoles_approveVersions(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "deleteContent": - out.Values[i] = ec._UserRoles_deleteContent(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "editContent": - out.Values[i] = ec._UserRoles_editContent(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "editUsers": - out.Values[i] = ec._UserRoles_editUsers(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "editSatisfactoryVersions": - out.Values[i] = ec._UserRoles_editSatisfactoryVersions(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "editBootstrapVersions": - out.Values[i] = ec._UserRoles_editBootstrapVersions(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "editAnyModCompatibility": - out.Values[i] = ec._UserRoles_editAnyModCompatibility(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var userSessionImplementors = []string{"UserSession"} - -func (ec *executionContext) _UserSession(ctx context.Context, sel ast.SelectionSet, obj *UserSession) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, userSessionImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("UserSession") - case "token": - out.Values[i] = ec._UserSession_token(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var versionImplementors = []string{"Version"} - -func (ec *executionContext) _Version(ctx context.Context, sel ast.SelectionSet, obj *Version) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, versionImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("Version") - case "id": - out.Values[i] = ec._Version_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "mod_id": - out.Values[i] = ec._Version_mod_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "version": - out.Values[i] = ec._Version_version(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "sml_version": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Version_sml_version(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "game_version": - out.Values[i] = ec._Version_game_version(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "required_on_remote": - out.Values[i] = ec._Version_required_on_remote(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "changelog": - out.Values[i] = ec._Version_changelog(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "downloads": - out.Values[i] = ec._Version_downloads(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "stability": - out.Values[i] = ec._Version_stability(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "approved": - out.Values[i] = ec._Version_approved(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "updated_at": - out.Values[i] = ec._Version_updated_at(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "created_at": - out.Values[i] = ec._Version_created_at(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "link": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Version_link(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "targets": - out.Values[i] = ec._Version_targets(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "metadata": - out.Values[i] = ec._Version_metadata(ctx, field, obj) - case "size": - field := field - - innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Version_size(ctx, field, obj) - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "hash": - field := field - - innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Version_hash(ctx, field, obj) - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "mod": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Version_mod(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "dependencies": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Version_dependencies(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "virustotal_results": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Version_virustotal_results(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var versionDependencyImplementors = []string{"VersionDependency"} - -func (ec *executionContext) _VersionDependency(ctx context.Context, sel ast.SelectionSet, obj *VersionDependency) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, versionDependencyImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("VersionDependency") - case "version_id": - out.Values[i] = ec._VersionDependency_version_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "mod_id": - out.Values[i] = ec._VersionDependency_mod_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "condition": - out.Values[i] = ec._VersionDependency_condition(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "optional": - out.Values[i] = ec._VersionDependency_optional(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "mod_reference": - out.Values[i] = ec._VersionDependency_mod_reference(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "mod": - field := field - - innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._VersionDependency_mod(ctx, field, obj) - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "version": - out.Values[i] = ec._VersionDependency_version(ctx, field, obj) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var versionTargetImplementors = []string{"VersionTarget"} - -func (ec *executionContext) _VersionTarget(ctx context.Context, sel ast.SelectionSet, obj *VersionTarget) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, versionTargetImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("VersionTarget") - case "VersionID": - out.Values[i] = ec._VersionTarget_VersionID(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "targetName": - out.Values[i] = ec._VersionTarget_targetName(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "link": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._VersionTarget_link(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "size": - out.Values[i] = ec._VersionTarget_size(ctx, field, obj) - case "hash": - out.Values[i] = ec._VersionTarget_hash(ctx, field, obj) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var virustotalResultImplementors = []string{"VirustotalResult"} - -func (ec *executionContext) _VirustotalResult(ctx context.Context, sel ast.SelectionSet, obj *VirustotalResult) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, virustotalResultImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("VirustotalResult") - case "id": - out.Values[i] = ec._VirustotalResult_id(ctx, field, obj) - case "hash": - out.Values[i] = ec._VirustotalResult_hash(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "safe": - out.Values[i] = ec._VirustotalResult_safe(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "file_name": - out.Values[i] = ec._VirustotalResult_file_name(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "version_id": - out.Values[i] = ec._VirustotalResult_version_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "created_at": - out.Values[i] = ec._VirustotalResult_created_at(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "updated_at": - out.Values[i] = ec._VirustotalResult_updated_at(ctx, field, obj) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var __DirectiveImplementors = []string{"__Directive"} - -func (ec *executionContext) ___Directive(ctx context.Context, sel ast.SelectionSet, obj *introspection.Directive) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, __DirectiveImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("__Directive") - case "name": - out.Values[i] = ec.___Directive_name(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "description": - out.Values[i] = ec.___Directive_description(ctx, field, obj) - case "isRepeatable": - out.Values[i] = ec.___Directive_isRepeatable(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "locations": - out.Values[i] = ec.___Directive_locations(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "args": - out.Values[i] = ec.___Directive_args(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var __EnumValueImplementors = []string{"__EnumValue"} - -func (ec *executionContext) ___EnumValue(ctx context.Context, sel ast.SelectionSet, obj *introspection.EnumValue) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, __EnumValueImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("__EnumValue") - case "name": - out.Values[i] = ec.___EnumValue_name(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "description": - out.Values[i] = ec.___EnumValue_description(ctx, field, obj) - case "isDeprecated": - out.Values[i] = ec.___EnumValue_isDeprecated(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "deprecationReason": - out.Values[i] = ec.___EnumValue_deprecationReason(ctx, field, obj) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var __FieldImplementors = []string{"__Field"} - -func (ec *executionContext) ___Field(ctx context.Context, sel ast.SelectionSet, obj *introspection.Field) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, __FieldImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("__Field") - case "name": - out.Values[i] = ec.___Field_name(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "description": - out.Values[i] = ec.___Field_description(ctx, field, obj) - case "args": - out.Values[i] = ec.___Field_args(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "type": - out.Values[i] = ec.___Field_type(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "isDeprecated": - out.Values[i] = ec.___Field_isDeprecated(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "deprecationReason": - out.Values[i] = ec.___Field_deprecationReason(ctx, field, obj) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var __InputValueImplementors = []string{"__InputValue"} - -func (ec *executionContext) ___InputValue(ctx context.Context, sel ast.SelectionSet, obj *introspection.InputValue) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, __InputValueImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("__InputValue") - case "name": - out.Values[i] = ec.___InputValue_name(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "description": - out.Values[i] = ec.___InputValue_description(ctx, field, obj) - case "type": - out.Values[i] = ec.___InputValue_type(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "defaultValue": - out.Values[i] = ec.___InputValue_defaultValue(ctx, field, obj) - case "isDeprecated": - out.Values[i] = ec.___InputValue_isDeprecated(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "deprecationReason": - out.Values[i] = ec.___InputValue_deprecationReason(ctx, field, obj) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var __SchemaImplementors = []string{"__Schema"} - -func (ec *executionContext) ___Schema(ctx context.Context, sel ast.SelectionSet, obj *introspection.Schema) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, __SchemaImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("__Schema") - case "description": - out.Values[i] = ec.___Schema_description(ctx, field, obj) - case "types": - out.Values[i] = ec.___Schema_types(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "queryType": - out.Values[i] = ec.___Schema_queryType(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "mutationType": - out.Values[i] = ec.___Schema_mutationType(ctx, field, obj) - case "subscriptionType": - out.Values[i] = ec.___Schema_subscriptionType(ctx, field, obj) - case "directives": - out.Values[i] = ec.___Schema_directives(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var __TypeImplementors = []string{"__Type"} - -func (ec *executionContext) ___Type(ctx context.Context, sel ast.SelectionSet, obj *introspection.Type) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, __TypeImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("__Type") - case "kind": - out.Values[i] = ec.___Type_kind(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "name": - out.Values[i] = ec.___Type_name(ctx, field, obj) - case "description": - out.Values[i] = ec.___Type_description(ctx, field, obj) - case "specifiedByURL": - out.Values[i] = ec.___Type_specifiedByURL(ctx, field, obj) - case "fields": - out.Values[i] = ec.___Type_fields(ctx, field, obj) - case "interfaces": - out.Values[i] = ec.___Type_interfaces(ctx, field, obj) - case "possibleTypes": - out.Values[i] = ec.___Type_possibleTypes(ctx, field, obj) - case "enumValues": - out.Values[i] = ec.___Type_enumValues(ctx, field, obj) - case "inputFields": - out.Values[i] = ec.___Type_inputFields(ctx, field, obj) - case "ofType": - out.Values[i] = ec.___Type_ofType(ctx, field, obj) - case "isOneOf": - out.Values[i] = ec.___Type_isOneOf(ctx, field, obj) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -// endregion **************************** object.gotpl **************************** - -// region ***************************** type.gotpl ***************************** - -func (ec *executionContext) marshalNAnnouncement2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncement(ctx context.Context, sel ast.SelectionSet, v Announcement) graphql.Marshaler { - return ec._Announcement(ctx, sel, &v) -} - -func (ec *executionContext) marshalNAnnouncement2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementᚄ(ctx context.Context, sel ast.SelectionSet, v []*Announcement) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalNAnnouncement2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncement(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalNAnnouncement2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncement(ctx context.Context, sel ast.SelectionSet, v *Announcement) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._Announcement(ctx, sel, v) -} - -func (ec *executionContext) unmarshalNAnnouncementID2string(ctx context.Context, v any) (string, error) { - res, err := graphql.UnmarshalString(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNAnnouncementID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { - _ = sel - res := graphql.MarshalString(v) - if res == graphql.Null { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - } - return res -} - -func (ec *executionContext) unmarshalNAnnouncementImportance2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementImportance(ctx context.Context, v any) (AnnouncementImportance, error) { - var res AnnouncementImportance - err := res.UnmarshalGQL(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNAnnouncementImportance2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementImportance(ctx context.Context, sel ast.SelectionSet, v AnnouncementImportance) graphql.Marshaler { - return v -} - -func (ec *executionContext) unmarshalNBoolean2bool(ctx context.Context, v any) (bool, error) { - res, err := graphql.UnmarshalBoolean(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNBoolean2bool(ctx context.Context, sel ast.SelectionSet, v bool) graphql.Marshaler { - _ = sel - res := graphql.MarshalBoolean(v) - if res == graphql.Null { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - } - return res -} - -func (ec *executionContext) marshalNCompatibility2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibility(ctx context.Context, sel ast.SelectionSet, v *Compatibility) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._Compatibility(ctx, sel, v) -} - -func (ec *executionContext) unmarshalNCompatibilityInfoInput2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInfoInput(ctx context.Context, v any) (CompatibilityInfoInput, error) { - res, err := ec.unmarshalInputCompatibilityInfoInput(ctx, v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalNCompatibilityInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInput(ctx context.Context, v any) (*CompatibilityInput, error) { - res, err := ec.unmarshalInputCompatibilityInput(ctx, v) - return &res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalNCompatibilityState2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityState(ctx context.Context, v any) (CompatibilityState, error) { - var res CompatibilityState - err := res.UnmarshalGQL(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNCompatibilityState2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityState(ctx context.Context, sel ast.SelectionSet, v CompatibilityState) graphql.Marshaler { - return v -} - -func (ec *executionContext) unmarshalNDate2string(ctx context.Context, v any) (string, error) { - res, err := graphql.UnmarshalString(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNDate2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { - _ = sel - res := graphql.MarshalString(v) - if res == graphql.Null { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - } - return res -} - -func (ec *executionContext) marshalNGetGuides2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetGuides(ctx context.Context, sel ast.SelectionSet, v GetGuides) graphql.Marshaler { - return ec._GetGuides(ctx, sel, &v) -} - -func (ec *executionContext) marshalNGetGuides2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetGuides(ctx context.Context, sel ast.SelectionSet, v *GetGuides) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._GetGuides(ctx, sel, v) -} - -func (ec *executionContext) marshalNGetMods2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMods(ctx context.Context, sel ast.SelectionSet, v GetMods) graphql.Marshaler { - return ec._GetMods(ctx, sel, &v) -} - -func (ec *executionContext) marshalNGetMods2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMods(ctx context.Context, sel ast.SelectionSet, v *GetMods) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._GetMods(ctx, sel, v) -} - -func (ec *executionContext) marshalNGetMyMods2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMyMods(ctx context.Context, sel ast.SelectionSet, v GetMyMods) graphql.Marshaler { - return ec._GetMyMods(ctx, sel, &v) -} - -func (ec *executionContext) marshalNGetMyMods2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMyMods(ctx context.Context, sel ast.SelectionSet, v *GetMyMods) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._GetMyMods(ctx, sel, v) -} - -func (ec *executionContext) marshalNGetMyVersions2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMyVersions(ctx context.Context, sel ast.SelectionSet, v GetMyVersions) graphql.Marshaler { - return ec._GetMyVersions(ctx, sel, &v) -} - -func (ec *executionContext) marshalNGetMyVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMyVersions(ctx context.Context, sel ast.SelectionSet, v *GetMyVersions) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._GetMyVersions(ctx, sel, v) -} - -func (ec *executionContext) marshalNGetSMLVersions2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetSMLVersions(ctx context.Context, sel ast.SelectionSet, v GetSMLVersions) graphql.Marshaler { - return ec._GetSMLVersions(ctx, sel, &v) -} - -func (ec *executionContext) marshalNGetSMLVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetSMLVersions(ctx context.Context, sel ast.SelectionSet, v *GetSMLVersions) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._GetSMLVersions(ctx, sel, v) -} - -func (ec *executionContext) marshalNGetVersions2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetVersions(ctx context.Context, sel ast.SelectionSet, v GetVersions) graphql.Marshaler { - return ec._GetVersions(ctx, sel, &v) -} - -func (ec *executionContext) marshalNGetVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetVersions(ctx context.Context, sel ast.SelectionSet, v *GetVersions) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._GetVersions(ctx, sel, v) -} - -func (ec *executionContext) marshalNGroup2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGroupᚄ(ctx context.Context, sel ast.SelectionSet, v []*Group) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalNGroup2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGroup(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalNGroup2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGroup(ctx context.Context, sel ast.SelectionSet, v *Group) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._Group(ctx, sel, v) -} - -func (ec *executionContext) marshalNGuide2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuide(ctx context.Context, sel ast.SelectionSet, v Guide) graphql.Marshaler { - return ec._Guide(ctx, sel, &v) -} - -func (ec *executionContext) marshalNGuide2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuideᚄ(ctx context.Context, sel ast.SelectionSet, v []*Guide) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalNGuide2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuide(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalNGuide2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuide(ctx context.Context, sel ast.SelectionSet, v *Guide) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._Guide(ctx, sel, v) -} - -func (ec *executionContext) unmarshalNGuideID2string(ctx context.Context, v any) (string, error) { - res, err := graphql.UnmarshalString(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNGuideID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { - _ = sel - res := graphql.MarshalString(v) - if res == graphql.Null { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - } - return res -} - -func (ec *executionContext) unmarshalNInt2int(ctx context.Context, v any) (int, error) { - res, err := graphql.UnmarshalInt(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNInt2int(ctx context.Context, sel ast.SelectionSet, v int) graphql.Marshaler { - _ = sel - res := graphql.MarshalInt(v) - if res == graphql.Null { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - } - return res -} - -func (ec *executionContext) marshalNLatestVersions2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐLatestVersions(ctx context.Context, sel ast.SelectionSet, v LatestVersions) graphql.Marshaler { - return ec._LatestVersions(ctx, sel, &v) -} - -func (ec *executionContext) marshalNLatestVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐLatestVersions(ctx context.Context, sel ast.SelectionSet, v *LatestVersions) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._LatestVersions(ctx, sel, v) -} - -func (ec *executionContext) marshalNMod2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx context.Context, sel ast.SelectionSet, v Mod) graphql.Marshaler { - return ec._Mod(ctx, sel, &v) -} - -func (ec *executionContext) marshalNMod2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModᚄ(ctx context.Context, sel ast.SelectionSet, v []*Mod) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalNMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalNMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx context.Context, sel ast.SelectionSet, v *Mod) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._Mod(ctx, sel, v) -} - -func (ec *executionContext) unmarshalNModID2string(ctx context.Context, v any) (string, error) { - res, err := graphql.UnmarshalString(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNModID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { - _ = sel - res := graphql.MarshalString(v) - if res == graphql.Null { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - } - return res -} - -func (ec *executionContext) unmarshalNModID2ᚕstringᚄ(ctx context.Context, v any) ([]string, error) { - var vSlice []any - vSlice = graphql.CoerceList(v) - var err error - res := make([]string, len(vSlice)) - for i := range vSlice { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalNModID2string(ctx, vSlice[i]) - if err != nil { - return nil, err - } - } - return res, nil -} - -func (ec *executionContext) marshalNModID2ᚕstringᚄ(ctx context.Context, sel ast.SelectionSet, v []string) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - for i := range v { - ret[i] = ec.marshalNModID2string(ctx, sel, v[i]) - } - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) unmarshalNModReference2string(ctx context.Context, v any) (string, error) { - res, err := graphql.UnmarshalString(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNModReference2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { - _ = sel - res := graphql.MarshalString(v) - if res == graphql.Null { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - } - return res -} - -func (ec *executionContext) marshalNModVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModVersionᚄ(ctx context.Context, sel ast.SelectionSet, v []*ModVersion) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalNModVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModVersion(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalNModVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModVersion(ctx context.Context, sel ast.SelectionSet, v *ModVersion) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._ModVersion(ctx, sel, v) -} - -func (ec *executionContext) unmarshalNModVersionConstraint2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModVersionConstraintᚄ(ctx context.Context, v any) ([]*ModVersionConstraint, error) { - var vSlice []any - vSlice = graphql.CoerceList(v) - var err error - res := make([]*ModVersionConstraint, len(vSlice)) - for i := range vSlice { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalNModVersionConstraint2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModVersionConstraint(ctx, vSlice[i]) - if err != nil { - return nil, err - } - } - return res, nil -} - -func (ec *executionContext) unmarshalNModVersionConstraint2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModVersionConstraint(ctx context.Context, v any) (*ModVersionConstraint, error) { - res, err := ec.unmarshalInputModVersionConstraint(ctx, v) - return &res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalNNewAnnouncement2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewAnnouncement(ctx context.Context, v any) (NewAnnouncement, error) { - res, err := ec.unmarshalInputNewAnnouncement(ctx, v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalNNewGuide2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewGuide(ctx context.Context, v any) (NewGuide, error) { - res, err := ec.unmarshalInputNewGuide(ctx, v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalNNewMod2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewMod(ctx context.Context, v any) (NewMod, error) { - res, err := ec.unmarshalInputNewMod(ctx, v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalNNewSatisfactoryVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewSatisfactoryVersion(ctx context.Context, v any) (NewSatisfactoryVersion, error) { - res, err := ec.unmarshalInputNewSatisfactoryVersion(ctx, v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalNNewTag2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewTagᚄ(ctx context.Context, v any) ([]*NewTag, error) { - var vSlice []any - vSlice = graphql.CoerceList(v) - var err error - res := make([]*NewTag, len(vSlice)) - for i := range vSlice { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalNNewTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewTag(ctx, vSlice[i]) - if err != nil { - return nil, err - } - } - return res, nil -} - -func (ec *executionContext) unmarshalNNewTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewTag(ctx context.Context, v any) (*NewTag, error) { - res, err := ec.unmarshalInputNewTag(ctx, v) - return &res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalNNewVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewVersion(ctx context.Context, v any) (NewVersion, error) { - res, err := ec.unmarshalInputNewVersion(ctx, v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNOAuthOptions2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOAuthOptions(ctx context.Context, sel ast.SelectionSet, v OAuthOptions) graphql.Marshaler { - return ec._OAuthOptions(ctx, sel, &v) -} - -func (ec *executionContext) marshalNOAuthOptions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOAuthOptions(ctx context.Context, sel ast.SelectionSet, v *OAuthOptions) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._OAuthOptions(ctx, sel, v) -} - -func (ec *executionContext) marshalNSMLVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersionᚄ(ctx context.Context, sel ast.SelectionSet, v []*SMLVersion) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalNSMLVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersion(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalNSMLVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersion(ctx context.Context, sel ast.SelectionSet, v *SMLVersion) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._SMLVersion(ctx, sel, v) -} - -func (ec *executionContext) unmarshalNSMLVersionID2string(ctx context.Context, v any) (string, error) { - res, err := graphql.UnmarshalString(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNSMLVersionID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { - _ = sel - res := graphql.MarshalString(v) - if res == graphql.Null { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - } - return res -} - -func (ec *executionContext) marshalNSMLVersionTarget2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersionTarget(ctx context.Context, sel ast.SelectionSet, v []*SMLVersionTarget) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalOSMLVersionTarget2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersionTarget(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - return ret -} - -func (ec *executionContext) marshalNSatisfactoryVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSatisfactoryVersion(ctx context.Context, sel ast.SelectionSet, v SatisfactoryVersion) graphql.Marshaler { - return ec._SatisfactoryVersion(ctx, sel, &v) -} - -func (ec *executionContext) marshalNSatisfactoryVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSatisfactoryVersionᚄ(ctx context.Context, sel ast.SelectionSet, v []*SatisfactoryVersion) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalNSatisfactoryVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSatisfactoryVersion(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalNSatisfactoryVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSatisfactoryVersion(ctx context.Context, sel ast.SelectionSet, v *SatisfactoryVersion) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._SatisfactoryVersion(ctx, sel, v) -} - -func (ec *executionContext) unmarshalNSatisfactoryVersionID2string(ctx context.Context, v any) (string, error) { - res, err := graphql.UnmarshalString(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNSatisfactoryVersionID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { - _ = sel - res := graphql.MarshalString(v) - if res == graphql.Null { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - } - return res -} - -func (ec *executionContext) unmarshalNString2string(ctx context.Context, v any) (string, error) { - res, err := graphql.UnmarshalString(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNString2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { - _ = sel - res := graphql.MarshalString(v) - if res == graphql.Null { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - } - return res -} - -func (ec *executionContext) unmarshalNString2ᚕstringᚄ(ctx context.Context, v any) ([]string, error) { - var vSlice []any - vSlice = graphql.CoerceList(v) - var err error - res := make([]string, len(vSlice)) - for i := range vSlice { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalNString2string(ctx, vSlice[i]) - if err != nil { - return nil, err - } - } - return res, nil -} - -func (ec *executionContext) marshalNString2ᚕstringᚄ(ctx context.Context, sel ast.SelectionSet, v []string) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - for i := range v { - ret[i] = ec.marshalNString2string(ctx, sel, v[i]) - } - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalNTag2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTag(ctx context.Context, sel ast.SelectionSet, v Tag) graphql.Marshaler { - return ec._Tag(ctx, sel, &v) -} - -func (ec *executionContext) marshalNTag2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTagᚄ(ctx context.Context, sel ast.SelectionSet, v []*Tag) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalNTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTag(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalNTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTag(ctx context.Context, sel ast.SelectionSet, v *Tag) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._Tag(ctx, sel, v) -} - -func (ec *executionContext) unmarshalNTagID2string(ctx context.Context, v any) (string, error) { - res, err := graphql.UnmarshalString(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNTagID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { - _ = sel - res := graphql.MarshalString(v) - if res == graphql.Null { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - } - return res -} - -func (ec *executionContext) unmarshalNTagName2string(ctx context.Context, v any) (string, error) { - res, err := graphql.UnmarshalString(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNTagName2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { - _ = sel - res := graphql.MarshalString(v) - if res == graphql.Null { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - } - return res -} - -func (ec *executionContext) unmarshalNTargetName2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTargetName(ctx context.Context, v any) (TargetName, error) { - var res TargetName - err := res.UnmarshalGQL(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNTargetName2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTargetName(ctx context.Context, sel ast.SelectionSet, v TargetName) graphql.Marshaler { - return v -} - -func (ec *executionContext) unmarshalNUpdateAnnouncement2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateAnnouncement(ctx context.Context, v any) (UpdateAnnouncement, error) { - res, err := ec.unmarshalInputUpdateAnnouncement(ctx, v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalNUpdateGuide2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateGuide(ctx context.Context, v any) (UpdateGuide, error) { - res, err := ec.unmarshalInputUpdateGuide(ctx, v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalNUpdateMod2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateMod(ctx context.Context, v any) (UpdateMod, error) { - res, err := ec.unmarshalInputUpdateMod(ctx, v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalNUpdateSatisfactoryVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateSatisfactoryVersion(ctx context.Context, v any) (UpdateSatisfactoryVersion, error) { - res, err := ec.unmarshalInputUpdateSatisfactoryVersion(ctx, v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalNUpdateUser2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateUser(ctx context.Context, v any) (UpdateUser, error) { - res, err := ec.unmarshalInputUpdateUser(ctx, v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalNUpdateUserMod2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateUserMod(ctx context.Context, v any) (UpdateUserMod, error) { - res, err := ec.unmarshalInputUpdateUserMod(ctx, v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalNUpdateVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateVersion(ctx context.Context, v any) (UpdateVersion, error) { - res, err := ec.unmarshalInputUpdateVersion(ctx, v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalNUpload2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚐUpload(ctx context.Context, v any) (graphql.Upload, error) { - res, err := graphql.UnmarshalUpload(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNUpload2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚐUpload(ctx context.Context, sel ast.SelectionSet, v graphql.Upload) graphql.Marshaler { - _ = sel - res := graphql.MarshalUpload(v) - if res == graphql.Null { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - } - return res -} - -func (ec *executionContext) marshalNUser2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx context.Context, sel ast.SelectionSet, v User) graphql.Marshaler { - return ec._User(ctx, sel, &v) -} - -func (ec *executionContext) marshalNUser2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx context.Context, sel ast.SelectionSet, v []*User) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalOUser2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - return ret -} - -func (ec *executionContext) marshalNUser2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx context.Context, sel ast.SelectionSet, v *User) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._User(ctx, sel, v) -} - -func (ec *executionContext) unmarshalNUserID2string(ctx context.Context, v any) (string, error) { - res, err := graphql.UnmarshalString(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNUserID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { - _ = sel - res := graphql.MarshalString(v) - if res == graphql.Null { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - } - return res -} - -func (ec *executionContext) unmarshalNUserID2ᚕstringᚄ(ctx context.Context, v any) ([]string, error) { - var vSlice []any - vSlice = graphql.CoerceList(v) - var err error - res := make([]string, len(vSlice)) - for i := range vSlice { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalNUserID2string(ctx, vSlice[i]) - if err != nil { - return nil, err - } - } - return res, nil -} - -func (ec *executionContext) marshalNUserID2ᚕstringᚄ(ctx context.Context, sel ast.SelectionSet, v []string) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - for i := range v { - ret[i] = ec.marshalNUserID2string(ctx, sel, v[i]) - } - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalNUserMod2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserModᚄ(ctx context.Context, sel ast.SelectionSet, v []*UserMod) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalNUserMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserMod(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalNUserMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserMod(ctx context.Context, sel ast.SelectionSet, v *UserMod) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._UserMod(ctx, sel, v) -} - -func (ec *executionContext) marshalNUserRoles2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserRoles(ctx context.Context, sel ast.SelectionSet, v UserRoles) graphql.Marshaler { - return ec._UserRoles(ctx, sel, &v) -} - -func (ec *executionContext) marshalNUserRoles2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserRoles(ctx context.Context, sel ast.SelectionSet, v *UserRoles) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._UserRoles(ctx, sel, v) -} - -func (ec *executionContext) marshalNVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx context.Context, sel ast.SelectionSet, v Version) graphql.Marshaler { - return ec._Version(ctx, sel, &v) -} - -func (ec *executionContext) marshalNVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionᚄ(ctx context.Context, sel ast.SelectionSet, v []*Version) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalNVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalNVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx context.Context, sel ast.SelectionSet, v *Version) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._Version(ctx, sel, v) -} - -func (ec *executionContext) marshalNVersionDependency2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionDependencyᚄ(ctx context.Context, sel ast.SelectionSet, v []*VersionDependency) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalNVersionDependency2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionDependency(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalNVersionDependency2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionDependency(ctx context.Context, sel ast.SelectionSet, v *VersionDependency) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._VersionDependency(ctx, sel, v) -} - -func (ec *executionContext) unmarshalNVersionID2string(ctx context.Context, v any) (string, error) { - res, err := graphql.UnmarshalString(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNVersionID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { - _ = sel - res := graphql.MarshalString(v) - if res == graphql.Null { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - } - return res -} - -func (ec *executionContext) unmarshalNVersionStabilities2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionStabilities(ctx context.Context, v any) (VersionStabilities, error) { - var res VersionStabilities - err := res.UnmarshalGQL(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNVersionStabilities2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionStabilities(ctx context.Context, sel ast.SelectionSet, v VersionStabilities) graphql.Marshaler { - return v -} - -func (ec *executionContext) marshalNVersionTarget2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionTarget(ctx context.Context, sel ast.SelectionSet, v []*VersionTarget) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalOVersionTarget2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionTarget(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - return ret -} - -func (ec *executionContext) unmarshalNVirustotalHash2string(ctx context.Context, v any) (string, error) { - res, err := graphql.UnmarshalString(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNVirustotalHash2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { - _ = sel - res := graphql.MarshalString(v) - if res == graphql.Null { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - } - return res -} - -func (ec *executionContext) marshalNVirustotalResult2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVirustotalResultᚄ(ctx context.Context, sel ast.SelectionSet, v []*VirustotalResult) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalNVirustotalResult2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVirustotalResult(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalNVirustotalResult2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVirustotalResult(ctx context.Context, sel ast.SelectionSet, v *VirustotalResult) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._VirustotalResult(ctx, sel, v) -} - -func (ec *executionContext) marshalN__Directive2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐDirective(ctx context.Context, sel ast.SelectionSet, v introspection.Directive) graphql.Marshaler { - return ec.___Directive(ctx, sel, &v) -} - -func (ec *executionContext) marshalN__Directive2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐDirectiveᚄ(ctx context.Context, sel ast.SelectionSet, v []introspection.Directive) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalN__Directive2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐDirective(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) unmarshalN__DirectiveLocation2string(ctx context.Context, v any) (string, error) { - res, err := graphql.UnmarshalString(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalN__DirectiveLocation2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { - _ = sel - res := graphql.MarshalString(v) - if res == graphql.Null { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - } - return res -} - -func (ec *executionContext) unmarshalN__DirectiveLocation2ᚕstringᚄ(ctx context.Context, v any) ([]string, error) { - var vSlice []any - vSlice = graphql.CoerceList(v) - var err error - res := make([]string, len(vSlice)) - for i := range vSlice { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalN__DirectiveLocation2string(ctx, vSlice[i]) - if err != nil { - return nil, err - } - } - return res, nil -} - -func (ec *executionContext) marshalN__DirectiveLocation2ᚕstringᚄ(ctx context.Context, sel ast.SelectionSet, v []string) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalN__DirectiveLocation2string(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalN__EnumValue2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐEnumValue(ctx context.Context, sel ast.SelectionSet, v introspection.EnumValue) graphql.Marshaler { - return ec.___EnumValue(ctx, sel, &v) -} - -func (ec *executionContext) marshalN__Field2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐField(ctx context.Context, sel ast.SelectionSet, v introspection.Field) graphql.Marshaler { - return ec.___Field(ctx, sel, &v) -} - -func (ec *executionContext) marshalN__InputValue2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValue(ctx context.Context, sel ast.SelectionSet, v introspection.InputValue) graphql.Marshaler { - return ec.___InputValue(ctx, sel, &v) -} - -func (ec *executionContext) marshalN__InputValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValueᚄ(ctx context.Context, sel ast.SelectionSet, v []introspection.InputValue) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalN__InputValue2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValue(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalN__Type2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx context.Context, sel ast.SelectionSet, v introspection.Type) graphql.Marshaler { - return ec.___Type(ctx, sel, &v) -} - -func (ec *executionContext) marshalN__Type2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐTypeᚄ(ctx context.Context, sel ast.SelectionSet, v []introspection.Type) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalN__Type2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalN__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx context.Context, sel ast.SelectionSet, v *introspection.Type) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec.___Type(ctx, sel, v) -} - -func (ec *executionContext) unmarshalN__TypeKind2string(ctx context.Context, v any) (string, error) { - res, err := graphql.UnmarshalString(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalN__TypeKind2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { - _ = sel - res := graphql.MarshalString(v) - if res == graphql.Null { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - } - return res -} - -func (ec *executionContext) marshalOAnnouncement2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncement(ctx context.Context, sel ast.SelectionSet, v *Announcement) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec._Announcement(ctx, sel, v) -} - -func (ec *executionContext) unmarshalOAnnouncementImportance2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementImportance(ctx context.Context, v any) (*AnnouncementImportance, error) { - if v == nil { - return nil, nil - } - var res = new(AnnouncementImportance) - err := res.UnmarshalGQL(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalOAnnouncementImportance2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementImportance(ctx context.Context, sel ast.SelectionSet, v *AnnouncementImportance) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return v -} - -func (ec *executionContext) unmarshalOBoolean2bool(ctx context.Context, v any) (bool, error) { - res, err := graphql.UnmarshalBoolean(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalOBoolean2bool(ctx context.Context, sel ast.SelectionSet, v bool) graphql.Marshaler { - _ = sel - _ = ctx - res := graphql.MarshalBoolean(v) - return res -} - -func (ec *executionContext) unmarshalOBoolean2ᚖbool(ctx context.Context, v any) (*bool, error) { - if v == nil { - return nil, nil - } - res, err := graphql.UnmarshalBoolean(v) - return &res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalOBoolean2ᚖbool(ctx context.Context, sel ast.SelectionSet, v *bool) graphql.Marshaler { - if v == nil { - return graphql.Null - } - _ = sel - _ = ctx - res := graphql.MarshalBoolean(*v) - return res -} - -func (ec *executionContext) marshalOCompatibilityInfo2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInfo(ctx context.Context, sel ast.SelectionSet, v *CompatibilityInfo) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec._CompatibilityInfo(ctx, sel, v) -} - -func (ec *executionContext) unmarshalOCompatibilityInfoInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInfoInput(ctx context.Context, v any) (*CompatibilityInfoInput, error) { - if v == nil { - return nil, nil - } - res, err := ec.unmarshalInputCompatibilityInfoInput(ctx, v) - return &res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalOCreateVersionResponse2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCreateVersionResponse(ctx context.Context, sel ast.SelectionSet, v *CreateVersionResponse) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec._CreateVersionResponse(ctx, sel, v) -} - -func (ec *executionContext) unmarshalODate2ᚖstring(ctx context.Context, v any) (*string, error) { - if v == nil { - return nil, nil - } - res, err := graphql.UnmarshalString(v) - return &res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalODate2ᚖstring(ctx context.Context, sel ast.SelectionSet, v *string) graphql.Marshaler { - if v == nil { - return graphql.Null - } - _ = sel - _ = ctx - res := graphql.MarshalString(*v) - return res -} - -func (ec *executionContext) marshalOGuide2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuide(ctx context.Context, sel ast.SelectionSet, v *Guide) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec._Guide(ctx, sel, v) -} - -func (ec *executionContext) unmarshalOGuideFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuideFields(ctx context.Context, v any) (*GuideFields, error) { - if v == nil { - return nil, nil - } - var res = new(GuideFields) - err := res.UnmarshalGQL(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalOGuideFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuideFields(ctx context.Context, sel ast.SelectionSet, v *GuideFields) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return v -} - -func (ec *executionContext) unmarshalOGuideFilter2map(ctx context.Context, v any) (map[string]any, error) { - if v == nil { - return nil, nil - } - res, err := ec.unmarshalInputGuideFilter(ctx, v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalOInt2ᚖint(ctx context.Context, v any) (*int, error) { - if v == nil { - return nil, nil - } - res, err := graphql.UnmarshalInt(v) - return &res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalOInt2ᚖint(ctx context.Context, sel ast.SelectionSet, v *int) graphql.Marshaler { - if v == nil { - return graphql.Null - } - _ = sel - _ = ctx - res := graphql.MarshalInt(*v) - return res -} - -func (ec *executionContext) marshalOMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx context.Context, sel ast.SelectionSet, v *Mod) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec._Mod(ctx, sel, v) -} - -func (ec *executionContext) unmarshalOModFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModFields(ctx context.Context, v any) (*ModFields, error) { - if v == nil { - return nil, nil - } - var res = new(ModFields) - err := res.UnmarshalGQL(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalOModFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModFields(ctx context.Context, sel ast.SelectionSet, v *ModFields) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return v -} - -func (ec *executionContext) unmarshalOModFilter2map(ctx context.Context, v any) (map[string]any, error) { - if v == nil { - return nil, nil - } - res, err := ec.unmarshalInputModFilter(ctx, v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalOModReference2ᚖstring(ctx context.Context, v any) (*string, error) { - if v == nil { - return nil, nil - } - res, err := graphql.UnmarshalString(v) - return &res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalOModReference2ᚖstring(ctx context.Context, sel ast.SelectionSet, v *string) graphql.Marshaler { - if v == nil { - return graphql.Null - } - _ = sel - _ = ctx - res := graphql.MarshalString(*v) - return res -} - -func (ec *executionContext) unmarshalOOrder2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOrder(ctx context.Context, v any) (*Order, error) { - if v == nil { - return nil, nil - } - var res = new(Order) - err := res.UnmarshalGQL(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalOOrder2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOrder(ctx context.Context, sel ast.SelectionSet, v *Order) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return v -} - -func (ec *executionContext) marshalOSMLVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersion(ctx context.Context, sel ast.SelectionSet, v *SMLVersion) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec._SMLVersion(ctx, sel, v) -} - -func (ec *executionContext) unmarshalOSMLVersionFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersionFields(ctx context.Context, v any) (*SMLVersionFields, error) { - if v == nil { - return nil, nil - } - var res = new(SMLVersionFields) - err := res.UnmarshalGQL(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalOSMLVersionFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersionFields(ctx context.Context, sel ast.SelectionSet, v *SMLVersionFields) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return v -} - -func (ec *executionContext) unmarshalOSMLVersionFilter2map(ctx context.Context, v any) (map[string]any, error) { - if v == nil { - return nil, nil - } - res, err := ec.unmarshalInputSMLVersionFilter(ctx, v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalOSMLVersionTarget2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersionTarget(ctx context.Context, sel ast.SelectionSet, v *SMLVersionTarget) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec._SMLVersionTarget(ctx, sel, v) -} - -func (ec *executionContext) marshalOSatisfactoryVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSatisfactoryVersion(ctx context.Context, sel ast.SelectionSet, v *SatisfactoryVersion) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec._SatisfactoryVersion(ctx, sel, v) -} - -func (ec *executionContext) unmarshalOString2ᚕstringᚄ(ctx context.Context, v any) ([]string, error) { - if v == nil { - return nil, nil - } - var vSlice []any - vSlice = graphql.CoerceList(v) - var err error - res := make([]string, len(vSlice)) - for i := range vSlice { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalNString2string(ctx, vSlice[i]) - if err != nil { - return nil, err - } - } - return res, nil -} - -func (ec *executionContext) marshalOString2ᚕstringᚄ(ctx context.Context, sel ast.SelectionSet, v []string) graphql.Marshaler { - if v == nil { - return graphql.Null - } - ret := make(graphql.Array, len(v)) - for i := range v { - ret[i] = ec.marshalNString2string(ctx, sel, v[i]) - } - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) unmarshalOString2ᚖstring(ctx context.Context, v any) (*string, error) { - if v == nil { - return nil, nil - } - res, err := graphql.UnmarshalString(v) - return &res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalOString2ᚖstring(ctx context.Context, sel ast.SelectionSet, v *string) graphql.Marshaler { - if v == nil { - return graphql.Null - } - _ = sel - _ = ctx - res := graphql.MarshalString(*v) - return res -} - -func (ec *executionContext) marshalOTag2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTagᚄ(ctx context.Context, sel ast.SelectionSet, v []*Tag) graphql.Marshaler { - if v == nil { - return graphql.Null - } - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalNTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTag(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalOTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTag(ctx context.Context, sel ast.SelectionSet, v *Tag) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec._Tag(ctx, sel, v) -} - -func (ec *executionContext) unmarshalOTagFilter2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTagFilter(ctx context.Context, v any) (*TagFilter, error) { - if v == nil { - return nil, nil - } - res, err := ec.unmarshalInputTagFilter(ctx, v) - return &res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalOTagID2ᚕstringᚄ(ctx context.Context, v any) ([]string, error) { - if v == nil { - return nil, nil - } - var vSlice []any - vSlice = graphql.CoerceList(v) - var err error - res := make([]string, len(vSlice)) - for i := range vSlice { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalNTagID2string(ctx, vSlice[i]) - if err != nil { - return nil, err - } - } - return res, nil -} - -func (ec *executionContext) marshalOTagID2ᚕstringᚄ(ctx context.Context, sel ast.SelectionSet, v []string) graphql.Marshaler { - if v == nil { - return graphql.Null - } - ret := make(graphql.Array, len(v)) - for i := range v { - ret[i] = ec.marshalNTagID2string(ctx, sel, v[i]) - } - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) unmarshalOUpdateUserMod2ᚕgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateUserModᚄ(ctx context.Context, v any) ([]UpdateUserMod, error) { - if v == nil { - return nil, nil - } - var vSlice []any - vSlice = graphql.CoerceList(v) - var err error - res := make([]UpdateUserMod, len(vSlice)) - for i := range vSlice { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalNUpdateUserMod2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateUserMod(ctx, vSlice[i]) - if err != nil { - return nil, err - } - } - return res, nil -} - -func (ec *executionContext) unmarshalOUpload2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚐUpload(ctx context.Context, v any) (*graphql.Upload, error) { - if v == nil { - return nil, nil - } - res, err := graphql.UnmarshalUpload(v) - return &res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalOUpload2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚐUpload(ctx context.Context, sel ast.SelectionSet, v *graphql.Upload) graphql.Marshaler { - if v == nil { - return graphql.Null - } - _ = sel - _ = ctx - res := graphql.MarshalUpload(*v) - return res -} - -func (ec *executionContext) marshalOUser2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx context.Context, sel ast.SelectionSet, v *User) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec._User(ctx, sel, v) -} - -func (ec *executionContext) marshalOUserSession2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserSession(ctx context.Context, sel ast.SelectionSet, v *UserSession) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec._UserSession(ctx, sel, v) -} - -func (ec *executionContext) marshalOVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx context.Context, sel ast.SelectionSet, v *Version) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec._Version(ctx, sel, v) -} - -func (ec *executionContext) unmarshalOVersionFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionFields(ctx context.Context, v any) (*VersionFields, error) { - if v == nil { - return nil, nil - } - var res = new(VersionFields) - err := res.UnmarshalGQL(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalOVersionFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionFields(ctx context.Context, sel ast.SelectionSet, v *VersionFields) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return v -} - -func (ec *executionContext) unmarshalOVersionFilter2map(ctx context.Context, v any) (map[string]any, error) { - if v == nil { - return nil, nil - } - res, err := ec.unmarshalInputVersionFilter(ctx, v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalOVersionStabilities2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionStabilities(ctx context.Context, v any) (*VersionStabilities, error) { - if v == nil { - return nil, nil - } - var res = new(VersionStabilities) - err := res.UnmarshalGQL(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalOVersionStabilities2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionStabilities(ctx context.Context, sel ast.SelectionSet, v *VersionStabilities) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return v -} - -func (ec *executionContext) marshalOVersionTarget2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionTarget(ctx context.Context, sel ast.SelectionSet, v *VersionTarget) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec._VersionTarget(ctx, sel, v) -} - -func (ec *executionContext) unmarshalOVirustotalID2ᚖstring(ctx context.Context, v any) (*string, error) { - if v == nil { - return nil, nil - } - res, err := graphql.UnmarshalString(v) - return &res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalOVirustotalID2ᚖstring(ctx context.Context, sel ast.SelectionSet, v *string) graphql.Marshaler { - if v == nil { - return graphql.Null - } - _ = sel - _ = ctx - res := graphql.MarshalString(*v) - return res -} - -func (ec *executionContext) marshalO__EnumValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐEnumValueᚄ(ctx context.Context, sel ast.SelectionSet, v []introspection.EnumValue) graphql.Marshaler { - if v == nil { - return graphql.Null - } - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalN__EnumValue2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐEnumValue(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalO__Field2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐFieldᚄ(ctx context.Context, sel ast.SelectionSet, v []introspection.Field) graphql.Marshaler { - if v == nil { - return graphql.Null - } - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalN__Field2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐField(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalO__InputValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValueᚄ(ctx context.Context, sel ast.SelectionSet, v []introspection.InputValue) graphql.Marshaler { - if v == nil { - return graphql.Null - } - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalN__InputValue2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValue(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalO__Schema2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐSchema(ctx context.Context, sel ast.SelectionSet, v *introspection.Schema) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec.___Schema(ctx, sel, v) -} - -func (ec *executionContext) marshalO__Type2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐTypeᚄ(ctx context.Context, sel ast.SelectionSet, v []introspection.Type) graphql.Marshaler { - if v == nil { - return graphql.Null - } - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalN__Type2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalO__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx context.Context, sel ast.SelectionSet, v *introspection.Type) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec.___Type(ctx, sel, v) -} - -// endregion ***************************** type.gotpl ***************************** +// TODO regenerate diff --git a/generated/models_gen.go b/generated/models_gen.go index 7656cdf0..80d1bf05 100644 --- a/generated/models_gen.go +++ b/generated/models_gen.go @@ -23,13 +23,15 @@ type Compatibility struct { } type CompatibilityInfo struct { - Ea *Compatibility `json:"EA"` - Exp *Compatibility `json:"EXP"` + Ea *Compatibility `json:"EA"` + Exp *Compatibility `json:"EXP"` + Controller *ControllerCompatibility `json:"Controller"` } type CompatibilityInfoInput struct { - Ea *CompatibilityInput `json:"EA"` - Exp *CompatibilityInput `json:"EXP"` + Ea *CompatibilityInput `json:"EA"` + Exp *CompatibilityInput `json:"EXP"` + Controller *ControllerCompatibilityInput `json:"Controller"` } type CompatibilityInput struct { @@ -37,6 +39,16 @@ type CompatibilityInput struct { Note *string `json:"note,omitempty"` } +type ControllerCompatibility struct { + State ControllerCompatibilityState `json:"state"` + Note *string `json:"note,omitempty"` +} + +type ControllerCompatibilityInput struct { + State ControllerCompatibilityState `json:"state"` + Note *string `json:"note,omitempty"` +} + type CreateVersionResponse struct { AutoApproved bool `json:"auto_approved"` Version *Version `json:"version,omitempty"` @@ -455,6 +467,67 @@ func (e CompatibilityState) MarshalJSON() ([]byte, error) { return buf.Bytes(), nil } +type ControllerCompatibilityState string + +const ( + ControllerCompatibilityStateUntested ControllerCompatibilityState = "Untested" + ControllerCompatibilityStateUnsupported ControllerCompatibilityState = "Unsupported" + ControllerCompatibilityStatePartial ControllerCompatibilityState = "Partial" + ControllerCompatibilityStateImplicit ControllerCompatibilityState = "Implicit" + ControllerCompatibilityStateSupported ControllerCompatibilityState = "Supported" +) + +var AllControllerCompatibilityState = []ControllerCompatibilityState{ + ControllerCompatibilityStateUntested, + ControllerCompatibilityStateUnsupported, + ControllerCompatibilityStatePartial, + ControllerCompatibilityStateImplicit, + ControllerCompatibilityStateSupported, +} + +func (e ControllerCompatibilityState) IsValid() bool { + switch e { + case ControllerCompatibilityStateUntested, ControllerCompatibilityStateUnsupported, ControllerCompatibilityStatePartial, ControllerCompatibilityStateImplicit, ControllerCompatibilityStateSupported: + return true + } + return false +} + +func (e ControllerCompatibilityState) String() string { + return string(e) +} + +func (e *ControllerCompatibilityState) UnmarshalGQL(v any) error { + str, ok := v.(string) + if !ok { + return fmt.Errorf("enums must be strings") + } + + *e = ControllerCompatibilityState(str) + if !e.IsValid() { + return fmt.Errorf("%s is not a valid ControllerCompatibilityState", str) + } + return nil +} + +func (e ControllerCompatibilityState) MarshalGQL(w io.Writer) { + fmt.Fprint(w, strconv.Quote(e.String())) +} + +func (e *ControllerCompatibilityState) UnmarshalJSON(b []byte) error { + s, err := strconv.Unquote(string(b)) + if err != nil { + return err + } + return e.UnmarshalGQL(s) +} + +func (e ControllerCompatibilityState) MarshalJSON() ([]byte, error) { + var buf bytes.Buffer + e.MarshalGQL(&buf) + return buf.Bytes(), nil +} + type GuideFields string const ( diff --git a/gql/gql_types.go b/gql/gql_types.go index 52aef7b3..fc9a1ea9 100644 --- a/gql/gql_types.go +++ b/gql/gql_types.go @@ -10,8 +10,9 @@ func GenCompInfoToDBCompInfo(gen *generated.CompatibilityInfoInput) *util.Compat return nil } return &util.CompatibilityInfo{ - Ea: GenCompToDBComp(gen.Ea), - Exp: GenCompToDBComp(gen.Exp), + Ea: GenCompToDBComp(gen.Ea), + Exp: GenCompToDBComp(gen.Exp), + Controller: GenControllerCompToDBControllerComp(gen.Controller), } } @@ -22,3 +23,11 @@ func GenCompToDBComp(gen *generated.CompatibilityInput) util.Compatibility { SetINN(gen.Note, &r.Note) return r } + +func GenControllerCompToDBControllerComp(gen *generated.ControllerCompatibilityInput) util.Compatibility { + r := util.Compatibility{ + State: string(gen.State), + } + SetINN(gen.Note, &r.Note) + return r +} diff --git a/schemas/compatibility.graphql b/schemas/compatibility.graphql index bd5f6c93..ba168a4c 100644 --- a/schemas/compatibility.graphql +++ b/schemas/compatibility.graphql @@ -14,17 +14,37 @@ input CompatibilityInput { note: String } +enum ControllerCompatibilityState { + Untested + Unsupported + Partial + Implicit + Supported +} + +type ControllerCompatibility { + state: ControllerCompatibilityState! + note: String +} + +input ControllerCompatibilityInput { + state: ControllerCompatibilityState! + note: String +} + type CompatibilityInfo { EA: Compatibility! EXP: Compatibility! + Controller: ControllerCompatibility! } input CompatibilityInfoInput { EA: CompatibilityInput! EXP: CompatibilityInput! + Controller: ControllerCompatibilityInput! } extend type Mutation { updateModCompatibility(modId: ModID!, compatibility: CompatibilityInfoInput!): Boolean! @canEditModCompatibility(field: "modId") @isLoggedIn updateMultipleModCompatibilities(modIDs: [ModID!]!, compatibility: CompatibilityInfoInput!): Boolean! @canEditModCompatibility @isLoggedIn -} \ No newline at end of file +} diff --git a/util/db.go b/util/db.go index 8c24e4d2..bcca1b85 100644 --- a/util/db.go +++ b/util/db.go @@ -17,8 +17,9 @@ func (s Stability) Values() []string { } type CompatibilityInfo struct { - Ea Compatibility `gorm:"type:compatibility" json:"EA"` - Exp Compatibility `gorm:"type:compatibility" json:"EXP"` + Ea Compatibility `gorm:"type:compatibility" json:"EA"` + Exp Compatibility `gorm:"type:compatibility" json:"EXP"` + Controller Compatibility `gorm:"type:compatibility" json:"Controller"` } type Compatibility struct { From 82b6b1261e1e56f9e7c6beeb9156de2b70a25dc2 Mon Sep 17 00:00:00 2001 From: Rob B Date: Thu, 10 Apr 2025 21:38:39 -0400 Subject: [PATCH 004/100] feat: network activity transparency as a string field on Mod --- cspell.json | 3 + db/schema/mod.go | 8 + generated/conv/mod.go | 2 + generated/ent/internal/schema.go | 2 +- generated/ent/migrate/schema.go | 1 + generated/ent/mod.go | 13 +- generated/ent/mod/mod.go | 8 + generated/ent/mod/where.go | 80 + generated/ent/mod_create.go | 78 + generated/ent/mod_update.go | 52 + generated/ent/mutation.go | 75 +- generated/ent/runtime/runtime.go | 2 +- generated/generated.go | 27277 +++++++++++++++- generated/models_gen.go | 1 + gql/resolver_mods.go | 2 + migrations/atlas.sum | 1 + ...11023207_AddNetworkUsageDislosure.down.sql | 2 + ...0411023207_AddNetworkUsageDislosure.up.sql | 2 + migrations/sql/atlas.sum | 164 +- schemas/mod.graphql | 15 + 20 files changed, 27702 insertions(+), 86 deletions(-) create mode 100644 migrations/atlas.sum create mode 100644 migrations/sql/20250411023207_AddNetworkUsageDislosure.down.sql create mode 100644 migrations/sql/20250411023207_AddNetworkUsageDislosure.up.sql diff --git a/cspell.json b/cspell.json index c030d1ba..c698ed26 100644 --- a/cspell.json +++ b/cspell.json @@ -9,11 +9,14 @@ "devbox", "fenv", "golangci", + "goverter", "libwebp", "Mircea", "mtxr", "nixos", "Paseto", + "pasteo", + "pgadmin", "protoc", "svcacct" ], diff --git a/db/schema/mod.go b/db/schema/mod.go index 9e4ef29a..ea5288f2 100644 --- a/db/schema/mod.go +++ b/db/schema/mod.go @@ -21,6 +21,11 @@ func (Mod) Mixin() []ent.Mixin { } } +// type AiUseDisclosure struct { +// Type string +// Note string +// } + func (Mod) Fields() []ent.Field { return []ent.Field{ field.String("name").MaxLen(32), @@ -41,6 +46,9 @@ func (Mod) Fields() []ent.Field { field.Bool("hidden").Default(false), field.JSON("compatibility", &util.CompatibilityInfo{}).Optional(), field.Bool("toggle_network_use").Default(false), + field.String("network_use_disclosure").Optional(), + // field.JSON("ai_use_disclosure", &AiUseDisclosure{}).Optional(), + // field.String("ai_use_disclosure").Optional(), field.Bool("toggle_explicit_content").Default(false), } } diff --git a/generated/conv/mod.go b/generated/conv/mod.go index d5c935e0..64be8b40 100755 --- a/generated/conv/mod.go +++ b/generated/conv/mod.go @@ -47,6 +47,8 @@ func (c *ModImpl) Convert(source *ent.Mod) *generated.Mod { } generatedMod.Compatibility = c.pUtilCompatibilityInfoToPGeneratedCompatibilityInfo((*source).Compatibility) generatedMod.ToggleNetworkUse = (*source).ToggleNetworkUse + pString5 := (*source).NetworkUseDisclosure + generatedMod.NetworkUseDisclosure = &pString5 generatedMod.ToggleExplicitContent = (*source).ToggleExplicitContent pGeneratedMod = &generatedMod } diff --git a/generated/ent/internal/schema.go b/generated/ent/internal/schema.go index 232ecbe6..9ba466a2 100644 --- a/generated/ent/internal/schema.go +++ b/generated/ent/internal/schema.go @@ -6,4 +6,4 @@ // Package internal holds a loadable version of the latest schema. package internal -const Schema = "{\"Schema\":\"github.com/satisfactorymodding/smr-api/db/schema\",\"Package\":\"github.com/satisfactorymodding/smr-api/generated/ent\",\"Schemas\":[{\"name\":\"Announcement\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"message\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"importance\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Guide\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"guides\",\"unique\":true,\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"}}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"guide\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":2,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"GuideTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guide\",\"type\":\"Guide\",\"field\":\"guide_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"guide_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"guide_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"Mod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"versions\",\"type\":\"Version\"},{\"name\":\"authors\",\"type\":\"User\",\"ref_name\":\"mods\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"},\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"}},{\"name\":\"dependents\",\"type\":\"Version\",\"ref_name\":\"dependencies\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"full_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"source_url\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"creator_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"popularity\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"last_version_date\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hidden\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"compatibility\",\"type\":{\"Type\":3,\"Ident\":\"*util.CompatibilityInfo\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":true,\"RType\":{\"Name\":\"CompatibilityInfo\",\"Ident\":\"util.CompatibilityInfo\",\"Kind\":22,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{}}},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_network_use\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_explicit_content\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":18,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"last_version_date\"]},{\"unique\":true,\"fields\":[\"mod_reference\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"ModTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"mod_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"SatisfactoryVersion\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"unique\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"engine_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"default\":true,\"default_value\":\"4.26\",\"default_kind\":24,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}]},{\"name\":\"Tag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mods\",\"type\":\"Mod\",\"ref_name\":\"tags\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"},\"inverse\":true},{\"name\":\"guides\",\"type\":\"Guide\",\"ref_name\":\"tags\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":24,\"unique\":true,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"optional\":true,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"User\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guides\",\"type\":\"Guide\"},{\"name\":\"sessions\",\"type\":\"UserSession\",\"storage_key\":{\"Table\":\"\",\"Symbols\":null,\"Columns\":[\"user_id\"]}},{\"name\":\"mods\",\"type\":\"Mod\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"}},{\"name\":\"groups\",\"type\":\"UserGroup\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"email\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":256,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"username\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"joined_from\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"banned\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"rank\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":1,\"default_kind\":2,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"github_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"optional\":true,\"validators\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"google_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"optional\":true,\"validators\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"facebook_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"optional\":true,\"validators\":1,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"email\"]},{\"unique\":true,\"fields\":[\"github_id\"]},{\"unique\":true,\"fields\":[\"google_id\"]},{\"unique\":true,\"fields\":[\"facebook_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserGroup\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"groups\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"group_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"user_id\",\"group_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserMod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"role\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"user_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"UserSession\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"ref_name\":\"sessions\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"token\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"user_agent\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"token\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Version\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"ref_name\":\"versions\",\"unique\":true,\"inverse\":true,\"required\":true},{\"name\":\"dependencies\",\"type\":\"Mod\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"}},{\"name\":\"targets\",\"type\":\"VersionTarget\"},{\"name\":\"virustotal_results\",\"type\":\"VirustotalResult\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"game_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"required_on_remote\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":true,\"default_kind\":1,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"changelog\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"stability\",\"type\":{\"Type\":6,\"Ident\":\"util.Stability\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":false,\"RType\":{\"Name\":\"Stability\",\"Ident\":\"util.Stability\",\"Kind\":24,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{\"Values\":{\"In\":[],\"Out\":[{\"Name\":\"\",\"Ident\":\"[]string\",\"Kind\":23,\"PkgPath\":\"\",\"Methods\":null}]}}}},\"enums\":[{\"N\":\"release\",\"V\":\"release\"},{\"N\":\"beta\",\"V\":\"beta\"},{\"N\":\"alpha\",\"V\":\"alpha\"}],\"default\":true,\"default_value\":\"release\",\"default_kind\":24,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"metadata\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_major\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_minor\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_patch\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"optional\":true,\"validators\":2,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"approved\"]},{\"fields\":[\"denied\"]},{\"fields\":[\"mod_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"VersionDependency\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"condition\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"optional\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"annotations\":{\"Fields\":{\"ID\":[\"version_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"VersionTarget\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"targets\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"target_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"unique\":true,\"fields\":[\"version_id\",\"target_name\"]}]},{\"name\":\"VirustotalResult\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"virustotal_results\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"safe\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":2,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"file_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":2,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"safe\"]},{\"unique\":true,\"fields\":[\"hash\",\"version_id\"]},{\"fields\":[\"file_name\"]}]}],\"Features\":[\"sql/modifier\",\"intercept\",\"schema/snapshot\",\"sql/execquery\",\"sql/upsert\"]}" +const Schema = "{\"Schema\":\"github.com/satisfactorymodding/smr-api/db/schema\",\"Package\":\"github.com/satisfactorymodding/smr-api/generated/ent\",\"Schemas\":[{\"name\":\"Announcement\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"message\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"importance\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Guide\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"guides\",\"unique\":true,\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"}}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"guide\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":2,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"GuideTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guide\",\"type\":\"Guide\",\"field\":\"guide_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"guide_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"guide_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"Mod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"versions\",\"type\":\"Version\"},{\"name\":\"authors\",\"type\":\"User\",\"ref_name\":\"mods\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"},\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"}},{\"name\":\"dependents\",\"type\":\"Version\",\"ref_name\":\"dependencies\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"full_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"source_url\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"creator_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"popularity\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"last_version_date\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hidden\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"compatibility\",\"type\":{\"Type\":3,\"Ident\":\"*util.CompatibilityInfo\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":true,\"RType\":{\"Name\":\"CompatibilityInfo\",\"Ident\":\"util.CompatibilityInfo\",\"Kind\":22,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{}}},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_network_use\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"network_use_disclosure\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":18,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_explicit_content\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":19,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"last_version_date\"]},{\"unique\":true,\"fields\":[\"mod_reference\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"ModTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"mod_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"SatisfactoryVersion\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"unique\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"engine_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"default\":true,\"default_value\":\"4.26\",\"default_kind\":24,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}]},{\"name\":\"Tag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mods\",\"type\":\"Mod\",\"ref_name\":\"tags\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"},\"inverse\":true},{\"name\":\"guides\",\"type\":\"Guide\",\"ref_name\":\"tags\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":24,\"unique\":true,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"optional\":true,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"User\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guides\",\"type\":\"Guide\"},{\"name\":\"sessions\",\"type\":\"UserSession\",\"storage_key\":{\"Table\":\"\",\"Symbols\":null,\"Columns\":[\"user_id\"]}},{\"name\":\"mods\",\"type\":\"Mod\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"}},{\"name\":\"groups\",\"type\":\"UserGroup\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"email\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":256,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"username\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"joined_from\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"banned\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"rank\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":1,\"default_kind\":2,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"github_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"optional\":true,\"validators\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"google_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"optional\":true,\"validators\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"facebook_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"optional\":true,\"validators\":1,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"email\"]},{\"unique\":true,\"fields\":[\"github_id\"]},{\"unique\":true,\"fields\":[\"google_id\"]},{\"unique\":true,\"fields\":[\"facebook_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserGroup\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"groups\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"group_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"user_id\",\"group_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserMod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"role\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"user_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"UserSession\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"ref_name\":\"sessions\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"token\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"user_agent\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"token\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Version\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"ref_name\":\"versions\",\"unique\":true,\"inverse\":true,\"required\":true},{\"name\":\"dependencies\",\"type\":\"Mod\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"}},{\"name\":\"targets\",\"type\":\"VersionTarget\"},{\"name\":\"virustotal_results\",\"type\":\"VirustotalResult\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"game_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"required_on_remote\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":true,\"default_kind\":1,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"changelog\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"stability\",\"type\":{\"Type\":6,\"Ident\":\"util.Stability\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":false,\"RType\":{\"Name\":\"Stability\",\"Ident\":\"util.Stability\",\"Kind\":24,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{\"Values\":{\"In\":[],\"Out\":[{\"Name\":\"\",\"Ident\":\"[]string\",\"Kind\":23,\"PkgPath\":\"\",\"Methods\":null}]}}}},\"enums\":[{\"N\":\"release\",\"V\":\"release\"},{\"N\":\"beta\",\"V\":\"beta\"},{\"N\":\"alpha\",\"V\":\"alpha\"}],\"default\":true,\"default_value\":\"release\",\"default_kind\":24,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"metadata\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_major\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_minor\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_patch\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"optional\":true,\"validators\":2,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"approved\"]},{\"fields\":[\"denied\"]},{\"fields\":[\"mod_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"VersionDependency\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"condition\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"optional\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"annotations\":{\"Fields\":{\"ID\":[\"version_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"VersionTarget\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"targets\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"target_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"unique\":true,\"fields\":[\"version_id\",\"target_name\"]}]},{\"name\":\"VirustotalResult\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"virustotal_results\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"safe\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":2,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"file_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":2,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"safe\"]},{\"unique\":true,\"fields\":[\"hash\",\"version_id\"]},{\"fields\":[\"file_name\"]}]}],\"Features\":[\"sql/modifier\",\"intercept\",\"schema/snapshot\",\"sql/execquery\",\"sql/upsert\"]}" diff --git a/generated/ent/migrate/schema.go b/generated/ent/migrate/schema.go index f84c046d..4a5fd390 100644 --- a/generated/ent/migrate/schema.go +++ b/generated/ent/migrate/schema.go @@ -112,6 +112,7 @@ var ( {Name: "hidden", Type: field.TypeBool, Default: false}, {Name: "compatibility", Type: field.TypeJSON, Nullable: true}, {Name: "toggle_network_use", Type: field.TypeBool, Default: false}, + {Name: "network_use_disclosure", Type: field.TypeString, Nullable: true}, {Name: "toggle_explicit_content", Type: field.TypeBool, Default: false}, } // ModsTable holds the schema information for the "mods" table. diff --git a/generated/ent/mod.go b/generated/ent/mod.go index 79ae3375..d976712f 100644 --- a/generated/ent/mod.go +++ b/generated/ent/mod.go @@ -61,6 +61,8 @@ type Mod struct { Compatibility *util.CompatibilityInfo `json:"compatibility,omitempty"` // ToggleNetworkUse holds the value of the "toggle_network_use" field. ToggleNetworkUse bool `json:"toggle_network_use,omitempty"` + // NetworkUseDisclosure holds the value of the "network_use_disclosure" field. + NetworkUseDisclosure string `json:"network_use_disclosure,omitempty"` // ToggleExplicitContent holds the value of the "toggle_explicit_content" field. ToggleExplicitContent bool `json:"toggle_explicit_content,omitempty"` // Edges holds the relations/edges for other nodes in the graph. @@ -164,7 +166,7 @@ func (*Mod) scanValues(columns []string) ([]any, error) { values[i] = new(sql.NullBool) case mod.FieldViews, mod.FieldHotness, mod.FieldPopularity, mod.FieldDownloads: values[i] = new(sql.NullInt64) - case mod.FieldID, mod.FieldName, mod.FieldShortDescription, mod.FieldFullDescription, mod.FieldLogo, mod.FieldLogoThumbhash, mod.FieldSourceURL, mod.FieldCreatorID, mod.FieldModReference: + case mod.FieldID, mod.FieldName, mod.FieldShortDescription, mod.FieldFullDescription, mod.FieldLogo, mod.FieldLogoThumbhash, mod.FieldSourceURL, mod.FieldCreatorID, mod.FieldModReference, mod.FieldNetworkUseDisclosure: values[i] = new(sql.NullString) case mod.FieldCreatedAt, mod.FieldUpdatedAt, mod.FieldDeletedAt, mod.FieldLastVersionDate: values[i] = new(sql.NullTime) @@ -317,6 +319,12 @@ func (m *Mod) assignValues(columns []string, values []any) error { } else if value.Valid { m.ToggleNetworkUse = value.Bool } + case mod.FieldNetworkUseDisclosure: + if value, ok := values[i].(*sql.NullString); !ok { + return fmt.Errorf("unexpected type %T for field network_use_disclosure", values[i]) + } else if value.Valid { + m.NetworkUseDisclosure = value.String + } case mod.FieldToggleExplicitContent: if value, ok := values[i].(*sql.NullBool); !ok { return fmt.Errorf("unexpected type %T for field toggle_explicit_content", values[i]) @@ -457,6 +465,9 @@ func (m *Mod) String() string { builder.WriteString("toggle_network_use=") builder.WriteString(fmt.Sprintf("%v", m.ToggleNetworkUse)) builder.WriteString(", ") + builder.WriteString("network_use_disclosure=") + builder.WriteString(m.NetworkUseDisclosure) + builder.WriteString(", ") builder.WriteString("toggle_explicit_content=") builder.WriteString(fmt.Sprintf("%v", m.ToggleExplicitContent)) builder.WriteByte(')') diff --git a/generated/ent/mod/mod.go b/generated/ent/mod/mod.go index 7d6572df..866e383c 100644 --- a/generated/ent/mod/mod.go +++ b/generated/ent/mod/mod.go @@ -57,6 +57,8 @@ const ( FieldCompatibility = "compatibility" // FieldToggleNetworkUse holds the string denoting the toggle_network_use field in the database. FieldToggleNetworkUse = "toggle_network_use" + // FieldNetworkUseDisclosure holds the string denoting the network_use_disclosure field in the database. + FieldNetworkUseDisclosure = "network_use_disclosure" // FieldToggleExplicitContent holds the string denoting the toggle_explicit_content field in the database. FieldToggleExplicitContent = "toggle_explicit_content" // EdgeVersions holds the string denoting the versions edge name in mutations. @@ -144,6 +146,7 @@ var Columns = []string{ FieldHidden, FieldCompatibility, FieldToggleNetworkUse, + FieldNetworkUseDisclosure, FieldToggleExplicitContent, } @@ -319,6 +322,11 @@ func ByToggleNetworkUse(opts ...sql.OrderTermOption) OrderOption { return sql.OrderByField(FieldToggleNetworkUse, opts...).ToFunc() } +// ByNetworkUseDisclosure orders the results by the network_use_disclosure field. +func ByNetworkUseDisclosure(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldNetworkUseDisclosure, opts...).ToFunc() +} + // ByToggleExplicitContent orders the results by the toggle_explicit_content field. func ByToggleExplicitContent(opts ...sql.OrderTermOption) OrderOption { return sql.OrderByField(FieldToggleExplicitContent, opts...).ToFunc() diff --git a/generated/ent/mod/where.go b/generated/ent/mod/where.go index e5bd0dfa..040a233c 100644 --- a/generated/ent/mod/where.go +++ b/generated/ent/mod/where.go @@ -165,6 +165,11 @@ func ToggleNetworkUse(v bool) predicate.Mod { return predicate.Mod(sql.FieldEQ(FieldToggleNetworkUse, v)) } +// NetworkUseDisclosure applies equality check predicate on the "network_use_disclosure" field. It's identical to NetworkUseDisclosureEQ. +func NetworkUseDisclosure(v string) predicate.Mod { + return predicate.Mod(sql.FieldEQ(FieldNetworkUseDisclosure, v)) +} + // ToggleExplicitContent applies equality check predicate on the "toggle_explicit_content" field. It's identical to ToggleExplicitContentEQ. func ToggleExplicitContent(v bool) predicate.Mod { return predicate.Mod(sql.FieldEQ(FieldToggleExplicitContent, v)) @@ -1110,6 +1115,81 @@ func ToggleNetworkUseNEQ(v bool) predicate.Mod { return predicate.Mod(sql.FieldNEQ(FieldToggleNetworkUse, v)) } +// NetworkUseDisclosureEQ applies the EQ predicate on the "network_use_disclosure" field. +func NetworkUseDisclosureEQ(v string) predicate.Mod { + return predicate.Mod(sql.FieldEQ(FieldNetworkUseDisclosure, v)) +} + +// NetworkUseDisclosureNEQ applies the NEQ predicate on the "network_use_disclosure" field. +func NetworkUseDisclosureNEQ(v string) predicate.Mod { + return predicate.Mod(sql.FieldNEQ(FieldNetworkUseDisclosure, v)) +} + +// NetworkUseDisclosureIn applies the In predicate on the "network_use_disclosure" field. +func NetworkUseDisclosureIn(vs ...string) predicate.Mod { + return predicate.Mod(sql.FieldIn(FieldNetworkUseDisclosure, vs...)) +} + +// NetworkUseDisclosureNotIn applies the NotIn predicate on the "network_use_disclosure" field. +func NetworkUseDisclosureNotIn(vs ...string) predicate.Mod { + return predicate.Mod(sql.FieldNotIn(FieldNetworkUseDisclosure, vs...)) +} + +// NetworkUseDisclosureGT applies the GT predicate on the "network_use_disclosure" field. +func NetworkUseDisclosureGT(v string) predicate.Mod { + return predicate.Mod(sql.FieldGT(FieldNetworkUseDisclosure, v)) +} + +// NetworkUseDisclosureGTE applies the GTE predicate on the "network_use_disclosure" field. +func NetworkUseDisclosureGTE(v string) predicate.Mod { + return predicate.Mod(sql.FieldGTE(FieldNetworkUseDisclosure, v)) +} + +// NetworkUseDisclosureLT applies the LT predicate on the "network_use_disclosure" field. +func NetworkUseDisclosureLT(v string) predicate.Mod { + return predicate.Mod(sql.FieldLT(FieldNetworkUseDisclosure, v)) +} + +// NetworkUseDisclosureLTE applies the LTE predicate on the "network_use_disclosure" field. +func NetworkUseDisclosureLTE(v string) predicate.Mod { + return predicate.Mod(sql.FieldLTE(FieldNetworkUseDisclosure, v)) +} + +// NetworkUseDisclosureContains applies the Contains predicate on the "network_use_disclosure" field. +func NetworkUseDisclosureContains(v string) predicate.Mod { + return predicate.Mod(sql.FieldContains(FieldNetworkUseDisclosure, v)) +} + +// NetworkUseDisclosureHasPrefix applies the HasPrefix predicate on the "network_use_disclosure" field. +func NetworkUseDisclosureHasPrefix(v string) predicate.Mod { + return predicate.Mod(sql.FieldHasPrefix(FieldNetworkUseDisclosure, v)) +} + +// NetworkUseDisclosureHasSuffix applies the HasSuffix predicate on the "network_use_disclosure" field. +func NetworkUseDisclosureHasSuffix(v string) predicate.Mod { + return predicate.Mod(sql.FieldHasSuffix(FieldNetworkUseDisclosure, v)) +} + +// NetworkUseDisclosureIsNil applies the IsNil predicate on the "network_use_disclosure" field. +func NetworkUseDisclosureIsNil() predicate.Mod { + return predicate.Mod(sql.FieldIsNull(FieldNetworkUseDisclosure)) +} + +// NetworkUseDisclosureNotNil applies the NotNil predicate on the "network_use_disclosure" field. +func NetworkUseDisclosureNotNil() predicate.Mod { + return predicate.Mod(sql.FieldNotNull(FieldNetworkUseDisclosure)) +} + +// NetworkUseDisclosureEqualFold applies the EqualFold predicate on the "network_use_disclosure" field. +func NetworkUseDisclosureEqualFold(v string) predicate.Mod { + return predicate.Mod(sql.FieldEqualFold(FieldNetworkUseDisclosure, v)) +} + +// NetworkUseDisclosureContainsFold applies the ContainsFold predicate on the "network_use_disclosure" field. +func NetworkUseDisclosureContainsFold(v string) predicate.Mod { + return predicate.Mod(sql.FieldContainsFold(FieldNetworkUseDisclosure, v)) +} + // ToggleExplicitContentEQ applies the EQ predicate on the "toggle_explicit_content" field. func ToggleExplicitContentEQ(v bool) predicate.Mod { return predicate.Mod(sql.FieldEQ(FieldToggleExplicitContent, v)) diff --git a/generated/ent/mod_create.go b/generated/ent/mod_create.go index 1ad9c12f..c284e08f 100644 --- a/generated/ent/mod_create.go +++ b/generated/ent/mod_create.go @@ -273,6 +273,20 @@ func (mc *ModCreate) SetNillableToggleNetworkUse(b *bool) *ModCreate { return mc } +// SetNetworkUseDisclosure sets the "network_use_disclosure" field. +func (mc *ModCreate) SetNetworkUseDisclosure(s string) *ModCreate { + mc.mutation.SetNetworkUseDisclosure(s) + return mc +} + +// SetNillableNetworkUseDisclosure sets the "network_use_disclosure" field if the given value is not nil. +func (mc *ModCreate) SetNillableNetworkUseDisclosure(s *string) *ModCreate { + if s != nil { + mc.SetNetworkUseDisclosure(*s) + } + return mc +} + // SetToggleExplicitContent sets the "toggle_explicit_content" field. func (mc *ModCreate) SetToggleExplicitContent(b bool) *ModCreate { mc.mutation.SetToggleExplicitContent(b) @@ -643,6 +657,10 @@ func (mc *ModCreate) createSpec() (*Mod, *sqlgraph.CreateSpec) { _spec.SetField(mod.FieldToggleNetworkUse, field.TypeBool, value) _node.ToggleNetworkUse = value } + if value, ok := mc.mutation.NetworkUseDisclosure(); ok { + _spec.SetField(mod.FieldNetworkUseDisclosure, field.TypeString, value) + _node.NetworkUseDisclosure = value + } if value, ok := mc.mutation.ToggleExplicitContent(); ok { _spec.SetField(mod.FieldToggleExplicitContent, field.TypeBool, value) _node.ToggleExplicitContent = value @@ -1067,6 +1085,24 @@ func (u *ModUpsert) UpdateToggleNetworkUse() *ModUpsert { return u } +// SetNetworkUseDisclosure sets the "network_use_disclosure" field. +func (u *ModUpsert) SetNetworkUseDisclosure(v string) *ModUpsert { + u.Set(mod.FieldNetworkUseDisclosure, v) + return u +} + +// UpdateNetworkUseDisclosure sets the "network_use_disclosure" field to the value that was provided on create. +func (u *ModUpsert) UpdateNetworkUseDisclosure() *ModUpsert { + u.SetExcluded(mod.FieldNetworkUseDisclosure) + return u +} + +// ClearNetworkUseDisclosure clears the value of the "network_use_disclosure" field. +func (u *ModUpsert) ClearNetworkUseDisclosure() *ModUpsert { + u.SetNull(mod.FieldNetworkUseDisclosure) + return u +} + // SetToggleExplicitContent sets the "toggle_explicit_content" field. func (u *ModUpsert) SetToggleExplicitContent(v bool) *ModUpsert { u.Set(mod.FieldToggleExplicitContent, v) @@ -1480,6 +1516,27 @@ func (u *ModUpsertOne) UpdateToggleNetworkUse() *ModUpsertOne { }) } +// SetNetworkUseDisclosure sets the "network_use_disclosure" field. +func (u *ModUpsertOne) SetNetworkUseDisclosure(v string) *ModUpsertOne { + return u.Update(func(s *ModUpsert) { + s.SetNetworkUseDisclosure(v) + }) +} + +// UpdateNetworkUseDisclosure sets the "network_use_disclosure" field to the value that was provided on create. +func (u *ModUpsertOne) UpdateNetworkUseDisclosure() *ModUpsertOne { + return u.Update(func(s *ModUpsert) { + s.UpdateNetworkUseDisclosure() + }) +} + +// ClearNetworkUseDisclosure clears the value of the "network_use_disclosure" field. +func (u *ModUpsertOne) ClearNetworkUseDisclosure() *ModUpsertOne { + return u.Update(func(s *ModUpsert) { + s.ClearNetworkUseDisclosure() + }) +} + // SetToggleExplicitContent sets the "toggle_explicit_content" field. func (u *ModUpsertOne) SetToggleExplicitContent(v bool) *ModUpsertOne { return u.Update(func(s *ModUpsert) { @@ -2062,6 +2119,27 @@ func (u *ModUpsertBulk) UpdateToggleNetworkUse() *ModUpsertBulk { }) } +// SetNetworkUseDisclosure sets the "network_use_disclosure" field. +func (u *ModUpsertBulk) SetNetworkUseDisclosure(v string) *ModUpsertBulk { + return u.Update(func(s *ModUpsert) { + s.SetNetworkUseDisclosure(v) + }) +} + +// UpdateNetworkUseDisclosure sets the "network_use_disclosure" field to the value that was provided on create. +func (u *ModUpsertBulk) UpdateNetworkUseDisclosure() *ModUpsertBulk { + return u.Update(func(s *ModUpsert) { + s.UpdateNetworkUseDisclosure() + }) +} + +// ClearNetworkUseDisclosure clears the value of the "network_use_disclosure" field. +func (u *ModUpsertBulk) ClearNetworkUseDisclosure() *ModUpsertBulk { + return u.Update(func(s *ModUpsert) { + s.ClearNetworkUseDisclosure() + }) +} + // SetToggleExplicitContent sets the "toggle_explicit_content" field. func (u *ModUpsertBulk) SetToggleExplicitContent(v bool) *ModUpsertBulk { return u.Update(func(s *ModUpsert) { diff --git a/generated/ent/mod_update.go b/generated/ent/mod_update.go index a69d4149..2c8db0d5 100644 --- a/generated/ent/mod_update.go +++ b/generated/ent/mod_update.go @@ -361,6 +361,26 @@ func (mu *ModUpdate) SetNillableToggleNetworkUse(b *bool) *ModUpdate { return mu } +// SetNetworkUseDisclosure sets the "network_use_disclosure" field. +func (mu *ModUpdate) SetNetworkUseDisclosure(s string) *ModUpdate { + mu.mutation.SetNetworkUseDisclosure(s) + return mu +} + +// SetNillableNetworkUseDisclosure sets the "network_use_disclosure" field if the given value is not nil. +func (mu *ModUpdate) SetNillableNetworkUseDisclosure(s *string) *ModUpdate { + if s != nil { + mu.SetNetworkUseDisclosure(*s) + } + return mu +} + +// ClearNetworkUseDisclosure clears the value of the "network_use_disclosure" field. +func (mu *ModUpdate) ClearNetworkUseDisclosure() *ModUpdate { + mu.mutation.ClearNetworkUseDisclosure() + return mu +} + // SetToggleExplicitContent sets the "toggle_explicit_content" field. func (mu *ModUpdate) SetToggleExplicitContent(b bool) *ModUpdate { mu.mutation.SetToggleExplicitContent(b) @@ -694,6 +714,12 @@ func (mu *ModUpdate) sqlSave(ctx context.Context) (n int, err error) { if value, ok := mu.mutation.ToggleNetworkUse(); ok { _spec.SetField(mod.FieldToggleNetworkUse, field.TypeBool, value) } + if value, ok := mu.mutation.NetworkUseDisclosure(); ok { + _spec.SetField(mod.FieldNetworkUseDisclosure, field.TypeString, value) + } + if mu.mutation.NetworkUseDisclosureCleared() { + _spec.ClearField(mod.FieldNetworkUseDisclosure, field.TypeString) + } if value, ok := mu.mutation.ToggleExplicitContent(); ok { _spec.SetField(mod.FieldToggleExplicitContent, field.TypeBool, value) } @@ -1239,6 +1265,26 @@ func (muo *ModUpdateOne) SetNillableToggleNetworkUse(b *bool) *ModUpdateOne { return muo } +// SetNetworkUseDisclosure sets the "network_use_disclosure" field. +func (muo *ModUpdateOne) SetNetworkUseDisclosure(s string) *ModUpdateOne { + muo.mutation.SetNetworkUseDisclosure(s) + return muo +} + +// SetNillableNetworkUseDisclosure sets the "network_use_disclosure" field if the given value is not nil. +func (muo *ModUpdateOne) SetNillableNetworkUseDisclosure(s *string) *ModUpdateOne { + if s != nil { + muo.SetNetworkUseDisclosure(*s) + } + return muo +} + +// ClearNetworkUseDisclosure clears the value of the "network_use_disclosure" field. +func (muo *ModUpdateOne) ClearNetworkUseDisclosure() *ModUpdateOne { + muo.mutation.ClearNetworkUseDisclosure() + return muo +} + // SetToggleExplicitContent sets the "toggle_explicit_content" field. func (muo *ModUpdateOne) SetToggleExplicitContent(b bool) *ModUpdateOne { muo.mutation.SetToggleExplicitContent(b) @@ -1602,6 +1648,12 @@ func (muo *ModUpdateOne) sqlSave(ctx context.Context) (_node *Mod, err error) { if value, ok := muo.mutation.ToggleNetworkUse(); ok { _spec.SetField(mod.FieldToggleNetworkUse, field.TypeBool, value) } + if value, ok := muo.mutation.NetworkUseDisclosure(); ok { + _spec.SetField(mod.FieldNetworkUseDisclosure, field.TypeString, value) + } + if muo.mutation.NetworkUseDisclosureCleared() { + _spec.ClearField(mod.FieldNetworkUseDisclosure, field.TypeString) + } if value, ok := muo.mutation.ToggleExplicitContent(); ok { _spec.SetField(mod.FieldToggleExplicitContent, field.TypeBool, value) } diff --git a/generated/ent/mutation.go b/generated/ent/mutation.go index b74b67dd..b321f3b3 100644 --- a/generated/ent/mutation.go +++ b/generated/ent/mutation.go @@ -1962,6 +1962,7 @@ type ModMutation struct { hidden *bool compatibility **util.CompatibilityInfo toggle_network_use *bool + network_use_disclosure *string toggle_explicit_content *bool clearedFields map[string]struct{} versions map[string]struct{} @@ -2999,6 +3000,55 @@ func (m *ModMutation) ResetToggleNetworkUse() { m.toggle_network_use = nil } +// SetNetworkUseDisclosure sets the "network_use_disclosure" field. +func (m *ModMutation) SetNetworkUseDisclosure(s string) { + m.network_use_disclosure = &s +} + +// NetworkUseDisclosure returns the value of the "network_use_disclosure" field in the mutation. +func (m *ModMutation) NetworkUseDisclosure() (r string, exists bool) { + v := m.network_use_disclosure + if v == nil { + return + } + return *v, true +} + +// OldNetworkUseDisclosure returns the old "network_use_disclosure" field's value of the Mod entity. +// If the Mod object wasn't provided to the builder, the object is fetched from the database. +// An error is returned if the mutation operation is not UpdateOne, or the database query fails. +func (m *ModMutation) OldNetworkUseDisclosure(ctx context.Context) (v string, err error) { + if !m.op.Is(OpUpdateOne) { + return v, errors.New("OldNetworkUseDisclosure is only allowed on UpdateOne operations") + } + if m.id == nil || m.oldValue == nil { + return v, errors.New("OldNetworkUseDisclosure requires an ID field in the mutation") + } + oldValue, err := m.oldValue(ctx) + if err != nil { + return v, fmt.Errorf("querying old value for OldNetworkUseDisclosure: %w", err) + } + return oldValue.NetworkUseDisclosure, nil +} + +// ClearNetworkUseDisclosure clears the value of the "network_use_disclosure" field. +func (m *ModMutation) ClearNetworkUseDisclosure() { + m.network_use_disclosure = nil + m.clearedFields[mod.FieldNetworkUseDisclosure] = struct{}{} +} + +// NetworkUseDisclosureCleared returns if the "network_use_disclosure" field was cleared in this mutation. +func (m *ModMutation) NetworkUseDisclosureCleared() bool { + _, ok := m.clearedFields[mod.FieldNetworkUseDisclosure] + return ok +} + +// ResetNetworkUseDisclosure resets all changes to the "network_use_disclosure" field. +func (m *ModMutation) ResetNetworkUseDisclosure() { + m.network_use_disclosure = nil + delete(m.clearedFields, mod.FieldNetworkUseDisclosure) +} + // SetToggleExplicitContent sets the "toggle_explicit_content" field. func (m *ModMutation) SetToggleExplicitContent(b bool) { m.toggle_explicit_content = &b @@ -3285,7 +3335,7 @@ func (m *ModMutation) Type() string { // order to get all numeric fields that were incremented/decremented, call // AddedFields(). func (m *ModMutation) Fields() []string { - fields := make([]string, 0, 22) + fields := make([]string, 0, 23) if m.created_at != nil { fields = append(fields, mod.FieldCreatedAt) } @@ -3349,6 +3399,9 @@ func (m *ModMutation) Fields() []string { if m.toggle_network_use != nil { fields = append(fields, mod.FieldToggleNetworkUse) } + if m.network_use_disclosure != nil { + fields = append(fields, mod.FieldNetworkUseDisclosure) + } if m.toggle_explicit_content != nil { fields = append(fields, mod.FieldToggleExplicitContent) } @@ -3402,6 +3455,8 @@ func (m *ModMutation) Field(name string) (ent.Value, bool) { return m.Compatibility() case mod.FieldToggleNetworkUse: return m.ToggleNetworkUse() + case mod.FieldNetworkUseDisclosure: + return m.NetworkUseDisclosure() case mod.FieldToggleExplicitContent: return m.ToggleExplicitContent() } @@ -3455,6 +3510,8 @@ func (m *ModMutation) OldField(ctx context.Context, name string) (ent.Value, err return m.OldCompatibility(ctx) case mod.FieldToggleNetworkUse: return m.OldToggleNetworkUse(ctx) + case mod.FieldNetworkUseDisclosure: + return m.OldNetworkUseDisclosure(ctx) case mod.FieldToggleExplicitContent: return m.OldToggleExplicitContent(ctx) } @@ -3613,6 +3670,13 @@ func (m *ModMutation) SetField(name string, value ent.Value) error { } m.SetToggleNetworkUse(v) return nil + case mod.FieldNetworkUseDisclosure: + v, ok := value.(string) + if !ok { + return fmt.Errorf("unexpected type %T for field %s", value, name) + } + m.SetNetworkUseDisclosure(v) + return nil case mod.FieldToggleExplicitContent: v, ok := value.(bool) if !ok { @@ -3719,6 +3783,9 @@ func (m *ModMutation) ClearedFields() []string { if m.FieldCleared(mod.FieldCompatibility) { fields = append(fields, mod.FieldCompatibility) } + if m.FieldCleared(mod.FieldNetworkUseDisclosure) { + fields = append(fields, mod.FieldNetworkUseDisclosure) + } return fields } @@ -3751,6 +3818,9 @@ func (m *ModMutation) ClearField(name string) error { case mod.FieldCompatibility: m.ClearCompatibility() return nil + case mod.FieldNetworkUseDisclosure: + m.ClearNetworkUseDisclosure() + return nil } return fmt.Errorf("unknown Mod nullable field %s", name) } @@ -3822,6 +3892,9 @@ func (m *ModMutation) ResetField(name string) error { case mod.FieldToggleNetworkUse: m.ResetToggleNetworkUse() return nil + case mod.FieldNetworkUseDisclosure: + m.ResetNetworkUseDisclosure() + return nil case mod.FieldToggleExplicitContent: m.ResetToggleExplicitContent() return nil diff --git a/generated/ent/runtime/runtime.go b/generated/ent/runtime/runtime.go index 2d6baa8d..39eeaebb 100644 --- a/generated/ent/runtime/runtime.go +++ b/generated/ent/runtime/runtime.go @@ -152,7 +152,7 @@ func init() { // mod.DefaultToggleNetworkUse holds the default value on creation for the toggle_network_use field. mod.DefaultToggleNetworkUse = modDescToggleNetworkUse.Default.(bool) // modDescToggleExplicitContent is the schema descriptor for toggle_explicit_content field. - modDescToggleExplicitContent := modFields[18].Descriptor() + modDescToggleExplicitContent := modFields[19].Descriptor() // mod.DefaultToggleExplicitContent holds the default value on creation for the toggle_explicit_content field. mod.DefaultToggleExplicitContent = modDescToggleExplicitContent.Default.(bool) // modDescID is the schema descriptor for id field. diff --git a/generated/generated.go b/generated/generated.go index eb603b14..2c1b9daa 100644 --- a/generated/generated.go +++ b/generated/generated.go @@ -1 +1,27276 @@ -// TODO regenerate +// Code generated by github.com/99designs/gqlgen, DO NOT EDIT. + +package generated + +import ( + "bytes" + "context" + "errors" + "fmt" + "strconv" + "sync" + "sync/atomic" + + "github.com/99designs/gqlgen/graphql" + "github.com/99designs/gqlgen/graphql/introspection" + gqlparser "github.com/vektah/gqlparser/v2" + "github.com/vektah/gqlparser/v2/ast" +) + +// region ************************** generated!.gotpl ************************** + +// NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface. +func NewExecutableSchema(cfg Config) graphql.ExecutableSchema { + return &executableSchema{ + schema: cfg.Schema, + resolvers: cfg.Resolvers, + directives: cfg.Directives, + complexity: cfg.Complexity, + } +} + +type Config struct { + Schema *ast.Schema + Resolvers ResolverRoot + Directives DirectiveRoot + Complexity ComplexityRoot +} + +type ResolverRoot interface { + GetGuides() GetGuidesResolver + GetMods() GetModsResolver + GetMyMods() GetMyModsResolver + GetMyVersions() GetMyVersionsResolver + GetSMLVersions() GetSMLVersionsResolver + GetVersions() GetVersionsResolver + Guide() GuideResolver + Mod() ModResolver + Mutation() MutationResolver + Query() QueryResolver + SMLVersion() SMLVersionResolver + SMLVersionTarget() SMLVersionTargetResolver + User() UserResolver + UserMod() UserModResolver + Version() VersionResolver + VersionDependency() VersionDependencyResolver + VersionTarget() VersionTargetResolver +} + +type DirectiveRoot struct { + CanApproveMods func(ctx context.Context, obj interface{}, next graphql.Resolver) (res interface{}, err error) + CanApproveVersions func(ctx context.Context, obj interface{}, next graphql.Resolver) (res interface{}, err error) + CanEditAnnouncements func(ctx context.Context, obj interface{}, next graphql.Resolver) (res interface{}, err error) + CanEditGuide func(ctx context.Context, obj interface{}, next graphql.Resolver, field string) (res interface{}, err error) + CanEditMod func(ctx context.Context, obj interface{}, next graphql.Resolver, field string) (res interface{}, err error) + CanEditModCompatibility func(ctx context.Context, obj interface{}, next graphql.Resolver, field *string) (res interface{}, err error) + CanEditSatisfactoryVersions func(ctx context.Context, obj interface{}, next graphql.Resolver) (res interface{}, err error) + CanEditUser func(ctx context.Context, obj interface{}, next graphql.Resolver, field string, object bool) (res interface{}, err error) + CanEditUsers func(ctx context.Context, obj interface{}, next graphql.Resolver) (res interface{}, err error) + CanEditVersion func(ctx context.Context, obj interface{}, next graphql.Resolver, field string) (res interface{}, err error) + CanManageTags func(ctx context.Context, obj interface{}, next graphql.Resolver) (res interface{}, err error) + IsLoggedIn func(ctx context.Context, obj interface{}, next graphql.Resolver) (res interface{}, err error) + IsNotLoggedIn func(ctx context.Context, obj interface{}, next graphql.Resolver) (res interface{}, err error) +} + +type ComplexityRoot struct { + Announcement struct { + ID func(childComplexity int) int + Importance func(childComplexity int) int + Message func(childComplexity int) int + } + + Compatibility struct { + Note func(childComplexity int) int + State func(childComplexity int) int + } + + CompatibilityInfo struct { + Controller func(childComplexity int) int + Ea func(childComplexity int) int + Exp func(childComplexity int) int + } + + ControllerCompatibility struct { + Note func(childComplexity int) int + State func(childComplexity int) int + } + + CreateVersionResponse struct { + AutoApproved func(childComplexity int) int + Version func(childComplexity int) int + } + + GetGuides struct { + Count func(childComplexity int) int + Guides func(childComplexity int) int + } + + GetMods struct { + Count func(childComplexity int) int + Mods func(childComplexity int) int + } + + GetMyMods struct { + Count func(childComplexity int) int + Mods func(childComplexity int) int + } + + GetMyVersions struct { + Count func(childComplexity int) int + Versions func(childComplexity int) int + } + + GetSMLVersions struct { + Count func(childComplexity int) int + SmlVersions func(childComplexity int) int + } + + GetVersions struct { + Count func(childComplexity int) int + Versions func(childComplexity int) int + } + + Group struct { + ID func(childComplexity int) int + Name func(childComplexity int) int + } + + Guide struct { + CreatedAt func(childComplexity int) int + Guide func(childComplexity int) int + ID func(childComplexity int) int + Name func(childComplexity int) int + ShortDescription func(childComplexity int) int + Tags func(childComplexity int) int + UpdatedAt func(childComplexity int) int + User func(childComplexity int) int + UserID func(childComplexity int) int + Views func(childComplexity int) int + } + + LatestVersions struct { + Alpha func(childComplexity int) int + Beta func(childComplexity int) int + Release func(childComplexity int) int + } + + Mod struct { + Approved func(childComplexity int) int + Authors func(childComplexity int) int + Compatibility func(childComplexity int) int + CreatedAt func(childComplexity int) int + CreatorID func(childComplexity int) int + Downloads func(childComplexity int) int + FullDescription func(childComplexity int) int + Hidden func(childComplexity int) int + Hotness func(childComplexity int) int + ID func(childComplexity int) int + LastVersionDate func(childComplexity int) int + LatestVersions func(childComplexity int) int + Logo func(childComplexity int) int + LogoThumbhash func(childComplexity int) int + ModReference func(childComplexity int) int + Name func(childComplexity int) int + NetworkUseDisclosure func(childComplexity int) int + Popularity func(childComplexity int) int + ShortDescription func(childComplexity int) int + SourceURL func(childComplexity int) int + Tags func(childComplexity int) int + ToggleExplicitContent func(childComplexity int) int + ToggleNetworkUse func(childComplexity int) int + UpdatedAt func(childComplexity int) int + Version func(childComplexity int, version string) int + Versions func(childComplexity int, filter map[string]interface{}) int + Views func(childComplexity int) int + } + + ModVersion struct { + ID func(childComplexity int) int + ModReference func(childComplexity int) int + Versions func(childComplexity int) int + } + + Mutation struct { + ApproveMod func(childComplexity int, modID string) int + ApproveVersion func(childComplexity int, versionID string) int + CreateAnnouncement func(childComplexity int, announcement NewAnnouncement) int + CreateGuide func(childComplexity int, guide NewGuide) int + CreateMod func(childComplexity int, mod NewMod) int + CreateMultipleTags func(childComplexity int, tagNames []*NewTag) int + CreateSatisfactoryVersion func(childComplexity int, input NewSatisfactoryVersion) int + CreateTag func(childComplexity int, tagName string, description string) int + CreateVersion func(childComplexity int, modID string) int + DeleteAnnouncement func(childComplexity int, announcementID string) int + DeleteGuide func(childComplexity int, guideID string) int + DeleteMod func(childComplexity int, modID string) int + DeleteSatisfactoryVersion func(childComplexity int, id string) int + DeleteTag func(childComplexity int, tagID string) int + DeleteVersion func(childComplexity int, versionID string) int + DenyMod func(childComplexity int, modID string) int + DenyVersion func(childComplexity int, versionID string) int + DiscourseSso func(childComplexity int, sso string, sig string) int + FinalizeCreateVersion func(childComplexity int, modID string, versionID string, version NewVersion) int + Logout func(childComplexity int) int + OAuthFacebook func(childComplexity int, code string, state string) int + OAuthGithub func(childComplexity int, code string, state string) int + OAuthGoogle func(childComplexity int, code string, state string) int + UpdateAnnouncement func(childComplexity int, announcementID string, announcement UpdateAnnouncement) int + UpdateGuide func(childComplexity int, guideID string, guide UpdateGuide) int + UpdateMod func(childComplexity int, modID string, mod UpdateMod) int + UpdateModCompatibility func(childComplexity int, modID string, compatibility CompatibilityInfoInput) int + UpdateMultipleModCompatibilities func(childComplexity int, modIDs []string, compatibility CompatibilityInfoInput) int + UpdateSatisfactoryVersion func(childComplexity int, id string, input UpdateSatisfactoryVersion) int + UpdateTag func(childComplexity int, tagID string, newName string, description string) int + UpdateUser func(childComplexity int, userID string, input UpdateUser) int + UpdateVersion func(childComplexity int, versionID string, version UpdateVersion) int + UploadVersionPart func(childComplexity int, modID string, versionID string, part int, file graphql.Upload) int + } + + OAuthOptions struct { + Facebook func(childComplexity int) int + Github func(childComplexity int) int + Google func(childComplexity int) int + } + + Query struct { + CheckVersionUploadState func(childComplexity int, modID string, versionID string) int + GetAnnouncement func(childComplexity int, announcementID string) int + GetAnnouncements func(childComplexity int) int + GetAnnouncementsByImportance func(childComplexity int, importance AnnouncementImportance) int + GetGuide func(childComplexity int, guideID string) int + GetGuides func(childComplexity int, filter map[string]interface{}) int + GetMe func(childComplexity int) int + GetMod func(childComplexity int, modID string) int + GetModAssetList func(childComplexity int, modReference string) int + GetModByIDOrReference func(childComplexity int, modIDOrReference string) int + GetModByReference func(childComplexity int, modReference string) int + GetMods func(childComplexity int, filter map[string]interface{}) int + GetMyMods func(childComplexity int, filter map[string]interface{}) int + GetMyUnapprovedMods func(childComplexity int, filter map[string]interface{}) int + GetMyUnapprovedVersions func(childComplexity int, filter map[string]interface{}) int + GetMyVersions func(childComplexity int, filter map[string]interface{}) int + GetOAuthOptions func(childComplexity int, callbackURL string) int + GetSMLVersion func(childComplexity int, smlVersionID string) int + GetSMLVersions func(childComplexity int, filter map[string]interface{}) int + GetSatisfactoryVersion func(childComplexity int, id string) int + GetSatisfactoryVersions func(childComplexity int) int + GetTag func(childComplexity int, tagID string) int + GetTags func(childComplexity int, filter *TagFilter) int + GetUnapprovedMods func(childComplexity int, filter map[string]interface{}) int + GetUnapprovedVersions func(childComplexity int, filter map[string]interface{}) int + GetUser func(childComplexity int, userID string) int + GetUsers func(childComplexity int, userIds []string) int + GetVersion func(childComplexity int, versionID string) int + GetVersions func(childComplexity int, filter map[string]interface{}) int + ResolveModVersions func(childComplexity int, filter []*ModVersionConstraint) int + } + + SMLVersion struct { + BootstrapVersion func(childComplexity int) int + Changelog func(childComplexity int) int + CreatedAt func(childComplexity int) int + Date func(childComplexity int) int + EngineVersion func(childComplexity int) int + ID func(childComplexity int) int + Link func(childComplexity int) int + SatisfactoryVersion func(childComplexity int) int + Stability func(childComplexity int) int + Targets func(childComplexity int) int + UpdatedAt func(childComplexity int) int + Version func(childComplexity int) int + } + + SMLVersionTarget struct { + Link func(childComplexity int) int + TargetName func(childComplexity int) int + VersionID func(childComplexity int) int + } + + SatisfactoryVersion struct { + EngineVersion func(childComplexity int) int + ID func(childComplexity int) int + Version func(childComplexity int) int + } + + Tag struct { + Description func(childComplexity int) int + ID func(childComplexity int) int + Name func(childComplexity int) int + } + + User struct { + Avatar func(childComplexity int) int + AvatarThumbhash func(childComplexity int) int + CreatedAt func(childComplexity int) int + Email func(childComplexity int) int + FacebookID func(childComplexity int) int + GithubID func(childComplexity int) int + GoogleID func(childComplexity int) int + Groups func(childComplexity int) int + Guides func(childComplexity int) int + ID func(childComplexity int) int + Mods func(childComplexity int) int + Roles func(childComplexity int) int + Username func(childComplexity int) int + } + + UserMod struct { + Mod func(childComplexity int) int + ModID func(childComplexity int) int + Role func(childComplexity int) int + User func(childComplexity int) int + UserID func(childComplexity int) int + } + + UserRoles struct { + ApproveMods func(childComplexity int) int + ApproveVersions func(childComplexity int) int + DeleteContent func(childComplexity int) int + EditAnyModCompatibility func(childComplexity int) int + EditBootstrapVersions func(childComplexity int) int + EditContent func(childComplexity int) int + EditSatisfactoryVersions func(childComplexity int) int + EditUsers func(childComplexity int) int + } + + UserSession struct { + Token func(childComplexity int) int + } + + Version struct { + Approved func(childComplexity int) int + Changelog func(childComplexity int) int + CreatedAt func(childComplexity int) int + Dependencies func(childComplexity int) int + Downloads func(childComplexity int) int + GameVersion func(childComplexity int) int + Hash func(childComplexity int) int + ID func(childComplexity int) int + Link func(childComplexity int) int + Metadata func(childComplexity int) int + Mod func(childComplexity int) int + ModID func(childComplexity int) int + RequiredOnRemote func(childComplexity int) int + Size func(childComplexity int) int + SmlVersion func(childComplexity int) int + Stability func(childComplexity int) int + Targets func(childComplexity int) int + UpdatedAt func(childComplexity int) int + Version func(childComplexity int) int + VirustotalResults func(childComplexity int) int + } + + VersionDependency struct { + Condition func(childComplexity int) int + Mod func(childComplexity int) int + ModID func(childComplexity int) int + ModReference func(childComplexity int) int + Optional func(childComplexity int) int + Version func(childComplexity int) int + VersionID func(childComplexity int) int + } + + VersionTarget struct { + Hash func(childComplexity int) int + Link func(childComplexity int) int + Size func(childComplexity int) int + TargetName func(childComplexity int) int + VersionID func(childComplexity int) int + } + + VirustotalResult struct { + CreatedAt func(childComplexity int) int + FileName func(childComplexity int) int + Hash func(childComplexity int) int + ID func(childComplexity int) int + Safe func(childComplexity int) int + UpdatedAt func(childComplexity int) int + VersionID func(childComplexity int) int + } +} + +type GetGuidesResolver interface { + Guides(ctx context.Context, obj *GetGuides) ([]*Guide, error) + Count(ctx context.Context, obj *GetGuides) (int, error) +} +type GetModsResolver interface { + Mods(ctx context.Context, obj *GetMods) ([]*Mod, error) + Count(ctx context.Context, obj *GetMods) (int, error) +} +type GetMyModsResolver interface { + Mods(ctx context.Context, obj *GetMyMods) ([]*Mod, error) + Count(ctx context.Context, obj *GetMyMods) (int, error) +} +type GetMyVersionsResolver interface { + Versions(ctx context.Context, obj *GetMyVersions) ([]*Version, error) + Count(ctx context.Context, obj *GetMyVersions) (int, error) +} +type GetSMLVersionsResolver interface { + SmlVersions(ctx context.Context, obj *GetSMLVersions) ([]*SMLVersion, error) + Count(ctx context.Context, obj *GetSMLVersions) (int, error) +} +type GetVersionsResolver interface { + Versions(ctx context.Context, obj *GetVersions) ([]*Version, error) + Count(ctx context.Context, obj *GetVersions) (int, error) +} +type GuideResolver interface { + User(ctx context.Context, obj *Guide) (*User, error) +} +type ModResolver interface { + Authors(ctx context.Context, obj *Mod) ([]*UserMod, error) + Version(ctx context.Context, obj *Mod, version string) (*Version, error) + Versions(ctx context.Context, obj *Mod, filter map[string]interface{}) ([]*Version, error) + LatestVersions(ctx context.Context, obj *Mod) (*LatestVersions, error) +} +type MutationResolver interface { + DiscourseSso(ctx context.Context, sso string, sig string) (*string, error) + CreateAnnouncement(ctx context.Context, announcement NewAnnouncement) (*Announcement, error) + UpdateAnnouncement(ctx context.Context, announcementID string, announcement UpdateAnnouncement) (*Announcement, error) + DeleteAnnouncement(ctx context.Context, announcementID string) (bool, error) + UpdateModCompatibility(ctx context.Context, modID string, compatibility CompatibilityInfoInput) (bool, error) + UpdateMultipleModCompatibilities(ctx context.Context, modIDs []string, compatibility CompatibilityInfoInput) (bool, error) + CreateGuide(ctx context.Context, guide NewGuide) (*Guide, error) + UpdateGuide(ctx context.Context, guideID string, guide UpdateGuide) (*Guide, error) + DeleteGuide(ctx context.Context, guideID string) (bool, error) + CreateMod(ctx context.Context, mod NewMod) (*Mod, error) + UpdateMod(ctx context.Context, modID string, mod UpdateMod) (*Mod, error) + DeleteMod(ctx context.Context, modID string) (bool, error) + ApproveMod(ctx context.Context, modID string) (bool, error) + DenyMod(ctx context.Context, modID string) (bool, error) + CreateSatisfactoryVersion(ctx context.Context, input NewSatisfactoryVersion) (*SatisfactoryVersion, error) + UpdateSatisfactoryVersion(ctx context.Context, id string, input UpdateSatisfactoryVersion) (*SatisfactoryVersion, error) + DeleteSatisfactoryVersion(ctx context.Context, id string) (bool, error) + CreateTag(ctx context.Context, tagName string, description string) (*Tag, error) + CreateMultipleTags(ctx context.Context, tagNames []*NewTag) ([]*Tag, error) + UpdateTag(ctx context.Context, tagID string, newName string, description string) (*Tag, error) + DeleteTag(ctx context.Context, tagID string) (bool, error) + UpdateUser(ctx context.Context, userID string, input UpdateUser) (*User, error) + Logout(ctx context.Context) (bool, error) + OAuthGithub(ctx context.Context, code string, state string) (*UserSession, error) + OAuthGoogle(ctx context.Context, code string, state string) (*UserSession, error) + OAuthFacebook(ctx context.Context, code string, state string) (*UserSession, error) + CreateVersion(ctx context.Context, modID string) (string, error) + UploadVersionPart(ctx context.Context, modID string, versionID string, part int, file graphql.Upload) (bool, error) + FinalizeCreateVersion(ctx context.Context, modID string, versionID string, version NewVersion) (bool, error) + UpdateVersion(ctx context.Context, versionID string, version UpdateVersion) (*Version, error) + DeleteVersion(ctx context.Context, versionID string) (bool, error) + ApproveVersion(ctx context.Context, versionID string) (bool, error) + DenyVersion(ctx context.Context, versionID string) (bool, error) +} +type QueryResolver interface { + GetOAuthOptions(ctx context.Context, callbackURL string) (*OAuthOptions, error) + GetAnnouncement(ctx context.Context, announcementID string) (*Announcement, error) + GetAnnouncements(ctx context.Context) ([]*Announcement, error) + GetAnnouncementsByImportance(ctx context.Context, importance AnnouncementImportance) ([]*Announcement, error) + GetGuide(ctx context.Context, guideID string) (*Guide, error) + GetGuides(ctx context.Context, filter map[string]interface{}) (*GetGuides, error) + GetMod(ctx context.Context, modID string) (*Mod, error) + GetModByReference(ctx context.Context, modReference string) (*Mod, error) + GetModByIDOrReference(ctx context.Context, modIDOrReference string) (*Mod, error) + GetMods(ctx context.Context, filter map[string]interface{}) (*GetMods, error) + GetUnapprovedMods(ctx context.Context, filter map[string]interface{}) (*GetMods, error) + GetMyMods(ctx context.Context, filter map[string]interface{}) (*GetMyMods, error) + GetMyUnapprovedMods(ctx context.Context, filter map[string]interface{}) (*GetMyMods, error) + ResolveModVersions(ctx context.Context, filter []*ModVersionConstraint) ([]*ModVersion, error) + GetModAssetList(ctx context.Context, modReference string) ([]string, error) + GetSatisfactoryVersions(ctx context.Context) ([]*SatisfactoryVersion, error) + GetSatisfactoryVersion(ctx context.Context, id string) (*SatisfactoryVersion, error) + GetSMLVersion(ctx context.Context, smlVersionID string) (*SMLVersion, error) + GetSMLVersions(ctx context.Context, filter map[string]interface{}) (*GetSMLVersions, error) + GetTag(ctx context.Context, tagID string) (*Tag, error) + GetTags(ctx context.Context, filter *TagFilter) ([]*Tag, error) + GetMe(ctx context.Context) (*User, error) + GetUser(ctx context.Context, userID string) (*User, error) + GetUsers(ctx context.Context, userIds []string) ([]*User, error) + GetVersion(ctx context.Context, versionID string) (*Version, error) + GetVersions(ctx context.Context, filter map[string]interface{}) (*GetVersions, error) + GetUnapprovedVersions(ctx context.Context, filter map[string]interface{}) (*GetVersions, error) + CheckVersionUploadState(ctx context.Context, modID string, versionID string) (*CreateVersionResponse, error) + GetMyVersions(ctx context.Context, filter map[string]interface{}) (*GetMyVersions, error) + GetMyUnapprovedVersions(ctx context.Context, filter map[string]interface{}) (*GetMyVersions, error) +} +type SMLVersionResolver interface { + Link(ctx context.Context, obj *SMLVersion) (string, error) + + BootstrapVersion(ctx context.Context, obj *SMLVersion) (*string, error) + EngineVersion(ctx context.Context, obj *SMLVersion) (string, error) +} +type SMLVersionTargetResolver interface { + Link(ctx context.Context, obj *SMLVersionTarget) (string, error) +} +type UserResolver interface { + Roles(ctx context.Context, obj *User) (*UserRoles, error) + Groups(ctx context.Context, obj *User) ([]*Group, error) + Mods(ctx context.Context, obj *User) ([]*UserMod, error) + Guides(ctx context.Context, obj *User) ([]*Guide, error) +} +type UserModResolver interface { + User(ctx context.Context, obj *UserMod) (*User, error) + Mod(ctx context.Context, obj *UserMod) (*Mod, error) +} +type VersionResolver interface { + SmlVersion(ctx context.Context, obj *Version) (string, error) + + Link(ctx context.Context, obj *Version) (string, error) + + Size(ctx context.Context, obj *Version) (*int, error) + Hash(ctx context.Context, obj *Version) (*string, error) + Mod(ctx context.Context, obj *Version) (*Mod, error) + Dependencies(ctx context.Context, obj *Version) ([]*VersionDependency, error) + VirustotalResults(ctx context.Context, obj *Version) ([]*VirustotalResult, error) +} +type VersionDependencyResolver interface { + Mod(ctx context.Context, obj *VersionDependency) (*Mod, error) +} +type VersionTargetResolver interface { + Link(ctx context.Context, obj *VersionTarget) (string, error) +} + +type executableSchema struct { + schema *ast.Schema + resolvers ResolverRoot + directives DirectiveRoot + complexity ComplexityRoot +} + +func (e *executableSchema) Schema() *ast.Schema { + if e.schema != nil { + return e.schema + } + return parsedSchema +} + +func (e *executableSchema) Complexity(typeName, field string, childComplexity int, rawArgs map[string]interface{}) (int, bool) { + ec := executionContext{nil, e, 0, 0, nil} + _ = ec + switch typeName + "." + field { + + case "Announcement.id": + if e.complexity.Announcement.ID == nil { + break + } + + return e.complexity.Announcement.ID(childComplexity), true + + case "Announcement.importance": + if e.complexity.Announcement.Importance == nil { + break + } + + return e.complexity.Announcement.Importance(childComplexity), true + + case "Announcement.message": + if e.complexity.Announcement.Message == nil { + break + } + + return e.complexity.Announcement.Message(childComplexity), true + + case "Compatibility.note": + if e.complexity.Compatibility.Note == nil { + break + } + + return e.complexity.Compatibility.Note(childComplexity), true + + case "Compatibility.state": + if e.complexity.Compatibility.State == nil { + break + } + + return e.complexity.Compatibility.State(childComplexity), true + + case "CompatibilityInfo.Controller": + if e.complexity.CompatibilityInfo.Controller == nil { + break + } + + return e.complexity.CompatibilityInfo.Controller(childComplexity), true + + case "CompatibilityInfo.EA": + if e.complexity.CompatibilityInfo.Ea == nil { + break + } + + return e.complexity.CompatibilityInfo.Ea(childComplexity), true + + case "CompatibilityInfo.EXP": + if e.complexity.CompatibilityInfo.Exp == nil { + break + } + + return e.complexity.CompatibilityInfo.Exp(childComplexity), true + + case "ControllerCompatibility.note": + if e.complexity.ControllerCompatibility.Note == nil { + break + } + + return e.complexity.ControllerCompatibility.Note(childComplexity), true + + case "ControllerCompatibility.state": + if e.complexity.ControllerCompatibility.State == nil { + break + } + + return e.complexity.ControllerCompatibility.State(childComplexity), true + + case "CreateVersionResponse.auto_approved": + if e.complexity.CreateVersionResponse.AutoApproved == nil { + break + } + + return e.complexity.CreateVersionResponse.AutoApproved(childComplexity), true + + case "CreateVersionResponse.version": + if e.complexity.CreateVersionResponse.Version == nil { + break + } + + return e.complexity.CreateVersionResponse.Version(childComplexity), true + + case "GetGuides.count": + if e.complexity.GetGuides.Count == nil { + break + } + + return e.complexity.GetGuides.Count(childComplexity), true + + case "GetGuides.guides": + if e.complexity.GetGuides.Guides == nil { + break + } + + return e.complexity.GetGuides.Guides(childComplexity), true + + case "GetMods.count": + if e.complexity.GetMods.Count == nil { + break + } + + return e.complexity.GetMods.Count(childComplexity), true + + case "GetMods.mods": + if e.complexity.GetMods.Mods == nil { + break + } + + return e.complexity.GetMods.Mods(childComplexity), true + + case "GetMyMods.count": + if e.complexity.GetMyMods.Count == nil { + break + } + + return e.complexity.GetMyMods.Count(childComplexity), true + + case "GetMyMods.mods": + if e.complexity.GetMyMods.Mods == nil { + break + } + + return e.complexity.GetMyMods.Mods(childComplexity), true + + case "GetMyVersions.count": + if e.complexity.GetMyVersions.Count == nil { + break + } + + return e.complexity.GetMyVersions.Count(childComplexity), true + + case "GetMyVersions.versions": + if e.complexity.GetMyVersions.Versions == nil { + break + } + + return e.complexity.GetMyVersions.Versions(childComplexity), true + + case "GetSMLVersions.count": + if e.complexity.GetSMLVersions.Count == nil { + break + } + + return e.complexity.GetSMLVersions.Count(childComplexity), true + + case "GetSMLVersions.sml_versions": + if e.complexity.GetSMLVersions.SmlVersions == nil { + break + } + + return e.complexity.GetSMLVersions.SmlVersions(childComplexity), true + + case "GetVersions.count": + if e.complexity.GetVersions.Count == nil { + break + } + + return e.complexity.GetVersions.Count(childComplexity), true + + case "GetVersions.versions": + if e.complexity.GetVersions.Versions == nil { + break + } + + return e.complexity.GetVersions.Versions(childComplexity), true + + case "Group.id": + if e.complexity.Group.ID == nil { + break + } + + return e.complexity.Group.ID(childComplexity), true + + case "Group.name": + if e.complexity.Group.Name == nil { + break + } + + return e.complexity.Group.Name(childComplexity), true + + case "Guide.created_at": + if e.complexity.Guide.CreatedAt == nil { + break + } + + return e.complexity.Guide.CreatedAt(childComplexity), true + + case "Guide.guide": + if e.complexity.Guide.Guide == nil { + break + } + + return e.complexity.Guide.Guide(childComplexity), true + + case "Guide.id": + if e.complexity.Guide.ID == nil { + break + } + + return e.complexity.Guide.ID(childComplexity), true + + case "Guide.name": + if e.complexity.Guide.Name == nil { + break + } + + return e.complexity.Guide.Name(childComplexity), true + + case "Guide.short_description": + if e.complexity.Guide.ShortDescription == nil { + break + } + + return e.complexity.Guide.ShortDescription(childComplexity), true + + case "Guide.tags": + if e.complexity.Guide.Tags == nil { + break + } + + return e.complexity.Guide.Tags(childComplexity), true + + case "Guide.updated_at": + if e.complexity.Guide.UpdatedAt == nil { + break + } + + return e.complexity.Guide.UpdatedAt(childComplexity), true + + case "Guide.user": + if e.complexity.Guide.User == nil { + break + } + + return e.complexity.Guide.User(childComplexity), true + + case "Guide.user_id": + if e.complexity.Guide.UserID == nil { + break + } + + return e.complexity.Guide.UserID(childComplexity), true + + case "Guide.views": + if e.complexity.Guide.Views == nil { + break + } + + return e.complexity.Guide.Views(childComplexity), true + + case "LatestVersions.alpha": + if e.complexity.LatestVersions.Alpha == nil { + break + } + + return e.complexity.LatestVersions.Alpha(childComplexity), true + + case "LatestVersions.beta": + if e.complexity.LatestVersions.Beta == nil { + break + } + + return e.complexity.LatestVersions.Beta(childComplexity), true + + case "LatestVersions.release": + if e.complexity.LatestVersions.Release == nil { + break + } + + return e.complexity.LatestVersions.Release(childComplexity), true + + case "Mod.approved": + if e.complexity.Mod.Approved == nil { + break + } + + return e.complexity.Mod.Approved(childComplexity), true + + case "Mod.authors": + if e.complexity.Mod.Authors == nil { + break + } + + return e.complexity.Mod.Authors(childComplexity), true + + case "Mod.compatibility": + if e.complexity.Mod.Compatibility == nil { + break + } + + return e.complexity.Mod.Compatibility(childComplexity), true + + case "Mod.created_at": + if e.complexity.Mod.CreatedAt == nil { + break + } + + return e.complexity.Mod.CreatedAt(childComplexity), true + + case "Mod.creator_id": + if e.complexity.Mod.CreatorID == nil { + break + } + + return e.complexity.Mod.CreatorID(childComplexity), true + + case "Mod.downloads": + if e.complexity.Mod.Downloads == nil { + break + } + + return e.complexity.Mod.Downloads(childComplexity), true + + case "Mod.full_description": + if e.complexity.Mod.FullDescription == nil { + break + } + + return e.complexity.Mod.FullDescription(childComplexity), true + + case "Mod.hidden": + if e.complexity.Mod.Hidden == nil { + break + } + + return e.complexity.Mod.Hidden(childComplexity), true + + case "Mod.hotness": + if e.complexity.Mod.Hotness == nil { + break + } + + return e.complexity.Mod.Hotness(childComplexity), true + + case "Mod.id": + if e.complexity.Mod.ID == nil { + break + } + + return e.complexity.Mod.ID(childComplexity), true + + case "Mod.last_version_date": + if e.complexity.Mod.LastVersionDate == nil { + break + } + + return e.complexity.Mod.LastVersionDate(childComplexity), true + + case "Mod.latestVersions": + if e.complexity.Mod.LatestVersions == nil { + break + } + + return e.complexity.Mod.LatestVersions(childComplexity), true + + case "Mod.logo": + if e.complexity.Mod.Logo == nil { + break + } + + return e.complexity.Mod.Logo(childComplexity), true + + case "Mod.logo_thumbhash": + if e.complexity.Mod.LogoThumbhash == nil { + break + } + + return e.complexity.Mod.LogoThumbhash(childComplexity), true + + case "Mod.mod_reference": + if e.complexity.Mod.ModReference == nil { + break + } + + return e.complexity.Mod.ModReference(childComplexity), true + + case "Mod.name": + if e.complexity.Mod.Name == nil { + break + } + + return e.complexity.Mod.Name(childComplexity), true + + case "Mod.network_use_disclosure": + if e.complexity.Mod.NetworkUseDisclosure == nil { + break + } + + return e.complexity.Mod.NetworkUseDisclosure(childComplexity), true + + case "Mod.popularity": + if e.complexity.Mod.Popularity == nil { + break + } + + return e.complexity.Mod.Popularity(childComplexity), true + + case "Mod.short_description": + if e.complexity.Mod.ShortDescription == nil { + break + } + + return e.complexity.Mod.ShortDescription(childComplexity), true + + case "Mod.source_url": + if e.complexity.Mod.SourceURL == nil { + break + } + + return e.complexity.Mod.SourceURL(childComplexity), true + + case "Mod.tags": + if e.complexity.Mod.Tags == nil { + break + } + + return e.complexity.Mod.Tags(childComplexity), true + + case "Mod.toggle_explicit_content": + if e.complexity.Mod.ToggleExplicitContent == nil { + break + } + + return e.complexity.Mod.ToggleExplicitContent(childComplexity), true + + case "Mod.toggle_network_use": + if e.complexity.Mod.ToggleNetworkUse == nil { + break + } + + return e.complexity.Mod.ToggleNetworkUse(childComplexity), true + + case "Mod.updated_at": + if e.complexity.Mod.UpdatedAt == nil { + break + } + + return e.complexity.Mod.UpdatedAt(childComplexity), true + + case "Mod.version": + if e.complexity.Mod.Version == nil { + break + } + + args, err := ec.field_Mod_version_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mod.Version(childComplexity, args["version"].(string)), true + + case "Mod.versions": + if e.complexity.Mod.Versions == nil { + break + } + + args, err := ec.field_Mod_versions_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mod.Versions(childComplexity, args["filter"].(map[string]interface{})), true + + case "Mod.views": + if e.complexity.Mod.Views == nil { + break + } + + return e.complexity.Mod.Views(childComplexity), true + + case "ModVersion.id": + if e.complexity.ModVersion.ID == nil { + break + } + + return e.complexity.ModVersion.ID(childComplexity), true + + case "ModVersion.mod_reference": + if e.complexity.ModVersion.ModReference == nil { + break + } + + return e.complexity.ModVersion.ModReference(childComplexity), true + + case "ModVersion.versions": + if e.complexity.ModVersion.Versions == nil { + break + } + + return e.complexity.ModVersion.Versions(childComplexity), true + + case "Mutation.approveMod": + if e.complexity.Mutation.ApproveMod == nil { + break + } + + args, err := ec.field_Mutation_approveMod_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.ApproveMod(childComplexity, args["modId"].(string)), true + + case "Mutation.approveVersion": + if e.complexity.Mutation.ApproveVersion == nil { + break + } + + args, err := ec.field_Mutation_approveVersion_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.ApproveVersion(childComplexity, args["versionId"].(string)), true + + case "Mutation.createAnnouncement": + if e.complexity.Mutation.CreateAnnouncement == nil { + break + } + + args, err := ec.field_Mutation_createAnnouncement_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.CreateAnnouncement(childComplexity, args["announcement"].(NewAnnouncement)), true + + case "Mutation.createGuide": + if e.complexity.Mutation.CreateGuide == nil { + break + } + + args, err := ec.field_Mutation_createGuide_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.CreateGuide(childComplexity, args["guide"].(NewGuide)), true + + case "Mutation.createMod": + if e.complexity.Mutation.CreateMod == nil { + break + } + + args, err := ec.field_Mutation_createMod_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.CreateMod(childComplexity, args["mod"].(NewMod)), true + + case "Mutation.createMultipleTags": + if e.complexity.Mutation.CreateMultipleTags == nil { + break + } + + args, err := ec.field_Mutation_createMultipleTags_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.CreateMultipleTags(childComplexity, args["tagNames"].([]*NewTag)), true + + case "Mutation.createSatisfactoryVersion": + if e.complexity.Mutation.CreateSatisfactoryVersion == nil { + break + } + + args, err := ec.field_Mutation_createSatisfactoryVersion_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.CreateSatisfactoryVersion(childComplexity, args["input"].(NewSatisfactoryVersion)), true + + case "Mutation.createTag": + if e.complexity.Mutation.CreateTag == nil { + break + } + + args, err := ec.field_Mutation_createTag_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.CreateTag(childComplexity, args["tagName"].(string), args["description"].(string)), true + + case "Mutation.createVersion": + if e.complexity.Mutation.CreateVersion == nil { + break + } + + args, err := ec.field_Mutation_createVersion_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.CreateVersion(childComplexity, args["modId"].(string)), true + + case "Mutation.deleteAnnouncement": + if e.complexity.Mutation.DeleteAnnouncement == nil { + break + } + + args, err := ec.field_Mutation_deleteAnnouncement_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.DeleteAnnouncement(childComplexity, args["announcementId"].(string)), true + + case "Mutation.deleteGuide": + if e.complexity.Mutation.DeleteGuide == nil { + break + } + + args, err := ec.field_Mutation_deleteGuide_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.DeleteGuide(childComplexity, args["guideId"].(string)), true + + case "Mutation.deleteMod": + if e.complexity.Mutation.DeleteMod == nil { + break + } + + args, err := ec.field_Mutation_deleteMod_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.DeleteMod(childComplexity, args["modId"].(string)), true + + case "Mutation.deleteSatisfactoryVersion": + if e.complexity.Mutation.DeleteSatisfactoryVersion == nil { + break + } + + args, err := ec.field_Mutation_deleteSatisfactoryVersion_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.DeleteSatisfactoryVersion(childComplexity, args["id"].(string)), true + + case "Mutation.deleteTag": + if e.complexity.Mutation.DeleteTag == nil { + break + } + + args, err := ec.field_Mutation_deleteTag_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.DeleteTag(childComplexity, args["tagID"].(string)), true + + case "Mutation.deleteVersion": + if e.complexity.Mutation.DeleteVersion == nil { + break + } + + args, err := ec.field_Mutation_deleteVersion_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.DeleteVersion(childComplexity, args["versionId"].(string)), true + + case "Mutation.denyMod": + if e.complexity.Mutation.DenyMod == nil { + break + } + + args, err := ec.field_Mutation_denyMod_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.DenyMod(childComplexity, args["modId"].(string)), true + + case "Mutation.denyVersion": + if e.complexity.Mutation.DenyVersion == nil { + break + } + + args, err := ec.field_Mutation_denyVersion_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.DenyVersion(childComplexity, args["versionId"].(string)), true + + case "Mutation.discourseSSO": + if e.complexity.Mutation.DiscourseSso == nil { + break + } + + args, err := ec.field_Mutation_discourseSSO_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.DiscourseSso(childComplexity, args["sso"].(string), args["sig"].(string)), true + + case "Mutation.finalizeCreateVersion": + if e.complexity.Mutation.FinalizeCreateVersion == nil { + break + } + + args, err := ec.field_Mutation_finalizeCreateVersion_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.FinalizeCreateVersion(childComplexity, args["modId"].(string), args["versionId"].(string), args["version"].(NewVersion)), true + + case "Mutation.logout": + if e.complexity.Mutation.Logout == nil { + break + } + + return e.complexity.Mutation.Logout(childComplexity), true + + case "Mutation.oAuthFacebook": + if e.complexity.Mutation.OAuthFacebook == nil { + break + } + + args, err := ec.field_Mutation_oAuthFacebook_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.OAuthFacebook(childComplexity, args["code"].(string), args["state"].(string)), true + + case "Mutation.oAuthGithub": + if e.complexity.Mutation.OAuthGithub == nil { + break + } + + args, err := ec.field_Mutation_oAuthGithub_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.OAuthGithub(childComplexity, args["code"].(string), args["state"].(string)), true + + case "Mutation.oAuthGoogle": + if e.complexity.Mutation.OAuthGoogle == nil { + break + } + + args, err := ec.field_Mutation_oAuthGoogle_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.OAuthGoogle(childComplexity, args["code"].(string), args["state"].(string)), true + + case "Mutation.updateAnnouncement": + if e.complexity.Mutation.UpdateAnnouncement == nil { + break + } + + args, err := ec.field_Mutation_updateAnnouncement_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.UpdateAnnouncement(childComplexity, args["announcementId"].(string), args["announcement"].(UpdateAnnouncement)), true + + case "Mutation.updateGuide": + if e.complexity.Mutation.UpdateGuide == nil { + break + } + + args, err := ec.field_Mutation_updateGuide_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.UpdateGuide(childComplexity, args["guideId"].(string), args["guide"].(UpdateGuide)), true + + case "Mutation.updateMod": + if e.complexity.Mutation.UpdateMod == nil { + break + } + + args, err := ec.field_Mutation_updateMod_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.UpdateMod(childComplexity, args["modId"].(string), args["mod"].(UpdateMod)), true + + case "Mutation.updateModCompatibility": + if e.complexity.Mutation.UpdateModCompatibility == nil { + break + } + + args, err := ec.field_Mutation_updateModCompatibility_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.UpdateModCompatibility(childComplexity, args["modId"].(string), args["compatibility"].(CompatibilityInfoInput)), true + + case "Mutation.updateMultipleModCompatibilities": + if e.complexity.Mutation.UpdateMultipleModCompatibilities == nil { + break + } + + args, err := ec.field_Mutation_updateMultipleModCompatibilities_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.UpdateMultipleModCompatibilities(childComplexity, args["modIDs"].([]string), args["compatibility"].(CompatibilityInfoInput)), true + + case "Mutation.updateSatisfactoryVersion": + if e.complexity.Mutation.UpdateSatisfactoryVersion == nil { + break + } + + args, err := ec.field_Mutation_updateSatisfactoryVersion_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.UpdateSatisfactoryVersion(childComplexity, args["id"].(string), args["input"].(UpdateSatisfactoryVersion)), true + + case "Mutation.updateTag": + if e.complexity.Mutation.UpdateTag == nil { + break + } + + args, err := ec.field_Mutation_updateTag_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.UpdateTag(childComplexity, args["tagID"].(string), args["NewName"].(string), args["description"].(string)), true + + case "Mutation.updateUser": + if e.complexity.Mutation.UpdateUser == nil { + break + } + + args, err := ec.field_Mutation_updateUser_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.UpdateUser(childComplexity, args["userId"].(string), args["input"].(UpdateUser)), true + + case "Mutation.updateVersion": + if e.complexity.Mutation.UpdateVersion == nil { + break + } + + args, err := ec.field_Mutation_updateVersion_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.UpdateVersion(childComplexity, args["versionId"].(string), args["version"].(UpdateVersion)), true + + case "Mutation.uploadVersionPart": + if e.complexity.Mutation.UploadVersionPart == nil { + break + } + + args, err := ec.field_Mutation_uploadVersionPart_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.UploadVersionPart(childComplexity, args["modId"].(string), args["versionId"].(string), args["part"].(int), args["file"].(graphql.Upload)), true + + case "OAuthOptions.facebook": + if e.complexity.OAuthOptions.Facebook == nil { + break + } + + return e.complexity.OAuthOptions.Facebook(childComplexity), true + + case "OAuthOptions.github": + if e.complexity.OAuthOptions.Github == nil { + break + } + + return e.complexity.OAuthOptions.Github(childComplexity), true + + case "OAuthOptions.google": + if e.complexity.OAuthOptions.Google == nil { + break + } + + return e.complexity.OAuthOptions.Google(childComplexity), true + + case "Query.checkVersionUploadState": + if e.complexity.Query.CheckVersionUploadState == nil { + break + } + + args, err := ec.field_Query_checkVersionUploadState_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.CheckVersionUploadState(childComplexity, args["modId"].(string), args["versionId"].(string)), true + + case "Query.getAnnouncement": + if e.complexity.Query.GetAnnouncement == nil { + break + } + + args, err := ec.field_Query_getAnnouncement_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetAnnouncement(childComplexity, args["announcementId"].(string)), true + + case "Query.getAnnouncements": + if e.complexity.Query.GetAnnouncements == nil { + break + } + + return e.complexity.Query.GetAnnouncements(childComplexity), true + + case "Query.getAnnouncementsByImportance": + if e.complexity.Query.GetAnnouncementsByImportance == nil { + break + } + + args, err := ec.field_Query_getAnnouncementsByImportance_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetAnnouncementsByImportance(childComplexity, args["importance"].(AnnouncementImportance)), true + + case "Query.getGuide": + if e.complexity.Query.GetGuide == nil { + break + } + + args, err := ec.field_Query_getGuide_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetGuide(childComplexity, args["guideId"].(string)), true + + case "Query.getGuides": + if e.complexity.Query.GetGuides == nil { + break + } + + args, err := ec.field_Query_getGuides_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetGuides(childComplexity, args["filter"].(map[string]interface{})), true + + case "Query.getMe": + if e.complexity.Query.GetMe == nil { + break + } + + return e.complexity.Query.GetMe(childComplexity), true + + case "Query.getMod": + if e.complexity.Query.GetMod == nil { + break + } + + args, err := ec.field_Query_getMod_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetMod(childComplexity, args["modId"].(string)), true + + case "Query.getModAssetList": + if e.complexity.Query.GetModAssetList == nil { + break + } + + args, err := ec.field_Query_getModAssetList_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetModAssetList(childComplexity, args["modReference"].(string)), true + + case "Query.getModByIdOrReference": + if e.complexity.Query.GetModByIDOrReference == nil { + break + } + + args, err := ec.field_Query_getModByIdOrReference_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetModByIDOrReference(childComplexity, args["modIdOrReference"].(string)), true + + case "Query.getModByReference": + if e.complexity.Query.GetModByReference == nil { + break + } + + args, err := ec.field_Query_getModByReference_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetModByReference(childComplexity, args["modReference"].(string)), true + + case "Query.getMods": + if e.complexity.Query.GetMods == nil { + break + } + + args, err := ec.field_Query_getMods_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetMods(childComplexity, args["filter"].(map[string]interface{})), true + + case "Query.getMyMods": + if e.complexity.Query.GetMyMods == nil { + break + } + + args, err := ec.field_Query_getMyMods_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetMyMods(childComplexity, args["filter"].(map[string]interface{})), true + + case "Query.getMyUnapprovedMods": + if e.complexity.Query.GetMyUnapprovedMods == nil { + break + } + + args, err := ec.field_Query_getMyUnapprovedMods_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetMyUnapprovedMods(childComplexity, args["filter"].(map[string]interface{})), true + + case "Query.getMyUnapprovedVersions": + if e.complexity.Query.GetMyUnapprovedVersions == nil { + break + } + + args, err := ec.field_Query_getMyUnapprovedVersions_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetMyUnapprovedVersions(childComplexity, args["filter"].(map[string]interface{})), true + + case "Query.getMyVersions": + if e.complexity.Query.GetMyVersions == nil { + break + } + + args, err := ec.field_Query_getMyVersions_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetMyVersions(childComplexity, args["filter"].(map[string]interface{})), true + + case "Query.getOAuthOptions": + if e.complexity.Query.GetOAuthOptions == nil { + break + } + + args, err := ec.field_Query_getOAuthOptions_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetOAuthOptions(childComplexity, args["callback_url"].(string)), true + + case "Query.getSMLVersion": + if e.complexity.Query.GetSMLVersion == nil { + break + } + + args, err := ec.field_Query_getSMLVersion_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetSMLVersion(childComplexity, args["smlVersionID"].(string)), true + + case "Query.getSMLVersions": + if e.complexity.Query.GetSMLVersions == nil { + break + } + + args, err := ec.field_Query_getSMLVersions_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetSMLVersions(childComplexity, args["filter"].(map[string]interface{})), true + + case "Query.getSatisfactoryVersion": + if e.complexity.Query.GetSatisfactoryVersion == nil { + break + } + + args, err := ec.field_Query_getSatisfactoryVersion_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetSatisfactoryVersion(childComplexity, args["id"].(string)), true + + case "Query.getSatisfactoryVersions": + if e.complexity.Query.GetSatisfactoryVersions == nil { + break + } + + return e.complexity.Query.GetSatisfactoryVersions(childComplexity), true + + case "Query.getTag": + if e.complexity.Query.GetTag == nil { + break + } + + args, err := ec.field_Query_getTag_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetTag(childComplexity, args["tagID"].(string)), true + + case "Query.getTags": + if e.complexity.Query.GetTags == nil { + break + } + + args, err := ec.field_Query_getTags_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetTags(childComplexity, args["filter"].(*TagFilter)), true + + case "Query.getUnapprovedMods": + if e.complexity.Query.GetUnapprovedMods == nil { + break + } + + args, err := ec.field_Query_getUnapprovedMods_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetUnapprovedMods(childComplexity, args["filter"].(map[string]interface{})), true + + case "Query.getUnapprovedVersions": + if e.complexity.Query.GetUnapprovedVersions == nil { + break + } + + args, err := ec.field_Query_getUnapprovedVersions_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetUnapprovedVersions(childComplexity, args["filter"].(map[string]interface{})), true + + case "Query.getUser": + if e.complexity.Query.GetUser == nil { + break + } + + args, err := ec.field_Query_getUser_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetUser(childComplexity, args["userId"].(string)), true + + case "Query.getUsers": + if e.complexity.Query.GetUsers == nil { + break + } + + args, err := ec.field_Query_getUsers_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetUsers(childComplexity, args["userIds"].([]string)), true + + case "Query.getVersion": + if e.complexity.Query.GetVersion == nil { + break + } + + args, err := ec.field_Query_getVersion_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetVersion(childComplexity, args["versionId"].(string)), true + + case "Query.getVersions": + if e.complexity.Query.GetVersions == nil { + break + } + + args, err := ec.field_Query_getVersions_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetVersions(childComplexity, args["filter"].(map[string]interface{})), true + + case "Query.resolveModVersions": + if e.complexity.Query.ResolveModVersions == nil { + break + } + + args, err := ec.field_Query_resolveModVersions_args(context.TODO(), rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.ResolveModVersions(childComplexity, args["filter"].([]*ModVersionConstraint)), true + + case "SMLVersion.bootstrap_version": + if e.complexity.SMLVersion.BootstrapVersion == nil { + break + } + + return e.complexity.SMLVersion.BootstrapVersion(childComplexity), true + + case "SMLVersion.changelog": + if e.complexity.SMLVersion.Changelog == nil { + break + } + + return e.complexity.SMLVersion.Changelog(childComplexity), true + + case "SMLVersion.created_at": + if e.complexity.SMLVersion.CreatedAt == nil { + break + } + + return e.complexity.SMLVersion.CreatedAt(childComplexity), true + + case "SMLVersion.date": + if e.complexity.SMLVersion.Date == nil { + break + } + + return e.complexity.SMLVersion.Date(childComplexity), true + + case "SMLVersion.engine_version": + if e.complexity.SMLVersion.EngineVersion == nil { + break + } + + return e.complexity.SMLVersion.EngineVersion(childComplexity), true + + case "SMLVersion.id": + if e.complexity.SMLVersion.ID == nil { + break + } + + return e.complexity.SMLVersion.ID(childComplexity), true + + case "SMLVersion.link": + if e.complexity.SMLVersion.Link == nil { + break + } + + return e.complexity.SMLVersion.Link(childComplexity), true + + case "SMLVersion.satisfactory_version": + if e.complexity.SMLVersion.SatisfactoryVersion == nil { + break + } + + return e.complexity.SMLVersion.SatisfactoryVersion(childComplexity), true + + case "SMLVersion.stability": + if e.complexity.SMLVersion.Stability == nil { + break + } + + return e.complexity.SMLVersion.Stability(childComplexity), true + + case "SMLVersion.targets": + if e.complexity.SMLVersion.Targets == nil { + break + } + + return e.complexity.SMLVersion.Targets(childComplexity), true + + case "SMLVersion.updated_at": + if e.complexity.SMLVersion.UpdatedAt == nil { + break + } + + return e.complexity.SMLVersion.UpdatedAt(childComplexity), true + + case "SMLVersion.version": + if e.complexity.SMLVersion.Version == nil { + break + } + + return e.complexity.SMLVersion.Version(childComplexity), true + + case "SMLVersionTarget.link": + if e.complexity.SMLVersionTarget.Link == nil { + break + } + + return e.complexity.SMLVersionTarget.Link(childComplexity), true + + case "SMLVersionTarget.targetName": + if e.complexity.SMLVersionTarget.TargetName == nil { + break + } + + return e.complexity.SMLVersionTarget.TargetName(childComplexity), true + + case "SMLVersionTarget.VersionID": + if e.complexity.SMLVersionTarget.VersionID == nil { + break + } + + return e.complexity.SMLVersionTarget.VersionID(childComplexity), true + + case "SatisfactoryVersion.engine_version": + if e.complexity.SatisfactoryVersion.EngineVersion == nil { + break + } + + return e.complexity.SatisfactoryVersion.EngineVersion(childComplexity), true + + case "SatisfactoryVersion.id": + if e.complexity.SatisfactoryVersion.ID == nil { + break + } + + return e.complexity.SatisfactoryVersion.ID(childComplexity), true + + case "SatisfactoryVersion.version": + if e.complexity.SatisfactoryVersion.Version == nil { + break + } + + return e.complexity.SatisfactoryVersion.Version(childComplexity), true + + case "Tag.description": + if e.complexity.Tag.Description == nil { + break + } + + return e.complexity.Tag.Description(childComplexity), true + + case "Tag.id": + if e.complexity.Tag.ID == nil { + break + } + + return e.complexity.Tag.ID(childComplexity), true + + case "Tag.name": + if e.complexity.Tag.Name == nil { + break + } + + return e.complexity.Tag.Name(childComplexity), true + + case "User.avatar": + if e.complexity.User.Avatar == nil { + break + } + + return e.complexity.User.Avatar(childComplexity), true + + case "User.avatar_thumbhash": + if e.complexity.User.AvatarThumbhash == nil { + break + } + + return e.complexity.User.AvatarThumbhash(childComplexity), true + + case "User.created_at": + if e.complexity.User.CreatedAt == nil { + break + } + + return e.complexity.User.CreatedAt(childComplexity), true + + case "User.email": + if e.complexity.User.Email == nil { + break + } + + return e.complexity.User.Email(childComplexity), true + + case "User.facebook_id": + if e.complexity.User.FacebookID == nil { + break + } + + return e.complexity.User.FacebookID(childComplexity), true + + case "User.github_id": + if e.complexity.User.GithubID == nil { + break + } + + return e.complexity.User.GithubID(childComplexity), true + + case "User.google_id": + if e.complexity.User.GoogleID == nil { + break + } + + return e.complexity.User.GoogleID(childComplexity), true + + case "User.groups": + if e.complexity.User.Groups == nil { + break + } + + return e.complexity.User.Groups(childComplexity), true + + case "User.guides": + if e.complexity.User.Guides == nil { + break + } + + return e.complexity.User.Guides(childComplexity), true + + case "User.id": + if e.complexity.User.ID == nil { + break + } + + return e.complexity.User.ID(childComplexity), true + + case "User.mods": + if e.complexity.User.Mods == nil { + break + } + + return e.complexity.User.Mods(childComplexity), true + + case "User.roles": + if e.complexity.User.Roles == nil { + break + } + + return e.complexity.User.Roles(childComplexity), true + + case "User.username": + if e.complexity.User.Username == nil { + break + } + + return e.complexity.User.Username(childComplexity), true + + case "UserMod.mod": + if e.complexity.UserMod.Mod == nil { + break + } + + return e.complexity.UserMod.Mod(childComplexity), true + + case "UserMod.mod_id": + if e.complexity.UserMod.ModID == nil { + break + } + + return e.complexity.UserMod.ModID(childComplexity), true + + case "UserMod.role": + if e.complexity.UserMod.Role == nil { + break + } + + return e.complexity.UserMod.Role(childComplexity), true + + case "UserMod.user": + if e.complexity.UserMod.User == nil { + break + } + + return e.complexity.UserMod.User(childComplexity), true + + case "UserMod.user_id": + if e.complexity.UserMod.UserID == nil { + break + } + + return e.complexity.UserMod.UserID(childComplexity), true + + case "UserRoles.approveMods": + if e.complexity.UserRoles.ApproveMods == nil { + break + } + + return e.complexity.UserRoles.ApproveMods(childComplexity), true + + case "UserRoles.approveVersions": + if e.complexity.UserRoles.ApproveVersions == nil { + break + } + + return e.complexity.UserRoles.ApproveVersions(childComplexity), true + + case "UserRoles.deleteContent": + if e.complexity.UserRoles.DeleteContent == nil { + break + } + + return e.complexity.UserRoles.DeleteContent(childComplexity), true + + case "UserRoles.editAnyModCompatibility": + if e.complexity.UserRoles.EditAnyModCompatibility == nil { + break + } + + return e.complexity.UserRoles.EditAnyModCompatibility(childComplexity), true + + case "UserRoles.editBootstrapVersions": + if e.complexity.UserRoles.EditBootstrapVersions == nil { + break + } + + return e.complexity.UserRoles.EditBootstrapVersions(childComplexity), true + + case "UserRoles.editContent": + if e.complexity.UserRoles.EditContent == nil { + break + } + + return e.complexity.UserRoles.EditContent(childComplexity), true + + case "UserRoles.editSatisfactoryVersions": + if e.complexity.UserRoles.EditSatisfactoryVersions == nil { + break + } + + return e.complexity.UserRoles.EditSatisfactoryVersions(childComplexity), true + + case "UserRoles.editUsers": + if e.complexity.UserRoles.EditUsers == nil { + break + } + + return e.complexity.UserRoles.EditUsers(childComplexity), true + + case "UserSession.token": + if e.complexity.UserSession.Token == nil { + break + } + + return e.complexity.UserSession.Token(childComplexity), true + + case "Version.approved": + if e.complexity.Version.Approved == nil { + break + } + + return e.complexity.Version.Approved(childComplexity), true + + case "Version.changelog": + if e.complexity.Version.Changelog == nil { + break + } + + return e.complexity.Version.Changelog(childComplexity), true + + case "Version.created_at": + if e.complexity.Version.CreatedAt == nil { + break + } + + return e.complexity.Version.CreatedAt(childComplexity), true + + case "Version.dependencies": + if e.complexity.Version.Dependencies == nil { + break + } + + return e.complexity.Version.Dependencies(childComplexity), true + + case "Version.downloads": + if e.complexity.Version.Downloads == nil { + break + } + + return e.complexity.Version.Downloads(childComplexity), true + + case "Version.game_version": + if e.complexity.Version.GameVersion == nil { + break + } + + return e.complexity.Version.GameVersion(childComplexity), true + + case "Version.hash": + if e.complexity.Version.Hash == nil { + break + } + + return e.complexity.Version.Hash(childComplexity), true + + case "Version.id": + if e.complexity.Version.ID == nil { + break + } + + return e.complexity.Version.ID(childComplexity), true + + case "Version.link": + if e.complexity.Version.Link == nil { + break + } + + return e.complexity.Version.Link(childComplexity), true + + case "Version.metadata": + if e.complexity.Version.Metadata == nil { + break + } + + return e.complexity.Version.Metadata(childComplexity), true + + case "Version.mod": + if e.complexity.Version.Mod == nil { + break + } + + return e.complexity.Version.Mod(childComplexity), true + + case "Version.mod_id": + if e.complexity.Version.ModID == nil { + break + } + + return e.complexity.Version.ModID(childComplexity), true + + case "Version.required_on_remote": + if e.complexity.Version.RequiredOnRemote == nil { + break + } + + return e.complexity.Version.RequiredOnRemote(childComplexity), true + + case "Version.size": + if e.complexity.Version.Size == nil { + break + } + + return e.complexity.Version.Size(childComplexity), true + + case "Version.sml_version": + if e.complexity.Version.SmlVersion == nil { + break + } + + return e.complexity.Version.SmlVersion(childComplexity), true + + case "Version.stability": + if e.complexity.Version.Stability == nil { + break + } + + return e.complexity.Version.Stability(childComplexity), true + + case "Version.targets": + if e.complexity.Version.Targets == nil { + break + } + + return e.complexity.Version.Targets(childComplexity), true + + case "Version.updated_at": + if e.complexity.Version.UpdatedAt == nil { + break + } + + return e.complexity.Version.UpdatedAt(childComplexity), true + + case "Version.version": + if e.complexity.Version.Version == nil { + break + } + + return e.complexity.Version.Version(childComplexity), true + + case "Version.virustotal_results": + if e.complexity.Version.VirustotalResults == nil { + break + } + + return e.complexity.Version.VirustotalResults(childComplexity), true + + case "VersionDependency.condition": + if e.complexity.VersionDependency.Condition == nil { + break + } + + return e.complexity.VersionDependency.Condition(childComplexity), true + + case "VersionDependency.mod": + if e.complexity.VersionDependency.Mod == nil { + break + } + + return e.complexity.VersionDependency.Mod(childComplexity), true + + case "VersionDependency.mod_id": + if e.complexity.VersionDependency.ModID == nil { + break + } + + return e.complexity.VersionDependency.ModID(childComplexity), true + + case "VersionDependency.mod_reference": + if e.complexity.VersionDependency.ModReference == nil { + break + } + + return e.complexity.VersionDependency.ModReference(childComplexity), true + + case "VersionDependency.optional": + if e.complexity.VersionDependency.Optional == nil { + break + } + + return e.complexity.VersionDependency.Optional(childComplexity), true + + case "VersionDependency.version": + if e.complexity.VersionDependency.Version == nil { + break + } + + return e.complexity.VersionDependency.Version(childComplexity), true + + case "VersionDependency.version_id": + if e.complexity.VersionDependency.VersionID == nil { + break + } + + return e.complexity.VersionDependency.VersionID(childComplexity), true + + case "VersionTarget.hash": + if e.complexity.VersionTarget.Hash == nil { + break + } + + return e.complexity.VersionTarget.Hash(childComplexity), true + + case "VersionTarget.link": + if e.complexity.VersionTarget.Link == nil { + break + } + + return e.complexity.VersionTarget.Link(childComplexity), true + + case "VersionTarget.size": + if e.complexity.VersionTarget.Size == nil { + break + } + + return e.complexity.VersionTarget.Size(childComplexity), true + + case "VersionTarget.targetName": + if e.complexity.VersionTarget.TargetName == nil { + break + } + + return e.complexity.VersionTarget.TargetName(childComplexity), true + + case "VersionTarget.VersionID": + if e.complexity.VersionTarget.VersionID == nil { + break + } + + return e.complexity.VersionTarget.VersionID(childComplexity), true + + case "VirustotalResult.created_at": + if e.complexity.VirustotalResult.CreatedAt == nil { + break + } + + return e.complexity.VirustotalResult.CreatedAt(childComplexity), true + + case "VirustotalResult.file_name": + if e.complexity.VirustotalResult.FileName == nil { + break + } + + return e.complexity.VirustotalResult.FileName(childComplexity), true + + case "VirustotalResult.hash": + if e.complexity.VirustotalResult.Hash == nil { + break + } + + return e.complexity.VirustotalResult.Hash(childComplexity), true + + case "VirustotalResult.id": + if e.complexity.VirustotalResult.ID == nil { + break + } + + return e.complexity.VirustotalResult.ID(childComplexity), true + + case "VirustotalResult.safe": + if e.complexity.VirustotalResult.Safe == nil { + break + } + + return e.complexity.VirustotalResult.Safe(childComplexity), true + + case "VirustotalResult.updated_at": + if e.complexity.VirustotalResult.UpdatedAt == nil { + break + } + + return e.complexity.VirustotalResult.UpdatedAt(childComplexity), true + + case "VirustotalResult.version_id": + if e.complexity.VirustotalResult.VersionID == nil { + break + } + + return e.complexity.VirustotalResult.VersionID(childComplexity), true + + } + return 0, false +} + +func (e *executableSchema) Exec(ctx context.Context) graphql.ResponseHandler { + rc := graphql.GetOperationContext(ctx) + ec := executionContext{rc, e, 0, 0, make(chan graphql.DeferredResult)} + inputUnmarshalMap := graphql.BuildUnmarshalerMap( + ec.unmarshalInputCompatibilityInfoInput, + ec.unmarshalInputCompatibilityInput, + ec.unmarshalInputControllerCompatibilityInput, + ec.unmarshalInputGuideFilter, + ec.unmarshalInputModFilter, + ec.unmarshalInputModVersionConstraint, + ec.unmarshalInputNewAnnouncement, + ec.unmarshalInputNewGuide, + ec.unmarshalInputNewMod, + ec.unmarshalInputNewSatisfactoryVersion, + ec.unmarshalInputNewTag, + ec.unmarshalInputNewVersion, + ec.unmarshalInputSMLVersionFilter, + ec.unmarshalInputTagFilter, + ec.unmarshalInputUpdateAnnouncement, + ec.unmarshalInputUpdateGuide, + ec.unmarshalInputUpdateMod, + ec.unmarshalInputUpdateSatisfactoryVersion, + ec.unmarshalInputUpdateUser, + ec.unmarshalInputUpdateUserMod, + ec.unmarshalInputUpdateVersion, + ec.unmarshalInputVersionFilter, + ) + first := true + + switch rc.Operation.Operation { + case ast.Query: + return func(ctx context.Context) *graphql.Response { + var response graphql.Response + var data graphql.Marshaler + if first { + first = false + ctx = graphql.WithUnmarshalerMap(ctx, inputUnmarshalMap) + data = ec._Query(ctx, rc.Operation.SelectionSet) + } else { + if atomic.LoadInt32(&ec.pendingDeferred) > 0 { + result := <-ec.deferredResults + atomic.AddInt32(&ec.pendingDeferred, -1) + data = result.Result + response.Path = result.Path + response.Label = result.Label + response.Errors = result.Errors + } else { + return nil + } + } + var buf bytes.Buffer + data.MarshalGQL(&buf) + response.Data = buf.Bytes() + if atomic.LoadInt32(&ec.deferred) > 0 { + hasNext := atomic.LoadInt32(&ec.pendingDeferred) > 0 + response.HasNext = &hasNext + } + + return &response + } + case ast.Mutation: + return func(ctx context.Context) *graphql.Response { + if !first { + return nil + } + first = false + ctx = graphql.WithUnmarshalerMap(ctx, inputUnmarshalMap) + data := ec._Mutation(ctx, rc.Operation.SelectionSet) + var buf bytes.Buffer + data.MarshalGQL(&buf) + + return &graphql.Response{ + Data: buf.Bytes(), + } + } + + default: + return graphql.OneShot(graphql.ErrorResponse(ctx, "unsupported GraphQL operation")) + } +} + +type executionContext struct { + *graphql.OperationContext + *executableSchema + deferred int32 + pendingDeferred int32 + deferredResults chan graphql.DeferredResult +} + +func (ec *executionContext) processDeferredGroup(dg graphql.DeferredGroup) { + atomic.AddInt32(&ec.pendingDeferred, 1) + go func() { + ctx := graphql.WithFreshResponseContext(dg.Context) + dg.FieldSet.Dispatch(ctx) + ds := graphql.DeferredResult{ + Path: dg.Path, + Label: dg.Label, + Result: dg.FieldSet, + Errors: graphql.GetErrors(ctx), + } + // null fields should bubble up + if dg.FieldSet.Invalids > 0 { + ds.Result = graphql.Null + } + ec.deferredResults <- ds + }() +} + +func (ec *executionContext) introspectSchema() (*introspection.Schema, error) { + if ec.DisableIntrospection { + return nil, errors.New("introspection disabled") + } + return introspection.WrapSchema(ec.Schema()), nil +} + +func (ec *executionContext) introspectType(name string) (*introspection.Type, error) { + if ec.DisableIntrospection { + return nil, errors.New("introspection disabled") + } + return introspection.WrapTypeFromDef(ec.Schema(), ec.Schema().Types[name]), nil +} + +var sources = []*ast.Source{ + {Name: "../schemas/announcements.graphql", Input: `### Types + +scalar AnnouncementID + +enum AnnouncementImportance { + Fix + Info + Warning + Alert +} + +type Announcement { + id: AnnouncementID! + message: String! + importance: AnnouncementImportance! +} + +### Inputs + +input NewAnnouncement { + message: String! + importance: AnnouncementImportance! +} + +input UpdateAnnouncement { + message: String + importance: AnnouncementImportance +} + +### Queries + +extend type Query { + getAnnouncement(announcementId: AnnouncementID!): Announcement + getAnnouncements: [Announcement!]! + getAnnouncementsByImportance(importance: AnnouncementImportance!): [Announcement!]! +} + +### Mutations + +extend type Mutation { + createAnnouncement(announcement: NewAnnouncement!): Announcement @canEditAnnouncements @isLoggedIn + updateAnnouncement(announcementId: AnnouncementID!, announcement: UpdateAnnouncement!): Announcement! @canEditAnnouncements @isLoggedIn + deleteAnnouncement(announcementId: AnnouncementID!): Boolean! @canEditAnnouncements @isLoggedIn +}`, BuiltIn: false}, + {Name: "../schemas/base.graphql", Input: `scalar Upload + +scalar Date + +enum Order { + asc + desc +} + +type OAuthOptions { + github: String! + google: String! + facebook: String! +} + +type Query { + getOAuthOptions(callback_url: String!): OAuthOptions! +} + +type Mutation { + discourseSSO(sso: String!, sig: String!): String @isLoggedIn +} +`, BuiltIn: false}, + {Name: "../schemas/compatibility.graphql", Input: `enum CompatibilityState { + Works + Damaged + Broken +} + +type Compatibility { + state: CompatibilityState! + note: String +} + +input CompatibilityInput { + state: CompatibilityState! + note: String +} + +enum ControllerCompatibilityState { + Untested + Unsupported + Partial + Implicit + Supported +} + +type ControllerCompatibility { + state: ControllerCompatibilityState! + note: String +} + +input ControllerCompatibilityInput { + state: ControllerCompatibilityState! + note: String +} + +type CompatibilityInfo { + EA: Compatibility! + EXP: Compatibility! + Controller: ControllerCompatibility! +} + +input CompatibilityInfoInput { + EA: CompatibilityInput! + EXP: CompatibilityInput! + Controller: ControllerCompatibilityInput! +} + +extend type Mutation { + updateModCompatibility(modId: ModID!, compatibility: CompatibilityInfoInput!): Boolean! @canEditModCompatibility(field: "modId") @isLoggedIn + updateMultipleModCompatibilities(modIDs: [ModID!]!, compatibility: CompatibilityInfoInput!): Boolean! @canEditModCompatibility @isLoggedIn +} +`, BuiltIn: false}, + {Name: "../schemas/directives.graphql", Input: `directive @isLoggedIn on FIELD_DEFINITION | INPUT_FIELD_DEFINITION +directive @isNotLoggedIn on FIELD_DEFINITION | INPUT_FIELD_DEFINITION + +directive @canEditMod(field: String!) on FIELD_DEFINITION +directive @canEditVersion(field: String!) on FIELD_DEFINITION +directive @canEditUser(field: String!, object: Boolean!) on FIELD_DEFINITION +directive @canEditGuide(field: String!) on FIELD_DEFINITION +directive @canEditModCompatibility(field: String) on FIELD_DEFINITION + +directive @canApproveMods on FIELD_DEFINITION | INPUT_FIELD_DEFINITION +directive @canApproveVersions on FIELD_DEFINITION | INPUT_FIELD_DEFINITION +directive @canEditUsers on FIELD_DEFINITION | INPUT_FIELD_DEFINITION +directive @canEditSatisfactoryVersions on FIELD_DEFINITION | INPUT_FIELD_DEFINITION +directive @canEditAnnouncements on FIELD_DEFINITION | INPUT_FIELD_DEFINITION +directive @canManageTags on FIELD_DEFINITION | INPUT_FIELD_DEFINITION +`, BuiltIn: false}, + {Name: "../schemas/guide.graphql", Input: `### Types + +scalar GuideID + +enum GuideFields { + name + created_at + updated_at + views +} + +type Guide { + id: GuideID! + name: String! + short_description: String! + guide: String! + views: Int! + user_id: UserID! + updated_at: Date! + created_at: Date! + tags: [Tag!]! + + user: User! +} + +type GetGuides { + guides: [Guide!]! + count: Int! +} + +### Inputs + +input NewGuide { + name: String! + short_description: String! + guide: String! + tagIDs: [TagID!] +} + +input UpdateGuide { + name: String + short_description: String + guide: String + tagIDs: [TagID!] +} + +input GuideFilter { + limit: Int + offset: Int + order_by: GuideFields + order: Order + search: String + ids: [String!] + tagIDs: [TagID!] +} + +### Queries + +extend type Query { + getGuide(guideId: GuideID!): Guide + getGuides(filter: GuideFilter): GetGuides! +} + +### Mutations + +extend type Mutation { + createGuide(guide: NewGuide!): Guide @isLoggedIn + updateGuide(guideId: GuideID!, guide: UpdateGuide!): Guide! @canEditGuide(field: "guideId") @isLoggedIn + deleteGuide(guideId: GuideID!): Boolean! @canEditGuide(field: "guideId") @isLoggedIn +}`, BuiltIn: false}, + {Name: "../schemas/mod.graphql", Input: `### Types + +scalar ModID +scalar ModReference + +enum ModFields { + created_at + updated_at + name + views + downloads + hotness + popularity + last_version_date + search +} + +# enum AiUseDisclosureType { +# NotUsed +# AdaMessages +# Used +# } + +# type AiUseDisclosure { +# type: AiUseDisclosureType! +# note: String +# } + +type Mod { + id: ModID! + name: String! + short_description: String! + full_description: String + logo: String + logo_thumbhash: String + source_url: String + creator_id: UserID! + approved: Boolean! + views: Int! + downloads: Int! + hotness: Int! + popularity: Int! + updated_at: Date! + created_at: Date! + last_version_date: Date + mod_reference: ModReference! + hidden: Boolean! + tags: [Tag!] + compatibility: CompatibilityInfo + toggle_network_use: Boolean! + network_use_disclosure: String + # ai_use_disclosure: AiUseDisclosure + toggle_explicit_content: Boolean! + + authors: [UserMod!]! + version(version: String!): Version + versions(filter: VersionFilter): [Version!]! + latestVersions: LatestVersions! +} + +type GetMods { + mods: [Mod!]! + count: Int! +} + +type GetMyMods { + mods: [Mod!]! + count: Int! +} + +type ModVersion { + id: ModID! + mod_reference: ModReference! + versions: [Version!]! +} + +### Inputs + +input ModFilter { + limit: Int + offset: Int + order_by: ModFields + order: Order + search: String + ids: [String!] + references: [String!] + hidden: Boolean + tagIDs: [TagID!] +} + +input NewMod { + name: String! + short_description: String! + full_description: String + logo: Upload + source_url: String + mod_reference: ModReference! + hidden: Boolean + tagIDs: [TagID!] + toggle_network_use: Boolean + toggle_explicit_content: Boolean +} + +input UpdateMod { + name: String + short_description: String + full_description: String + logo: Upload + source_url: String + mod_reference: ModReference + authors: [UpdateUserMod!] + hidden: Boolean + tagIDs: [TagID!] + compatibility: CompatibilityInfoInput + toggle_network_use: Boolean + network_use_disclosure: String + # ai_use_disclosure: AiUseDisclosureInput + toggle_explicit_content: Boolean +} + +input UpdateUserMod { + user_id: UserID! + role: String! +} + +input ModVersionConstraint { + modIdOrReference: String! + version: String! +} + +### Queries + +extend type Query { + getMod(modId: ModID!): Mod + getModByReference(modReference: ModReference!): Mod + getModByIdOrReference(modIdOrReference: String!): Mod + getMods(filter: ModFilter): GetMods! + getUnapprovedMods(filter: ModFilter): GetMods! @canApproveMods @isLoggedIn + + getMyMods(filter: ModFilter): GetMyMods! @isLoggedIn + getMyUnapprovedMods(filter: ModFilter): GetMyMods! @isLoggedIn + + resolveModVersions(filter: [ModVersionConstraint!]!): [ModVersion!]! + + getModAssetList(modReference: ModID!): [String!]! +} + +### Mutations + +extend type Mutation { + createMod(mod: NewMod!): Mod @isLoggedIn + updateMod(modId: ModID!, mod: UpdateMod!): Mod! @canEditMod(field: "modId") @isLoggedIn + deleteMod(modId: ModID!): Boolean! @canEditMod(field: "modId") @isLoggedIn + + approveMod(modId: ModID!): Boolean! @canApproveMods @isLoggedIn + denyMod(modId: ModID!): Boolean! @canApproveMods @isLoggedIn +}`, BuiltIn: false}, + {Name: "../schemas/satisfactory_version.graphql", Input: `### Types + +scalar SatisfactoryVersionID + +type SatisfactoryVersion { + id: SatisfactoryVersionID! + version: Int! + engine_version: String! +} + +### Inputs + +input NewSatisfactoryVersion { + version: Int! + engine_version: String! +} + +input UpdateSatisfactoryVersion { + version: Int + engine_version: String +} + +### Queries + +extend type Query { + getSatisfactoryVersions: [SatisfactoryVersion!]! + getSatisfactoryVersion(id: SatisfactoryVersionID!): SatisfactoryVersion +} + +### Mutations + +extend type Mutation { + createSatisfactoryVersion(input: NewSatisfactoryVersion!): SatisfactoryVersion! @isLoggedIn @canEditSatisfactoryVersions + updateSatisfactoryVersion(id: SatisfactoryVersionID!, input: UpdateSatisfactoryVersion!): SatisfactoryVersion! @isLoggedIn @canEditSatisfactoryVersions + deleteSatisfactoryVersion(id: SatisfactoryVersionID!): Boolean! @isLoggedIn @canEditSatisfactoryVersions +} +`, BuiltIn: false}, + {Name: "../schemas/sml_version.graphql", Input: `### Types + +scalar SMLVersionID + +type SMLVersion { + id: SMLVersionID! + version: String! + satisfactory_version: Int! + stability: VersionStabilities! + link: String! + targets: [SMLVersionTarget]! + changelog: String! + date: Date! + bootstrap_version: String + engine_version: String! + + updated_at: Date! + created_at: Date! +} + +type SMLVersionTarget { + VersionID: SMLVersionID! + targetName: TargetName! + link: String! +} + +type GetSMLVersions { + sml_versions: [SMLVersion!]! + count: Int! +} + +enum SMLVersionFields { + name + created_at + updated_at + satisfactory_version + date +} + +### Inputs + +input SMLVersionFilter { + limit: Int + offset: Int + order_by: SMLVersionFields + order: Order + search: String + ids: [String!] +} + +### Queries + +extend type Query { + getSMLVersion(smlVersionID: SMLVersionID!): SMLVersion @deprecated(reason: "SML is now a mod") + getSMLVersions(filter: SMLVersionFilter): GetSMLVersions! @deprecated(reason: "SML is now a mod") +} + +### Mutations + +`, BuiltIn: false}, + {Name: "../schemas/tags.graphql", Input: `scalar TagID +scalar TagName + +type Tag { + id: TagID! + name: TagName! + description: String! +} + +input NewTag { + name: TagName! + description: String! +} + +input TagFilter { + limit: Int + offset: Int + order: Order + search: String + ids: [TagID!] +} + +extend type Query { + getTag(tagID: TagID!): Tag + getTags(filter: TagFilter): [Tag!]! +} + +### Mutations + +extend type Mutation { + createTag(tagName: TagName!, description: String!): Tag @canManageTags @isLoggedIn + createMultipleTags(tagNames: [NewTag!]!): [Tag!]! @canManageTags @isLoggedIn + updateTag(tagID: TagID!, NewName: TagName!, description: String!): Tag! @canManageTags @isLoggedIn + deleteTag(tagID: TagID!): Boolean! @canManageTags @isLoggedIn +}`, BuiltIn: false}, + {Name: "../schemas/user.graphql", Input: `### Types + +scalar UserID + +type UserRoles { + approveMods: Boolean! + approveVersions: Boolean! + deleteContent: Boolean! + editContent: Boolean! + editUsers: Boolean! + editSatisfactoryVersions: Boolean! + editBootstrapVersions: Boolean! + editAnyModCompatibility: Boolean! +} + +type Group { + id: String! + name: String! +} + +type User { + id: UserID! + email: String @canEditUser(field: "ID", object: true) @isLoggedIn + username: String! + avatar: String + avatar_thumbhash: String + created_at: Date! + + github_id: String @canEditUser(field: "ID", object: true) @isLoggedIn + google_id: String @canEditUser(field: "ID", object: true) @isLoggedIn + facebook_id: String @canEditUser(field: "ID", object: true) @isLoggedIn + + roles: UserRoles! @canEditUser(field: "ID", object: true) @isLoggedIn + groups: [Group!]! @canEditUser(field: "ID", object: true) @isLoggedIn + + mods: [UserMod!]! + guides: [Guide!]! +} + +type UserSession { + token: String! +} + +type UserMod { + user_id: UserID! + mod_id: ModID! + role: String! + + user: User! + mod: Mod! +} + +### Inputs + +input UpdateUser { + avatar: Upload + groups: [String!] @canEditUsers @isLoggedIn + username: String +} + +### Queries + +extend type Query { + getMe: User @isLoggedIn + getUser(userId: UserID!): User + getUsers(userIds: [UserID!]!): [User]! +} + +### Mutations + +extend type Mutation { + updateUser(userId: UserID!, input: UpdateUser!): User! @canEditUser(field: "userId", object: false) @isLoggedIn + logout: Boolean! @isLoggedIn + + oAuthGithub(code: String!, state: String!): UserSession @isNotLoggedIn + oAuthGoogle(code: String!, state: String!): UserSession @isNotLoggedIn + oAuthFacebook(code: String!, state: String!): UserSession @isNotLoggedIn +}`, BuiltIn: false}, + {Name: "../schemas/version.graphql", Input: `### Types + +scalar VersionID + +type LatestVersions { + alpha: Version + beta: Version + release: Version +} + +enum VersionFields { + created_at + updated_at + downloads +} + +enum VersionStabilities { + alpha + beta + release +} + +type Version { + id: VersionID! + mod_id: ModID! + version: String! + sml_version: String! + game_version: String! + required_on_remote: Boolean! + changelog: String! + downloads: Int! + stability: VersionStabilities! + approved: Boolean! + updated_at: Date! + created_at: Date! + link: String! + targets: [VersionTarget]! + metadata: String + size: Int + hash: String + + mod: Mod! + dependencies: [VersionDependency!]! + virustotal_results: [VirustotalResult!]! +} + +type VersionTarget { + VersionID: VersionID! + targetName: TargetName! + link: String! + size: Int + hash: String +} + +type CreateVersionResponse { + auto_approved: Boolean! + version: Version +} + +type GetVersions { + versions: [Version!]! + count: Int! +} + +type GetMyVersions { + versions: [Version!]! + count: Int! +} + +type VersionDependency { + version_id: VersionID! + mod_id: ModID! @deprecated(reason: "soon will return actual mod id instead of reference. use mod_reference field instead!") + condition: String! + optional: Boolean! + mod_reference: String! + + mod: Mod + version: Version +} + +### Inputs + +input VersionFilter { + limit: Int + offset: Int + order_by: VersionFields + order: Order + search: String + ids: [String!] +} + +input NewVersion { + changelog: String! + stability: VersionStabilities! +} + +input UpdateVersion { + changelog: String + stability: VersionStabilities +} + +### Queries + +extend type Query { + getVersion(versionId: VersionID!): Version + getVersions(filter: VersionFilter): GetVersions! + getUnapprovedVersions(filter: VersionFilter): GetVersions! @canApproveVersions @isLoggedIn + + checkVersionUploadState(modId: ModID!, versionId: VersionID!): CreateVersionResponse @canEditMod(field: "modId") @isLoggedIn + + getMyVersions(filter: VersionFilter): GetMyVersions! @isLoggedIn + getMyUnapprovedVersions(filter: VersionFilter): GetMyVersions! @isLoggedIn +} + +### Mutations + +extend type Mutation { + createVersion(modId: ModID!): VersionID! @canEditMod(field: "modId") @isLoggedIn + uploadVersionPart(modId: ModID!, versionId: VersionID!, part: Int!, file: Upload!): Boolean! @canEditMod(field: "modId") @isLoggedIn + finalizeCreateVersion(modId: ModID!, versionId: VersionID!, version: NewVersion!): Boolean! @canEditMod(field: "modId") @isLoggedIn + + updateVersion(versionId: VersionID!, version: UpdateVersion!): Version! @canEditVersion(field: "versionId") @isLoggedIn + deleteVersion(versionId: VersionID!): Boolean! @canEditVersion(field: "versionId") @isLoggedIn + + approveVersion(versionId: VersionID!): Boolean! @canApproveVersions @isLoggedIn + denyVersion(versionId: VersionID!): Boolean! @canApproveVersions @isLoggedIn +}`, BuiltIn: false}, + {Name: "../schemas/version_target.graphql", Input: `enum TargetName { + Windows, + WindowsServer, + LinuxServer +}`, BuiltIn: false}, + {Name: "../schemas/virustotal_results.graphql", Input: `### Types + +scalar VirustotalHash +scalar VirustotalID + +type VirustotalResult { + id: VirustotalID + hash: VirustotalHash! + safe: Boolean! + file_name: String! + version_id: String! + created_at: Date! + updated_at: Date +} +`, BuiltIn: false}, +} +var parsedSchema = gqlparser.MustLoadSchema(sources...) + +// endregion ************************** generated!.gotpl ************************** + +// region ***************************** args.gotpl ***************************** + +func (ec *executionContext) dir_canEditGuide_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["field"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("field")) + arg0, err = ec.unmarshalNString2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["field"] = arg0 + return args, nil +} + +func (ec *executionContext) dir_canEditModCompatibility_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 *string + if tmp, ok := rawArgs["field"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("field")) + arg0, err = ec.unmarshalOString2ᚖstring(ctx, tmp) + if err != nil { + return nil, err + } + } + args["field"] = arg0 + return args, nil +} + +func (ec *executionContext) dir_canEditMod_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["field"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("field")) + arg0, err = ec.unmarshalNString2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["field"] = arg0 + return args, nil +} + +func (ec *executionContext) dir_canEditUser_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["field"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("field")) + arg0, err = ec.unmarshalNString2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["field"] = arg0 + var arg1 bool + if tmp, ok := rawArgs["object"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("object")) + arg1, err = ec.unmarshalNBoolean2bool(ctx, tmp) + if err != nil { + return nil, err + } + } + args["object"] = arg1 + return args, nil +} + +func (ec *executionContext) dir_canEditVersion_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["field"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("field")) + arg0, err = ec.unmarshalNString2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["field"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Mod_version_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["version"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("version")) + arg0, err = ec.unmarshalNString2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["version"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Mod_versions_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 map[string]interface{} + if tmp, ok := rawArgs["filter"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) + arg0, err = ec.unmarshalOVersionFilter2map(ctx, tmp) + if err != nil { + return nil, err + } + } + args["filter"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Mutation_approveMod_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["modId"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) + arg0, err = ec.unmarshalNModID2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["modId"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Mutation_approveVersion_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["versionId"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) + arg0, err = ec.unmarshalNVersionID2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["versionId"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Mutation_createAnnouncement_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 NewAnnouncement + if tmp, ok := rawArgs["announcement"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("announcement")) + arg0, err = ec.unmarshalNNewAnnouncement2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewAnnouncement(ctx, tmp) + if err != nil { + return nil, err + } + } + args["announcement"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Mutation_createGuide_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 NewGuide + if tmp, ok := rawArgs["guide"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("guide")) + arg0, err = ec.unmarshalNNewGuide2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewGuide(ctx, tmp) + if err != nil { + return nil, err + } + } + args["guide"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Mutation_createMod_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 NewMod + if tmp, ok := rawArgs["mod"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("mod")) + arg0, err = ec.unmarshalNNewMod2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewMod(ctx, tmp) + if err != nil { + return nil, err + } + } + args["mod"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Mutation_createMultipleTags_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 []*NewTag + if tmp, ok := rawArgs["tagNames"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("tagNames")) + arg0, err = ec.unmarshalNNewTag2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewTagᚄ(ctx, tmp) + if err != nil { + return nil, err + } + } + args["tagNames"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Mutation_createSatisfactoryVersion_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 NewSatisfactoryVersion + if tmp, ok := rawArgs["input"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("input")) + arg0, err = ec.unmarshalNNewSatisfactoryVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewSatisfactoryVersion(ctx, tmp) + if err != nil { + return nil, err + } + } + args["input"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Mutation_createTag_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["tagName"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("tagName")) + arg0, err = ec.unmarshalNTagName2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["tagName"] = arg0 + var arg1 string + if tmp, ok := rawArgs["description"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("description")) + arg1, err = ec.unmarshalNString2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["description"] = arg1 + return args, nil +} + +func (ec *executionContext) field_Mutation_createVersion_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["modId"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) + arg0, err = ec.unmarshalNModID2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["modId"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Mutation_deleteAnnouncement_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["announcementId"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("announcementId")) + arg0, err = ec.unmarshalNAnnouncementID2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["announcementId"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Mutation_deleteGuide_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["guideId"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("guideId")) + arg0, err = ec.unmarshalNGuideID2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["guideId"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Mutation_deleteMod_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["modId"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) + arg0, err = ec.unmarshalNModID2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["modId"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Mutation_deleteSatisfactoryVersion_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["id"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("id")) + arg0, err = ec.unmarshalNSatisfactoryVersionID2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["id"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Mutation_deleteTag_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["tagID"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("tagID")) + arg0, err = ec.unmarshalNTagID2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["tagID"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Mutation_deleteVersion_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["versionId"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) + arg0, err = ec.unmarshalNVersionID2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["versionId"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Mutation_denyMod_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["modId"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) + arg0, err = ec.unmarshalNModID2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["modId"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Mutation_denyVersion_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["versionId"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) + arg0, err = ec.unmarshalNVersionID2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["versionId"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Mutation_discourseSSO_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["sso"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("sso")) + arg0, err = ec.unmarshalNString2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["sso"] = arg0 + var arg1 string + if tmp, ok := rawArgs["sig"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("sig")) + arg1, err = ec.unmarshalNString2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["sig"] = arg1 + return args, nil +} + +func (ec *executionContext) field_Mutation_finalizeCreateVersion_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["modId"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) + arg0, err = ec.unmarshalNModID2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["modId"] = arg0 + var arg1 string + if tmp, ok := rawArgs["versionId"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) + arg1, err = ec.unmarshalNVersionID2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["versionId"] = arg1 + var arg2 NewVersion + if tmp, ok := rawArgs["version"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("version")) + arg2, err = ec.unmarshalNNewVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewVersion(ctx, tmp) + if err != nil { + return nil, err + } + } + args["version"] = arg2 + return args, nil +} + +func (ec *executionContext) field_Mutation_oAuthFacebook_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["code"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("code")) + arg0, err = ec.unmarshalNString2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["code"] = arg0 + var arg1 string + if tmp, ok := rawArgs["state"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("state")) + arg1, err = ec.unmarshalNString2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["state"] = arg1 + return args, nil +} + +func (ec *executionContext) field_Mutation_oAuthGithub_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["code"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("code")) + arg0, err = ec.unmarshalNString2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["code"] = arg0 + var arg1 string + if tmp, ok := rawArgs["state"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("state")) + arg1, err = ec.unmarshalNString2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["state"] = arg1 + return args, nil +} + +func (ec *executionContext) field_Mutation_oAuthGoogle_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["code"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("code")) + arg0, err = ec.unmarshalNString2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["code"] = arg0 + var arg1 string + if tmp, ok := rawArgs["state"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("state")) + arg1, err = ec.unmarshalNString2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["state"] = arg1 + return args, nil +} + +func (ec *executionContext) field_Mutation_updateAnnouncement_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["announcementId"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("announcementId")) + arg0, err = ec.unmarshalNAnnouncementID2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["announcementId"] = arg0 + var arg1 UpdateAnnouncement + if tmp, ok := rawArgs["announcement"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("announcement")) + arg1, err = ec.unmarshalNUpdateAnnouncement2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateAnnouncement(ctx, tmp) + if err != nil { + return nil, err + } + } + args["announcement"] = arg1 + return args, nil +} + +func (ec *executionContext) field_Mutation_updateGuide_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["guideId"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("guideId")) + arg0, err = ec.unmarshalNGuideID2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["guideId"] = arg0 + var arg1 UpdateGuide + if tmp, ok := rawArgs["guide"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("guide")) + arg1, err = ec.unmarshalNUpdateGuide2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateGuide(ctx, tmp) + if err != nil { + return nil, err + } + } + args["guide"] = arg1 + return args, nil +} + +func (ec *executionContext) field_Mutation_updateModCompatibility_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["modId"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) + arg0, err = ec.unmarshalNModID2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["modId"] = arg0 + var arg1 CompatibilityInfoInput + if tmp, ok := rawArgs["compatibility"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("compatibility")) + arg1, err = ec.unmarshalNCompatibilityInfoInput2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInfoInput(ctx, tmp) + if err != nil { + return nil, err + } + } + args["compatibility"] = arg1 + return args, nil +} + +func (ec *executionContext) field_Mutation_updateMod_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["modId"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) + arg0, err = ec.unmarshalNModID2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["modId"] = arg0 + var arg1 UpdateMod + if tmp, ok := rawArgs["mod"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("mod")) + arg1, err = ec.unmarshalNUpdateMod2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateMod(ctx, tmp) + if err != nil { + return nil, err + } + } + args["mod"] = arg1 + return args, nil +} + +func (ec *executionContext) field_Mutation_updateMultipleModCompatibilities_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 []string + if tmp, ok := rawArgs["modIDs"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("modIDs")) + arg0, err = ec.unmarshalNModID2ᚕstringᚄ(ctx, tmp) + if err != nil { + return nil, err + } + } + args["modIDs"] = arg0 + var arg1 CompatibilityInfoInput + if tmp, ok := rawArgs["compatibility"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("compatibility")) + arg1, err = ec.unmarshalNCompatibilityInfoInput2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInfoInput(ctx, tmp) + if err != nil { + return nil, err + } + } + args["compatibility"] = arg1 + return args, nil +} + +func (ec *executionContext) field_Mutation_updateSatisfactoryVersion_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["id"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("id")) + arg0, err = ec.unmarshalNSatisfactoryVersionID2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["id"] = arg0 + var arg1 UpdateSatisfactoryVersion + if tmp, ok := rawArgs["input"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("input")) + arg1, err = ec.unmarshalNUpdateSatisfactoryVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateSatisfactoryVersion(ctx, tmp) + if err != nil { + return nil, err + } + } + args["input"] = arg1 + return args, nil +} + +func (ec *executionContext) field_Mutation_updateTag_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["tagID"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("tagID")) + arg0, err = ec.unmarshalNTagID2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["tagID"] = arg0 + var arg1 string + if tmp, ok := rawArgs["NewName"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("NewName")) + arg1, err = ec.unmarshalNTagName2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["NewName"] = arg1 + var arg2 string + if tmp, ok := rawArgs["description"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("description")) + arg2, err = ec.unmarshalNString2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["description"] = arg2 + return args, nil +} + +func (ec *executionContext) field_Mutation_updateUser_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["userId"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("userId")) + arg0, err = ec.unmarshalNUserID2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["userId"] = arg0 + var arg1 UpdateUser + if tmp, ok := rawArgs["input"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("input")) + arg1, err = ec.unmarshalNUpdateUser2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateUser(ctx, tmp) + if err != nil { + return nil, err + } + } + args["input"] = arg1 + return args, nil +} + +func (ec *executionContext) field_Mutation_updateVersion_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["versionId"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) + arg0, err = ec.unmarshalNVersionID2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["versionId"] = arg0 + var arg1 UpdateVersion + if tmp, ok := rawArgs["version"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("version")) + arg1, err = ec.unmarshalNUpdateVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateVersion(ctx, tmp) + if err != nil { + return nil, err + } + } + args["version"] = arg1 + return args, nil +} + +func (ec *executionContext) field_Mutation_uploadVersionPart_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["modId"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) + arg0, err = ec.unmarshalNModID2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["modId"] = arg0 + var arg1 string + if tmp, ok := rawArgs["versionId"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) + arg1, err = ec.unmarshalNVersionID2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["versionId"] = arg1 + var arg2 int + if tmp, ok := rawArgs["part"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("part")) + arg2, err = ec.unmarshalNInt2int(ctx, tmp) + if err != nil { + return nil, err + } + } + args["part"] = arg2 + var arg3 graphql.Upload + if tmp, ok := rawArgs["file"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("file")) + arg3, err = ec.unmarshalNUpload2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚐUpload(ctx, tmp) + if err != nil { + return nil, err + } + } + args["file"] = arg3 + return args, nil +} + +func (ec *executionContext) field_Query___type_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["name"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("name")) + arg0, err = ec.unmarshalNString2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["name"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Query_checkVersionUploadState_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["modId"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) + arg0, err = ec.unmarshalNModID2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["modId"] = arg0 + var arg1 string + if tmp, ok := rawArgs["versionId"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) + arg1, err = ec.unmarshalNVersionID2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["versionId"] = arg1 + return args, nil +} + +func (ec *executionContext) field_Query_getAnnouncement_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["announcementId"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("announcementId")) + arg0, err = ec.unmarshalNAnnouncementID2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["announcementId"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Query_getAnnouncementsByImportance_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 AnnouncementImportance + if tmp, ok := rawArgs["importance"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("importance")) + arg0, err = ec.unmarshalNAnnouncementImportance2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementImportance(ctx, tmp) + if err != nil { + return nil, err + } + } + args["importance"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Query_getGuide_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["guideId"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("guideId")) + arg0, err = ec.unmarshalNGuideID2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["guideId"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Query_getGuides_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 map[string]interface{} + if tmp, ok := rawArgs["filter"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) + arg0, err = ec.unmarshalOGuideFilter2map(ctx, tmp) + if err != nil { + return nil, err + } + } + args["filter"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Query_getModAssetList_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["modReference"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("modReference")) + arg0, err = ec.unmarshalNModID2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["modReference"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Query_getModByIdOrReference_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["modIdOrReference"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("modIdOrReference")) + arg0, err = ec.unmarshalNString2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["modIdOrReference"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Query_getModByReference_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["modReference"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("modReference")) + arg0, err = ec.unmarshalNModReference2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["modReference"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Query_getMod_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["modId"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) + arg0, err = ec.unmarshalNModID2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["modId"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Query_getMods_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 map[string]interface{} + if tmp, ok := rawArgs["filter"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) + arg0, err = ec.unmarshalOModFilter2map(ctx, tmp) + if err != nil { + return nil, err + } + } + args["filter"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Query_getMyMods_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 map[string]interface{} + if tmp, ok := rawArgs["filter"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) + arg0, err = ec.unmarshalOModFilter2map(ctx, tmp) + if err != nil { + return nil, err + } + } + args["filter"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Query_getMyUnapprovedMods_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 map[string]interface{} + if tmp, ok := rawArgs["filter"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) + arg0, err = ec.unmarshalOModFilter2map(ctx, tmp) + if err != nil { + return nil, err + } + } + args["filter"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Query_getMyUnapprovedVersions_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 map[string]interface{} + if tmp, ok := rawArgs["filter"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) + arg0, err = ec.unmarshalOVersionFilter2map(ctx, tmp) + if err != nil { + return nil, err + } + } + args["filter"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Query_getMyVersions_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 map[string]interface{} + if tmp, ok := rawArgs["filter"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) + arg0, err = ec.unmarshalOVersionFilter2map(ctx, tmp) + if err != nil { + return nil, err + } + } + args["filter"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Query_getOAuthOptions_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["callback_url"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("callback_url")) + arg0, err = ec.unmarshalNString2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["callback_url"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Query_getSMLVersion_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["smlVersionID"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("smlVersionID")) + arg0, err = ec.unmarshalNSMLVersionID2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["smlVersionID"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Query_getSMLVersions_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 map[string]interface{} + if tmp, ok := rawArgs["filter"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) + arg0, err = ec.unmarshalOSMLVersionFilter2map(ctx, tmp) + if err != nil { + return nil, err + } + } + args["filter"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Query_getSatisfactoryVersion_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["id"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("id")) + arg0, err = ec.unmarshalNSatisfactoryVersionID2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["id"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Query_getTag_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["tagID"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("tagID")) + arg0, err = ec.unmarshalNTagID2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["tagID"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Query_getTags_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 *TagFilter + if tmp, ok := rawArgs["filter"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) + arg0, err = ec.unmarshalOTagFilter2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTagFilter(ctx, tmp) + if err != nil { + return nil, err + } + } + args["filter"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Query_getUnapprovedMods_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 map[string]interface{} + if tmp, ok := rawArgs["filter"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) + arg0, err = ec.unmarshalOModFilter2map(ctx, tmp) + if err != nil { + return nil, err + } + } + args["filter"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Query_getUnapprovedVersions_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 map[string]interface{} + if tmp, ok := rawArgs["filter"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) + arg0, err = ec.unmarshalOVersionFilter2map(ctx, tmp) + if err != nil { + return nil, err + } + } + args["filter"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Query_getUser_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["userId"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("userId")) + arg0, err = ec.unmarshalNUserID2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["userId"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Query_getUsers_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 []string + if tmp, ok := rawArgs["userIds"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("userIds")) + arg0, err = ec.unmarshalNUserID2ᚕstringᚄ(ctx, tmp) + if err != nil { + return nil, err + } + } + args["userIds"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Query_getVersion_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 string + if tmp, ok := rawArgs["versionId"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) + arg0, err = ec.unmarshalNVersionID2string(ctx, tmp) + if err != nil { + return nil, err + } + } + args["versionId"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Query_getVersions_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 map[string]interface{} + if tmp, ok := rawArgs["filter"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) + arg0, err = ec.unmarshalOVersionFilter2map(ctx, tmp) + if err != nil { + return nil, err + } + } + args["filter"] = arg0 + return args, nil +} + +func (ec *executionContext) field_Query_resolveModVersions_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 []*ModVersionConstraint + if tmp, ok := rawArgs["filter"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) + arg0, err = ec.unmarshalNModVersionConstraint2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModVersionConstraintᚄ(ctx, tmp) + if err != nil { + return nil, err + } + } + args["filter"] = arg0 + return args, nil +} + +func (ec *executionContext) field___Type_enumValues_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 bool + if tmp, ok := rawArgs["includeDeprecated"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("includeDeprecated")) + arg0, err = ec.unmarshalOBoolean2bool(ctx, tmp) + if err != nil { + return nil, err + } + } + args["includeDeprecated"] = arg0 + return args, nil +} + +func (ec *executionContext) field___Type_fields_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + var arg0 bool + if tmp, ok := rawArgs["includeDeprecated"]; ok { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("includeDeprecated")) + arg0, err = ec.unmarshalOBoolean2bool(ctx, tmp) + if err != nil { + return nil, err + } + } + args["includeDeprecated"] = arg0 + return args, nil +} + +// endregion ***************************** args.gotpl ***************************** + +// region ************************** directives.gotpl ************************** + +// endregion ************************** directives.gotpl ************************** + +// region **************************** field.gotpl ***************************** + +func (ec *executionContext) _Announcement_id(ctx context.Context, field graphql.CollectedField, obj *Announcement) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Announcement_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.ID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNAnnouncementID2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Announcement_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Announcement", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type AnnouncementID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Announcement_message(ctx context.Context, field graphql.CollectedField, obj *Announcement) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Announcement_message(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Message, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Announcement_message(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Announcement", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Announcement_importance(ctx context.Context, field graphql.CollectedField, obj *Announcement) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Announcement_importance(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Importance, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(AnnouncementImportance) + fc.Result = res + return ec.marshalNAnnouncementImportance2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementImportance(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Announcement_importance(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Announcement", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type AnnouncementImportance does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Compatibility_state(ctx context.Context, field graphql.CollectedField, obj *Compatibility) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Compatibility_state(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.State, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(CompatibilityState) + fc.Result = res + return ec.marshalNCompatibilityState2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityState(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Compatibility_state(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Compatibility", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type CompatibilityState does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Compatibility_note(ctx context.Context, field graphql.CollectedField, obj *Compatibility) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Compatibility_note(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Note, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Compatibility_note(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Compatibility", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _CompatibilityInfo_EA(ctx context.Context, field graphql.CollectedField, obj *CompatibilityInfo) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_CompatibilityInfo_EA(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Ea, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*Compatibility) + fc.Result = res + return ec.marshalNCompatibility2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibility(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_CompatibilityInfo_EA(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "CompatibilityInfo", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "state": + return ec.fieldContext_Compatibility_state(ctx, field) + case "note": + return ec.fieldContext_Compatibility_note(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Compatibility", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _CompatibilityInfo_EXP(ctx context.Context, field graphql.CollectedField, obj *CompatibilityInfo) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_CompatibilityInfo_EXP(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Exp, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*Compatibility) + fc.Result = res + return ec.marshalNCompatibility2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibility(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_CompatibilityInfo_EXP(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "CompatibilityInfo", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "state": + return ec.fieldContext_Compatibility_state(ctx, field) + case "note": + return ec.fieldContext_Compatibility_note(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Compatibility", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _CompatibilityInfo_Controller(ctx context.Context, field graphql.CollectedField, obj *CompatibilityInfo) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_CompatibilityInfo_Controller(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Controller, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*ControllerCompatibility) + fc.Result = res + return ec.marshalNControllerCompatibility2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐControllerCompatibility(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_CompatibilityInfo_Controller(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "CompatibilityInfo", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "state": + return ec.fieldContext_ControllerCompatibility_state(ctx, field) + case "note": + return ec.fieldContext_ControllerCompatibility_note(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type ControllerCompatibility", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _ControllerCompatibility_state(ctx context.Context, field graphql.CollectedField, obj *ControllerCompatibility) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_ControllerCompatibility_state(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.State, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(ControllerCompatibilityState) + fc.Result = res + return ec.marshalNControllerCompatibilityState2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐControllerCompatibilityState(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_ControllerCompatibility_state(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "ControllerCompatibility", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type ControllerCompatibilityState does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _ControllerCompatibility_note(ctx context.Context, field graphql.CollectedField, obj *ControllerCompatibility) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_ControllerCompatibility_note(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Note, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_ControllerCompatibility_note(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "ControllerCompatibility", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _CreateVersionResponse_auto_approved(ctx context.Context, field graphql.CollectedField, obj *CreateVersionResponse) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_CreateVersionResponse_auto_approved(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.AutoApproved, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_CreateVersionResponse_auto_approved(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "CreateVersionResponse", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _CreateVersionResponse_version(ctx context.Context, field graphql.CollectedField, obj *CreateVersionResponse) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_CreateVersionResponse_version(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Version, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*Version) + fc.Result = res + return ec.marshalOVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_CreateVersionResponse_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "CreateVersionResponse", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Version_id(ctx, field) + case "mod_id": + return ec.fieldContext_Version_mod_id(ctx, field) + case "version": + return ec.fieldContext_Version_version(ctx, field) + case "sml_version": + return ec.fieldContext_Version_sml_version(ctx, field) + case "game_version": + return ec.fieldContext_Version_game_version(ctx, field) + case "required_on_remote": + return ec.fieldContext_Version_required_on_remote(ctx, field) + case "changelog": + return ec.fieldContext_Version_changelog(ctx, field) + case "downloads": + return ec.fieldContext_Version_downloads(ctx, field) + case "stability": + return ec.fieldContext_Version_stability(ctx, field) + case "approved": + return ec.fieldContext_Version_approved(ctx, field) + case "updated_at": + return ec.fieldContext_Version_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Version_created_at(ctx, field) + case "link": + return ec.fieldContext_Version_link(ctx, field) + case "targets": + return ec.fieldContext_Version_targets(ctx, field) + case "metadata": + return ec.fieldContext_Version_metadata(ctx, field) + case "size": + return ec.fieldContext_Version_size(ctx, field) + case "hash": + return ec.fieldContext_Version_hash(ctx, field) + case "mod": + return ec.fieldContext_Version_mod(ctx, field) + case "dependencies": + return ec.fieldContext_Version_dependencies(ctx, field) + case "virustotal_results": + return ec.fieldContext_Version_virustotal_results(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _GetGuides_guides(ctx context.Context, field graphql.CollectedField, obj *GetGuides) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_GetGuides_guides(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.GetGuides().Guides(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*Guide) + fc.Result = res + return ec.marshalNGuide2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuideᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_GetGuides_guides(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "GetGuides", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Guide_id(ctx, field) + case "name": + return ec.fieldContext_Guide_name(ctx, field) + case "short_description": + return ec.fieldContext_Guide_short_description(ctx, field) + case "guide": + return ec.fieldContext_Guide_guide(ctx, field) + case "views": + return ec.fieldContext_Guide_views(ctx, field) + case "user_id": + return ec.fieldContext_Guide_user_id(ctx, field) + case "updated_at": + return ec.fieldContext_Guide_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Guide_created_at(ctx, field) + case "tags": + return ec.fieldContext_Guide_tags(ctx, field) + case "user": + return ec.fieldContext_Guide_user(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Guide", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _GetGuides_count(ctx context.Context, field graphql.CollectedField, obj *GetGuides) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_GetGuides_count(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.GetGuides().Count(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(int) + fc.Result = res + return ec.marshalNInt2int(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_GetGuides_count(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "GetGuides", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Int does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _GetMods_mods(ctx context.Context, field graphql.CollectedField, obj *GetMods) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_GetMods_mods(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.GetMods().Mods(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*Mod) + fc.Result = res + return ec.marshalNMod2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_GetMods_mods(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "GetMods", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Mod_id(ctx, field) + case "name": + return ec.fieldContext_Mod_name(ctx, field) + case "short_description": + return ec.fieldContext_Mod_short_description(ctx, field) + case "full_description": + return ec.fieldContext_Mod_full_description(ctx, field) + case "logo": + return ec.fieldContext_Mod_logo(ctx, field) + case "logo_thumbhash": + return ec.fieldContext_Mod_logo_thumbhash(ctx, field) + case "source_url": + return ec.fieldContext_Mod_source_url(ctx, field) + case "creator_id": + return ec.fieldContext_Mod_creator_id(ctx, field) + case "approved": + return ec.fieldContext_Mod_approved(ctx, field) + case "views": + return ec.fieldContext_Mod_views(ctx, field) + case "downloads": + return ec.fieldContext_Mod_downloads(ctx, field) + case "hotness": + return ec.fieldContext_Mod_hotness(ctx, field) + case "popularity": + return ec.fieldContext_Mod_popularity(ctx, field) + case "updated_at": + return ec.fieldContext_Mod_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Mod_created_at(ctx, field) + case "last_version_date": + return ec.fieldContext_Mod_last_version_date(ctx, field) + case "mod_reference": + return ec.fieldContext_Mod_mod_reference(ctx, field) + case "hidden": + return ec.fieldContext_Mod_hidden(ctx, field) + case "tags": + return ec.fieldContext_Mod_tags(ctx, field) + case "compatibility": + return ec.fieldContext_Mod_compatibility(ctx, field) + case "toggle_network_use": + return ec.fieldContext_Mod_toggle_network_use(ctx, field) + case "network_use_disclosure": + return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "toggle_explicit_content": + return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) + case "authors": + return ec.fieldContext_Mod_authors(ctx, field) + case "version": + return ec.fieldContext_Mod_version(ctx, field) + case "versions": + return ec.fieldContext_Mod_versions(ctx, field) + case "latestVersions": + return ec.fieldContext_Mod_latestVersions(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _GetMods_count(ctx context.Context, field graphql.CollectedField, obj *GetMods) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_GetMods_count(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.GetMods().Count(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(int) + fc.Result = res + return ec.marshalNInt2int(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_GetMods_count(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "GetMods", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Int does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _GetMyMods_mods(ctx context.Context, field graphql.CollectedField, obj *GetMyMods) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_GetMyMods_mods(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.GetMyMods().Mods(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*Mod) + fc.Result = res + return ec.marshalNMod2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_GetMyMods_mods(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "GetMyMods", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Mod_id(ctx, field) + case "name": + return ec.fieldContext_Mod_name(ctx, field) + case "short_description": + return ec.fieldContext_Mod_short_description(ctx, field) + case "full_description": + return ec.fieldContext_Mod_full_description(ctx, field) + case "logo": + return ec.fieldContext_Mod_logo(ctx, field) + case "logo_thumbhash": + return ec.fieldContext_Mod_logo_thumbhash(ctx, field) + case "source_url": + return ec.fieldContext_Mod_source_url(ctx, field) + case "creator_id": + return ec.fieldContext_Mod_creator_id(ctx, field) + case "approved": + return ec.fieldContext_Mod_approved(ctx, field) + case "views": + return ec.fieldContext_Mod_views(ctx, field) + case "downloads": + return ec.fieldContext_Mod_downloads(ctx, field) + case "hotness": + return ec.fieldContext_Mod_hotness(ctx, field) + case "popularity": + return ec.fieldContext_Mod_popularity(ctx, field) + case "updated_at": + return ec.fieldContext_Mod_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Mod_created_at(ctx, field) + case "last_version_date": + return ec.fieldContext_Mod_last_version_date(ctx, field) + case "mod_reference": + return ec.fieldContext_Mod_mod_reference(ctx, field) + case "hidden": + return ec.fieldContext_Mod_hidden(ctx, field) + case "tags": + return ec.fieldContext_Mod_tags(ctx, field) + case "compatibility": + return ec.fieldContext_Mod_compatibility(ctx, field) + case "toggle_network_use": + return ec.fieldContext_Mod_toggle_network_use(ctx, field) + case "network_use_disclosure": + return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "toggle_explicit_content": + return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) + case "authors": + return ec.fieldContext_Mod_authors(ctx, field) + case "version": + return ec.fieldContext_Mod_version(ctx, field) + case "versions": + return ec.fieldContext_Mod_versions(ctx, field) + case "latestVersions": + return ec.fieldContext_Mod_latestVersions(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _GetMyMods_count(ctx context.Context, field graphql.CollectedField, obj *GetMyMods) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_GetMyMods_count(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.GetMyMods().Count(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(int) + fc.Result = res + return ec.marshalNInt2int(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_GetMyMods_count(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "GetMyMods", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Int does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _GetMyVersions_versions(ctx context.Context, field graphql.CollectedField, obj *GetMyVersions) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_GetMyVersions_versions(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.GetMyVersions().Versions(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*Version) + fc.Result = res + return ec.marshalNVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_GetMyVersions_versions(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "GetMyVersions", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Version_id(ctx, field) + case "mod_id": + return ec.fieldContext_Version_mod_id(ctx, field) + case "version": + return ec.fieldContext_Version_version(ctx, field) + case "sml_version": + return ec.fieldContext_Version_sml_version(ctx, field) + case "game_version": + return ec.fieldContext_Version_game_version(ctx, field) + case "required_on_remote": + return ec.fieldContext_Version_required_on_remote(ctx, field) + case "changelog": + return ec.fieldContext_Version_changelog(ctx, field) + case "downloads": + return ec.fieldContext_Version_downloads(ctx, field) + case "stability": + return ec.fieldContext_Version_stability(ctx, field) + case "approved": + return ec.fieldContext_Version_approved(ctx, field) + case "updated_at": + return ec.fieldContext_Version_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Version_created_at(ctx, field) + case "link": + return ec.fieldContext_Version_link(ctx, field) + case "targets": + return ec.fieldContext_Version_targets(ctx, field) + case "metadata": + return ec.fieldContext_Version_metadata(ctx, field) + case "size": + return ec.fieldContext_Version_size(ctx, field) + case "hash": + return ec.fieldContext_Version_hash(ctx, field) + case "mod": + return ec.fieldContext_Version_mod(ctx, field) + case "dependencies": + return ec.fieldContext_Version_dependencies(ctx, field) + case "virustotal_results": + return ec.fieldContext_Version_virustotal_results(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _GetMyVersions_count(ctx context.Context, field graphql.CollectedField, obj *GetMyVersions) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_GetMyVersions_count(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.GetMyVersions().Count(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(int) + fc.Result = res + return ec.marshalNInt2int(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_GetMyVersions_count(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "GetMyVersions", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Int does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _GetSMLVersions_sml_versions(ctx context.Context, field graphql.CollectedField, obj *GetSMLVersions) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_GetSMLVersions_sml_versions(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.GetSMLVersions().SmlVersions(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*SMLVersion) + fc.Result = res + return ec.marshalNSMLVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersionᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_GetSMLVersions_sml_versions(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "GetSMLVersions", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_SMLVersion_id(ctx, field) + case "version": + return ec.fieldContext_SMLVersion_version(ctx, field) + case "satisfactory_version": + return ec.fieldContext_SMLVersion_satisfactory_version(ctx, field) + case "stability": + return ec.fieldContext_SMLVersion_stability(ctx, field) + case "link": + return ec.fieldContext_SMLVersion_link(ctx, field) + case "targets": + return ec.fieldContext_SMLVersion_targets(ctx, field) + case "changelog": + return ec.fieldContext_SMLVersion_changelog(ctx, field) + case "date": + return ec.fieldContext_SMLVersion_date(ctx, field) + case "bootstrap_version": + return ec.fieldContext_SMLVersion_bootstrap_version(ctx, field) + case "engine_version": + return ec.fieldContext_SMLVersion_engine_version(ctx, field) + case "updated_at": + return ec.fieldContext_SMLVersion_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_SMLVersion_created_at(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type SMLVersion", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _GetSMLVersions_count(ctx context.Context, field graphql.CollectedField, obj *GetSMLVersions) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_GetSMLVersions_count(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.GetSMLVersions().Count(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(int) + fc.Result = res + return ec.marshalNInt2int(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_GetSMLVersions_count(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "GetSMLVersions", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Int does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _GetVersions_versions(ctx context.Context, field graphql.CollectedField, obj *GetVersions) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_GetVersions_versions(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.GetVersions().Versions(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*Version) + fc.Result = res + return ec.marshalNVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_GetVersions_versions(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "GetVersions", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Version_id(ctx, field) + case "mod_id": + return ec.fieldContext_Version_mod_id(ctx, field) + case "version": + return ec.fieldContext_Version_version(ctx, field) + case "sml_version": + return ec.fieldContext_Version_sml_version(ctx, field) + case "game_version": + return ec.fieldContext_Version_game_version(ctx, field) + case "required_on_remote": + return ec.fieldContext_Version_required_on_remote(ctx, field) + case "changelog": + return ec.fieldContext_Version_changelog(ctx, field) + case "downloads": + return ec.fieldContext_Version_downloads(ctx, field) + case "stability": + return ec.fieldContext_Version_stability(ctx, field) + case "approved": + return ec.fieldContext_Version_approved(ctx, field) + case "updated_at": + return ec.fieldContext_Version_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Version_created_at(ctx, field) + case "link": + return ec.fieldContext_Version_link(ctx, field) + case "targets": + return ec.fieldContext_Version_targets(ctx, field) + case "metadata": + return ec.fieldContext_Version_metadata(ctx, field) + case "size": + return ec.fieldContext_Version_size(ctx, field) + case "hash": + return ec.fieldContext_Version_hash(ctx, field) + case "mod": + return ec.fieldContext_Version_mod(ctx, field) + case "dependencies": + return ec.fieldContext_Version_dependencies(ctx, field) + case "virustotal_results": + return ec.fieldContext_Version_virustotal_results(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _GetVersions_count(ctx context.Context, field graphql.CollectedField, obj *GetVersions) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_GetVersions_count(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.GetVersions().Count(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(int) + fc.Result = res + return ec.marshalNInt2int(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_GetVersions_count(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "GetVersions", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Int does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Group_id(ctx context.Context, field graphql.CollectedField, obj *Group) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Group_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.ID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Group_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Group", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Group_name(ctx context.Context, field graphql.CollectedField, obj *Group) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Group_name(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Name, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Group_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Group", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Guide_id(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Guide_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.ID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNGuideID2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Guide_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Guide", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type GuideID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Guide_name(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Guide_name(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Name, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Guide_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Guide", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Guide_short_description(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Guide_short_description(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.ShortDescription, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Guide_short_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Guide", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Guide_guide(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Guide_guide(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Guide, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Guide_guide(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Guide", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Guide_views(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Guide_views(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Views, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(int) + fc.Result = res + return ec.marshalNInt2int(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Guide_views(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Guide", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Int does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Guide_user_id(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Guide_user_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.UserID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNUserID2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Guide_user_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Guide", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type UserID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Guide_updated_at(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Guide_updated_at(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.UpdatedAt, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNDate2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Guide_updated_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Guide", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Date does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Guide_created_at(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Guide_created_at(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.CreatedAt, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNDate2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Guide_created_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Guide", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Date does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Guide_tags(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Guide_tags(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Tags, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*Tag) + fc.Result = res + return ec.marshalNTag2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTagᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Guide_tags(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Guide", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Tag_id(ctx, field) + case "name": + return ec.fieldContext_Tag_name(ctx, field) + case "description": + return ec.fieldContext_Tag_description(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Tag", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _Guide_user(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Guide_user(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Guide().User(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*User) + fc.Result = res + return ec.marshalNUser2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Guide_user(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Guide", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_User_id(ctx, field) + case "email": + return ec.fieldContext_User_email(ctx, field) + case "username": + return ec.fieldContext_User_username(ctx, field) + case "avatar": + return ec.fieldContext_User_avatar(ctx, field) + case "avatar_thumbhash": + return ec.fieldContext_User_avatar_thumbhash(ctx, field) + case "created_at": + return ec.fieldContext_User_created_at(ctx, field) + case "github_id": + return ec.fieldContext_User_github_id(ctx, field) + case "google_id": + return ec.fieldContext_User_google_id(ctx, field) + case "facebook_id": + return ec.fieldContext_User_facebook_id(ctx, field) + case "roles": + return ec.fieldContext_User_roles(ctx, field) + case "groups": + return ec.fieldContext_User_groups(ctx, field) + case "mods": + return ec.fieldContext_User_mods(ctx, field) + case "guides": + return ec.fieldContext_User_guides(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type User", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _LatestVersions_alpha(ctx context.Context, field graphql.CollectedField, obj *LatestVersions) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_LatestVersions_alpha(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Alpha, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*Version) + fc.Result = res + return ec.marshalOVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_LatestVersions_alpha(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "LatestVersions", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Version_id(ctx, field) + case "mod_id": + return ec.fieldContext_Version_mod_id(ctx, field) + case "version": + return ec.fieldContext_Version_version(ctx, field) + case "sml_version": + return ec.fieldContext_Version_sml_version(ctx, field) + case "game_version": + return ec.fieldContext_Version_game_version(ctx, field) + case "required_on_remote": + return ec.fieldContext_Version_required_on_remote(ctx, field) + case "changelog": + return ec.fieldContext_Version_changelog(ctx, field) + case "downloads": + return ec.fieldContext_Version_downloads(ctx, field) + case "stability": + return ec.fieldContext_Version_stability(ctx, field) + case "approved": + return ec.fieldContext_Version_approved(ctx, field) + case "updated_at": + return ec.fieldContext_Version_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Version_created_at(ctx, field) + case "link": + return ec.fieldContext_Version_link(ctx, field) + case "targets": + return ec.fieldContext_Version_targets(ctx, field) + case "metadata": + return ec.fieldContext_Version_metadata(ctx, field) + case "size": + return ec.fieldContext_Version_size(ctx, field) + case "hash": + return ec.fieldContext_Version_hash(ctx, field) + case "mod": + return ec.fieldContext_Version_mod(ctx, field) + case "dependencies": + return ec.fieldContext_Version_dependencies(ctx, field) + case "virustotal_results": + return ec.fieldContext_Version_virustotal_results(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _LatestVersions_beta(ctx context.Context, field graphql.CollectedField, obj *LatestVersions) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_LatestVersions_beta(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Beta, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*Version) + fc.Result = res + return ec.marshalOVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_LatestVersions_beta(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "LatestVersions", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Version_id(ctx, field) + case "mod_id": + return ec.fieldContext_Version_mod_id(ctx, field) + case "version": + return ec.fieldContext_Version_version(ctx, field) + case "sml_version": + return ec.fieldContext_Version_sml_version(ctx, field) + case "game_version": + return ec.fieldContext_Version_game_version(ctx, field) + case "required_on_remote": + return ec.fieldContext_Version_required_on_remote(ctx, field) + case "changelog": + return ec.fieldContext_Version_changelog(ctx, field) + case "downloads": + return ec.fieldContext_Version_downloads(ctx, field) + case "stability": + return ec.fieldContext_Version_stability(ctx, field) + case "approved": + return ec.fieldContext_Version_approved(ctx, field) + case "updated_at": + return ec.fieldContext_Version_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Version_created_at(ctx, field) + case "link": + return ec.fieldContext_Version_link(ctx, field) + case "targets": + return ec.fieldContext_Version_targets(ctx, field) + case "metadata": + return ec.fieldContext_Version_metadata(ctx, field) + case "size": + return ec.fieldContext_Version_size(ctx, field) + case "hash": + return ec.fieldContext_Version_hash(ctx, field) + case "mod": + return ec.fieldContext_Version_mod(ctx, field) + case "dependencies": + return ec.fieldContext_Version_dependencies(ctx, field) + case "virustotal_results": + return ec.fieldContext_Version_virustotal_results(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _LatestVersions_release(ctx context.Context, field graphql.CollectedField, obj *LatestVersions) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_LatestVersions_release(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Release, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*Version) + fc.Result = res + return ec.marshalOVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_LatestVersions_release(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "LatestVersions", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Version_id(ctx, field) + case "mod_id": + return ec.fieldContext_Version_mod_id(ctx, field) + case "version": + return ec.fieldContext_Version_version(ctx, field) + case "sml_version": + return ec.fieldContext_Version_sml_version(ctx, field) + case "game_version": + return ec.fieldContext_Version_game_version(ctx, field) + case "required_on_remote": + return ec.fieldContext_Version_required_on_remote(ctx, field) + case "changelog": + return ec.fieldContext_Version_changelog(ctx, field) + case "downloads": + return ec.fieldContext_Version_downloads(ctx, field) + case "stability": + return ec.fieldContext_Version_stability(ctx, field) + case "approved": + return ec.fieldContext_Version_approved(ctx, field) + case "updated_at": + return ec.fieldContext_Version_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Version_created_at(ctx, field) + case "link": + return ec.fieldContext_Version_link(ctx, field) + case "targets": + return ec.fieldContext_Version_targets(ctx, field) + case "metadata": + return ec.fieldContext_Version_metadata(ctx, field) + case "size": + return ec.fieldContext_Version_size(ctx, field) + case "hash": + return ec.fieldContext_Version_hash(ctx, field) + case "mod": + return ec.fieldContext_Version_mod(ctx, field) + case "dependencies": + return ec.fieldContext_Version_dependencies(ctx, field) + case "virustotal_results": + return ec.fieldContext_Version_virustotal_results(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_id(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.ID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNModID2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type ModID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_name(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_name(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Name, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_short_description(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_short_description(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.ShortDescription, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_short_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_full_description(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_full_description(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.FullDescription, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_full_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_logo(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_logo(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Logo, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_logo(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_logo_thumbhash(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_logo_thumbhash(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.LogoThumbhash, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_logo_thumbhash(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_source_url(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_source_url(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.SourceURL, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_source_url(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_creator_id(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_creator_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.CreatorID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNUserID2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_creator_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type UserID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_approved(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_approved(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Approved, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_approved(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_views(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_views(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Views, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(int) + fc.Result = res + return ec.marshalNInt2int(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_views(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Int does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_downloads(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_downloads(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Downloads, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(int) + fc.Result = res + return ec.marshalNInt2int(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_downloads(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Int does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_hotness(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_hotness(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Hotness, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(int) + fc.Result = res + return ec.marshalNInt2int(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_hotness(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Int does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_popularity(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_popularity(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Popularity, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(int) + fc.Result = res + return ec.marshalNInt2int(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_popularity(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Int does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_updated_at(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_updated_at(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.UpdatedAt, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNDate2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_updated_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Date does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_created_at(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_created_at(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.CreatedAt, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNDate2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_created_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Date does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_last_version_date(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_last_version_date(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.LastVersionDate, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalODate2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_last_version_date(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Date does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_mod_reference(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_mod_reference(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.ModReference, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNModReference2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_mod_reference(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type ModReference does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_hidden(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_hidden(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Hidden, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_hidden(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_tags(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_tags(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Tags, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.([]*Tag) + fc.Result = res + return ec.marshalOTag2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTagᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_tags(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Tag_id(ctx, field) + case "name": + return ec.fieldContext_Tag_name(ctx, field) + case "description": + return ec.fieldContext_Tag_description(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Tag", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_compatibility(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_compatibility(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Compatibility, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*CompatibilityInfo) + fc.Result = res + return ec.marshalOCompatibilityInfo2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInfo(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_compatibility(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "EA": + return ec.fieldContext_CompatibilityInfo_EA(ctx, field) + case "EXP": + return ec.fieldContext_CompatibilityInfo_EXP(ctx, field) + case "Controller": + return ec.fieldContext_CompatibilityInfo_Controller(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type CompatibilityInfo", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_toggle_network_use(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_toggle_network_use(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.ToggleNetworkUse, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_toggle_network_use(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_network_use_disclosure(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_network_use_disclosure(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.NetworkUseDisclosure, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_network_use_disclosure(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_toggle_explicit_content(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_toggle_explicit_content(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.ToggleExplicitContent, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_toggle_explicit_content(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_authors(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_authors(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mod().Authors(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*UserMod) + fc.Result = res + return ec.marshalNUserMod2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserModᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_authors(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "user_id": + return ec.fieldContext_UserMod_user_id(ctx, field) + case "mod_id": + return ec.fieldContext_UserMod_mod_id(ctx, field) + case "role": + return ec.fieldContext_UserMod_role(ctx, field) + case "user": + return ec.fieldContext_UserMod_user(ctx, field) + case "mod": + return ec.fieldContext_UserMod_mod(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type UserMod", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_version(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_version(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mod().Version(rctx, obj, fc.Args["version"].(string)) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*Version) + fc.Result = res + return ec.marshalOVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_version(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Version_id(ctx, field) + case "mod_id": + return ec.fieldContext_Version_mod_id(ctx, field) + case "version": + return ec.fieldContext_Version_version(ctx, field) + case "sml_version": + return ec.fieldContext_Version_sml_version(ctx, field) + case "game_version": + return ec.fieldContext_Version_game_version(ctx, field) + case "required_on_remote": + return ec.fieldContext_Version_required_on_remote(ctx, field) + case "changelog": + return ec.fieldContext_Version_changelog(ctx, field) + case "downloads": + return ec.fieldContext_Version_downloads(ctx, field) + case "stability": + return ec.fieldContext_Version_stability(ctx, field) + case "approved": + return ec.fieldContext_Version_approved(ctx, field) + case "updated_at": + return ec.fieldContext_Version_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Version_created_at(ctx, field) + case "link": + return ec.fieldContext_Version_link(ctx, field) + case "targets": + return ec.fieldContext_Version_targets(ctx, field) + case "metadata": + return ec.fieldContext_Version_metadata(ctx, field) + case "size": + return ec.fieldContext_Version_size(ctx, field) + case "hash": + return ec.fieldContext_Version_hash(ctx, field) + case "mod": + return ec.fieldContext_Version_mod(ctx, field) + case "dependencies": + return ec.fieldContext_Version_dependencies(ctx, field) + case "virustotal_results": + return ec.fieldContext_Version_virustotal_results(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mod_version_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mod_versions(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_versions(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mod().Versions(rctx, obj, fc.Args["filter"].(map[string]interface{})) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*Version) + fc.Result = res + return ec.marshalNVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_versions(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Version_id(ctx, field) + case "mod_id": + return ec.fieldContext_Version_mod_id(ctx, field) + case "version": + return ec.fieldContext_Version_version(ctx, field) + case "sml_version": + return ec.fieldContext_Version_sml_version(ctx, field) + case "game_version": + return ec.fieldContext_Version_game_version(ctx, field) + case "required_on_remote": + return ec.fieldContext_Version_required_on_remote(ctx, field) + case "changelog": + return ec.fieldContext_Version_changelog(ctx, field) + case "downloads": + return ec.fieldContext_Version_downloads(ctx, field) + case "stability": + return ec.fieldContext_Version_stability(ctx, field) + case "approved": + return ec.fieldContext_Version_approved(ctx, field) + case "updated_at": + return ec.fieldContext_Version_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Version_created_at(ctx, field) + case "link": + return ec.fieldContext_Version_link(ctx, field) + case "targets": + return ec.fieldContext_Version_targets(ctx, field) + case "metadata": + return ec.fieldContext_Version_metadata(ctx, field) + case "size": + return ec.fieldContext_Version_size(ctx, field) + case "hash": + return ec.fieldContext_Version_hash(ctx, field) + case "mod": + return ec.fieldContext_Version_mod(ctx, field) + case "dependencies": + return ec.fieldContext_Version_dependencies(ctx, field) + case "virustotal_results": + return ec.fieldContext_Version_virustotal_results(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mod_versions_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mod_latestVersions(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_latestVersions(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mod().LatestVersions(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*LatestVersions) + fc.Result = res + return ec.marshalNLatestVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐLatestVersions(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_latestVersions(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "alpha": + return ec.fieldContext_LatestVersions_alpha(ctx, field) + case "beta": + return ec.fieldContext_LatestVersions_beta(ctx, field) + case "release": + return ec.fieldContext_LatestVersions_release(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type LatestVersions", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _ModVersion_id(ctx context.Context, field graphql.CollectedField, obj *ModVersion) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_ModVersion_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.ID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNModID2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_ModVersion_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "ModVersion", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type ModID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _ModVersion_mod_reference(ctx context.Context, field graphql.CollectedField, obj *ModVersion) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_ModVersion_mod_reference(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.ModReference, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNModReference2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_ModVersion_mod_reference(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "ModVersion", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type ModReference does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _ModVersion_versions(ctx context.Context, field graphql.CollectedField, obj *ModVersion) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_ModVersion_versions(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Versions, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*Version) + fc.Result = res + return ec.marshalNVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_ModVersion_versions(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "ModVersion", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Version_id(ctx, field) + case "mod_id": + return ec.fieldContext_Version_mod_id(ctx, field) + case "version": + return ec.fieldContext_Version_version(ctx, field) + case "sml_version": + return ec.fieldContext_Version_sml_version(ctx, field) + case "game_version": + return ec.fieldContext_Version_game_version(ctx, field) + case "required_on_remote": + return ec.fieldContext_Version_required_on_remote(ctx, field) + case "changelog": + return ec.fieldContext_Version_changelog(ctx, field) + case "downloads": + return ec.fieldContext_Version_downloads(ctx, field) + case "stability": + return ec.fieldContext_Version_stability(ctx, field) + case "approved": + return ec.fieldContext_Version_approved(ctx, field) + case "updated_at": + return ec.fieldContext_Version_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Version_created_at(ctx, field) + case "link": + return ec.fieldContext_Version_link(ctx, field) + case "targets": + return ec.fieldContext_Version_targets(ctx, field) + case "metadata": + return ec.fieldContext_Version_metadata(ctx, field) + case "size": + return ec.fieldContext_Version_size(ctx, field) + case "hash": + return ec.fieldContext_Version_hash(ctx, field) + case "mod": + return ec.fieldContext_Version_mod(ctx, field) + case "dependencies": + return ec.fieldContext_Version_dependencies(ctx, field) + case "virustotal_results": + return ec.fieldContext_Version_virustotal_results(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _Mutation_discourseSSO(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_discourseSSO(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().DiscourseSso(rctx, fc.Args["sso"].(string), fc.Args["sig"].(string)) + } + directive1 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive0) + } + + tmp, err := directive1(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*string); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *string`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_discourseSSO(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_discourseSSO_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_createAnnouncement(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_createAnnouncement(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().CreateAnnouncement(rctx, fc.Args["announcement"].(NewAnnouncement)) + } + directive1 := func(ctx context.Context) (interface{}, error) { + if ec.directives.CanEditAnnouncements == nil { + return nil, errors.New("directive canEditAnnouncements is not implemented") + } + return ec.directives.CanEditAnnouncements(ctx, nil, directive0) + } + directive2 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*Announcement); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.Announcement`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*Announcement) + fc.Result = res + return ec.marshalOAnnouncement2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncement(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_createAnnouncement(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Announcement_id(ctx, field) + case "message": + return ec.fieldContext_Announcement_message(ctx, field) + case "importance": + return ec.fieldContext_Announcement_importance(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Announcement", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_createAnnouncement_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_updateAnnouncement(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_updateAnnouncement(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().UpdateAnnouncement(rctx, fc.Args["announcementId"].(string), fc.Args["announcement"].(UpdateAnnouncement)) + } + directive1 := func(ctx context.Context) (interface{}, error) { + if ec.directives.CanEditAnnouncements == nil { + return nil, errors.New("directive canEditAnnouncements is not implemented") + } + return ec.directives.CanEditAnnouncements(ctx, nil, directive0) + } + directive2 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*Announcement); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.Announcement`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*Announcement) + fc.Result = res + return ec.marshalNAnnouncement2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncement(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_updateAnnouncement(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Announcement_id(ctx, field) + case "message": + return ec.fieldContext_Announcement_message(ctx, field) + case "importance": + return ec.fieldContext_Announcement_importance(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Announcement", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_updateAnnouncement_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_deleteAnnouncement(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_deleteAnnouncement(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().DeleteAnnouncement(rctx, fc.Args["announcementId"].(string)) + } + directive1 := func(ctx context.Context) (interface{}, error) { + if ec.directives.CanEditAnnouncements == nil { + return nil, errors.New("directive canEditAnnouncements is not implemented") + } + return ec.directives.CanEditAnnouncements(ctx, nil, directive0) + } + directive2 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(bool); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_deleteAnnouncement(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_deleteAnnouncement_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_updateModCompatibility(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_updateModCompatibility(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().UpdateModCompatibility(rctx, fc.Args["modId"].(string), fc.Args["compatibility"].(CompatibilityInfoInput)) + } + directive1 := func(ctx context.Context) (interface{}, error) { + field, err := ec.unmarshalOString2ᚖstring(ctx, "modId") + if err != nil { + return nil, err + } + if ec.directives.CanEditModCompatibility == nil { + return nil, errors.New("directive canEditModCompatibility is not implemented") + } + return ec.directives.CanEditModCompatibility(ctx, nil, directive0, field) + } + directive2 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(bool); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_updateModCompatibility(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_updateModCompatibility_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_updateMultipleModCompatibilities(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_updateMultipleModCompatibilities(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().UpdateMultipleModCompatibilities(rctx, fc.Args["modIDs"].([]string), fc.Args["compatibility"].(CompatibilityInfoInput)) + } + directive1 := func(ctx context.Context) (interface{}, error) { + if ec.directives.CanEditModCompatibility == nil { + return nil, errors.New("directive canEditModCompatibility is not implemented") + } + return ec.directives.CanEditModCompatibility(ctx, nil, directive0, nil) + } + directive2 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(bool); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_updateMultipleModCompatibilities(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_updateMultipleModCompatibilities_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_createGuide(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_createGuide(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().CreateGuide(rctx, fc.Args["guide"].(NewGuide)) + } + directive1 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive0) + } + + tmp, err := directive1(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*Guide); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.Guide`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*Guide) + fc.Result = res + return ec.marshalOGuide2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuide(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_createGuide(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Guide_id(ctx, field) + case "name": + return ec.fieldContext_Guide_name(ctx, field) + case "short_description": + return ec.fieldContext_Guide_short_description(ctx, field) + case "guide": + return ec.fieldContext_Guide_guide(ctx, field) + case "views": + return ec.fieldContext_Guide_views(ctx, field) + case "user_id": + return ec.fieldContext_Guide_user_id(ctx, field) + case "updated_at": + return ec.fieldContext_Guide_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Guide_created_at(ctx, field) + case "tags": + return ec.fieldContext_Guide_tags(ctx, field) + case "user": + return ec.fieldContext_Guide_user(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Guide", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_createGuide_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_updateGuide(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_updateGuide(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().UpdateGuide(rctx, fc.Args["guideId"].(string), fc.Args["guide"].(UpdateGuide)) + } + directive1 := func(ctx context.Context) (interface{}, error) { + field, err := ec.unmarshalNString2string(ctx, "guideId") + if err != nil { + return nil, err + } + if ec.directives.CanEditGuide == nil { + return nil, errors.New("directive canEditGuide is not implemented") + } + return ec.directives.CanEditGuide(ctx, nil, directive0, field) + } + directive2 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*Guide); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.Guide`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*Guide) + fc.Result = res + return ec.marshalNGuide2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuide(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_updateGuide(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Guide_id(ctx, field) + case "name": + return ec.fieldContext_Guide_name(ctx, field) + case "short_description": + return ec.fieldContext_Guide_short_description(ctx, field) + case "guide": + return ec.fieldContext_Guide_guide(ctx, field) + case "views": + return ec.fieldContext_Guide_views(ctx, field) + case "user_id": + return ec.fieldContext_Guide_user_id(ctx, field) + case "updated_at": + return ec.fieldContext_Guide_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Guide_created_at(ctx, field) + case "tags": + return ec.fieldContext_Guide_tags(ctx, field) + case "user": + return ec.fieldContext_Guide_user(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Guide", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_updateGuide_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_deleteGuide(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_deleteGuide(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().DeleteGuide(rctx, fc.Args["guideId"].(string)) + } + directive1 := func(ctx context.Context) (interface{}, error) { + field, err := ec.unmarshalNString2string(ctx, "guideId") + if err != nil { + return nil, err + } + if ec.directives.CanEditGuide == nil { + return nil, errors.New("directive canEditGuide is not implemented") + } + return ec.directives.CanEditGuide(ctx, nil, directive0, field) + } + directive2 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(bool); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_deleteGuide(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_deleteGuide_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_createMod(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_createMod(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().CreateMod(rctx, fc.Args["mod"].(NewMod)) + } + directive1 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive0) + } + + tmp, err := directive1(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*Mod); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.Mod`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*Mod) + fc.Result = res + return ec.marshalOMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_createMod(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Mod_id(ctx, field) + case "name": + return ec.fieldContext_Mod_name(ctx, field) + case "short_description": + return ec.fieldContext_Mod_short_description(ctx, field) + case "full_description": + return ec.fieldContext_Mod_full_description(ctx, field) + case "logo": + return ec.fieldContext_Mod_logo(ctx, field) + case "logo_thumbhash": + return ec.fieldContext_Mod_logo_thumbhash(ctx, field) + case "source_url": + return ec.fieldContext_Mod_source_url(ctx, field) + case "creator_id": + return ec.fieldContext_Mod_creator_id(ctx, field) + case "approved": + return ec.fieldContext_Mod_approved(ctx, field) + case "views": + return ec.fieldContext_Mod_views(ctx, field) + case "downloads": + return ec.fieldContext_Mod_downloads(ctx, field) + case "hotness": + return ec.fieldContext_Mod_hotness(ctx, field) + case "popularity": + return ec.fieldContext_Mod_popularity(ctx, field) + case "updated_at": + return ec.fieldContext_Mod_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Mod_created_at(ctx, field) + case "last_version_date": + return ec.fieldContext_Mod_last_version_date(ctx, field) + case "mod_reference": + return ec.fieldContext_Mod_mod_reference(ctx, field) + case "hidden": + return ec.fieldContext_Mod_hidden(ctx, field) + case "tags": + return ec.fieldContext_Mod_tags(ctx, field) + case "compatibility": + return ec.fieldContext_Mod_compatibility(ctx, field) + case "toggle_network_use": + return ec.fieldContext_Mod_toggle_network_use(ctx, field) + case "network_use_disclosure": + return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "toggle_explicit_content": + return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) + case "authors": + return ec.fieldContext_Mod_authors(ctx, field) + case "version": + return ec.fieldContext_Mod_version(ctx, field) + case "versions": + return ec.fieldContext_Mod_versions(ctx, field) + case "latestVersions": + return ec.fieldContext_Mod_latestVersions(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_createMod_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_updateMod(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_updateMod(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().UpdateMod(rctx, fc.Args["modId"].(string), fc.Args["mod"].(UpdateMod)) + } + directive1 := func(ctx context.Context) (interface{}, error) { + field, err := ec.unmarshalNString2string(ctx, "modId") + if err != nil { + return nil, err + } + if ec.directives.CanEditMod == nil { + return nil, errors.New("directive canEditMod is not implemented") + } + return ec.directives.CanEditMod(ctx, nil, directive0, field) + } + directive2 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*Mod); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.Mod`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*Mod) + fc.Result = res + return ec.marshalNMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_updateMod(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Mod_id(ctx, field) + case "name": + return ec.fieldContext_Mod_name(ctx, field) + case "short_description": + return ec.fieldContext_Mod_short_description(ctx, field) + case "full_description": + return ec.fieldContext_Mod_full_description(ctx, field) + case "logo": + return ec.fieldContext_Mod_logo(ctx, field) + case "logo_thumbhash": + return ec.fieldContext_Mod_logo_thumbhash(ctx, field) + case "source_url": + return ec.fieldContext_Mod_source_url(ctx, field) + case "creator_id": + return ec.fieldContext_Mod_creator_id(ctx, field) + case "approved": + return ec.fieldContext_Mod_approved(ctx, field) + case "views": + return ec.fieldContext_Mod_views(ctx, field) + case "downloads": + return ec.fieldContext_Mod_downloads(ctx, field) + case "hotness": + return ec.fieldContext_Mod_hotness(ctx, field) + case "popularity": + return ec.fieldContext_Mod_popularity(ctx, field) + case "updated_at": + return ec.fieldContext_Mod_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Mod_created_at(ctx, field) + case "last_version_date": + return ec.fieldContext_Mod_last_version_date(ctx, field) + case "mod_reference": + return ec.fieldContext_Mod_mod_reference(ctx, field) + case "hidden": + return ec.fieldContext_Mod_hidden(ctx, field) + case "tags": + return ec.fieldContext_Mod_tags(ctx, field) + case "compatibility": + return ec.fieldContext_Mod_compatibility(ctx, field) + case "toggle_network_use": + return ec.fieldContext_Mod_toggle_network_use(ctx, field) + case "network_use_disclosure": + return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "toggle_explicit_content": + return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) + case "authors": + return ec.fieldContext_Mod_authors(ctx, field) + case "version": + return ec.fieldContext_Mod_version(ctx, field) + case "versions": + return ec.fieldContext_Mod_versions(ctx, field) + case "latestVersions": + return ec.fieldContext_Mod_latestVersions(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_updateMod_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_deleteMod(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_deleteMod(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().DeleteMod(rctx, fc.Args["modId"].(string)) + } + directive1 := func(ctx context.Context) (interface{}, error) { + field, err := ec.unmarshalNString2string(ctx, "modId") + if err != nil { + return nil, err + } + if ec.directives.CanEditMod == nil { + return nil, errors.New("directive canEditMod is not implemented") + } + return ec.directives.CanEditMod(ctx, nil, directive0, field) + } + directive2 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(bool); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_deleteMod(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_deleteMod_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_approveMod(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_approveMod(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().ApproveMod(rctx, fc.Args["modId"].(string)) + } + directive1 := func(ctx context.Context) (interface{}, error) { + if ec.directives.CanApproveMods == nil { + return nil, errors.New("directive canApproveMods is not implemented") + } + return ec.directives.CanApproveMods(ctx, nil, directive0) + } + directive2 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(bool); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_approveMod(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_approveMod_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_denyMod(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_denyMod(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().DenyMod(rctx, fc.Args["modId"].(string)) + } + directive1 := func(ctx context.Context) (interface{}, error) { + if ec.directives.CanApproveMods == nil { + return nil, errors.New("directive canApproveMods is not implemented") + } + return ec.directives.CanApproveMods(ctx, nil, directive0) + } + directive2 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(bool); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_denyMod(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_denyMod_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_createSatisfactoryVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_createSatisfactoryVersion(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().CreateSatisfactoryVersion(rctx, fc.Args["input"].(NewSatisfactoryVersion)) + } + directive1 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive0) + } + directive2 := func(ctx context.Context) (interface{}, error) { + if ec.directives.CanEditSatisfactoryVersions == nil { + return nil, errors.New("directive canEditSatisfactoryVersions is not implemented") + } + return ec.directives.CanEditSatisfactoryVersions(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*SatisfactoryVersion); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.SatisfactoryVersion`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*SatisfactoryVersion) + fc.Result = res + return ec.marshalNSatisfactoryVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSatisfactoryVersion(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_createSatisfactoryVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_SatisfactoryVersion_id(ctx, field) + case "version": + return ec.fieldContext_SatisfactoryVersion_version(ctx, field) + case "engine_version": + return ec.fieldContext_SatisfactoryVersion_engine_version(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type SatisfactoryVersion", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_createSatisfactoryVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_updateSatisfactoryVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_updateSatisfactoryVersion(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().UpdateSatisfactoryVersion(rctx, fc.Args["id"].(string), fc.Args["input"].(UpdateSatisfactoryVersion)) + } + directive1 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive0) + } + directive2 := func(ctx context.Context) (interface{}, error) { + if ec.directives.CanEditSatisfactoryVersions == nil { + return nil, errors.New("directive canEditSatisfactoryVersions is not implemented") + } + return ec.directives.CanEditSatisfactoryVersions(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*SatisfactoryVersion); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.SatisfactoryVersion`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*SatisfactoryVersion) + fc.Result = res + return ec.marshalNSatisfactoryVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSatisfactoryVersion(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_updateSatisfactoryVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_SatisfactoryVersion_id(ctx, field) + case "version": + return ec.fieldContext_SatisfactoryVersion_version(ctx, field) + case "engine_version": + return ec.fieldContext_SatisfactoryVersion_engine_version(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type SatisfactoryVersion", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_updateSatisfactoryVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_deleteSatisfactoryVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_deleteSatisfactoryVersion(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().DeleteSatisfactoryVersion(rctx, fc.Args["id"].(string)) + } + directive1 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive0) + } + directive2 := func(ctx context.Context) (interface{}, error) { + if ec.directives.CanEditSatisfactoryVersions == nil { + return nil, errors.New("directive canEditSatisfactoryVersions is not implemented") + } + return ec.directives.CanEditSatisfactoryVersions(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(bool); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_deleteSatisfactoryVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_deleteSatisfactoryVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_createTag(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_createTag(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().CreateTag(rctx, fc.Args["tagName"].(string), fc.Args["description"].(string)) + } + directive1 := func(ctx context.Context) (interface{}, error) { + if ec.directives.CanManageTags == nil { + return nil, errors.New("directive canManageTags is not implemented") + } + return ec.directives.CanManageTags(ctx, nil, directive0) + } + directive2 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*Tag); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.Tag`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*Tag) + fc.Result = res + return ec.marshalOTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTag(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_createTag(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Tag_id(ctx, field) + case "name": + return ec.fieldContext_Tag_name(ctx, field) + case "description": + return ec.fieldContext_Tag_description(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Tag", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_createTag_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_createMultipleTags(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_createMultipleTags(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().CreateMultipleTags(rctx, fc.Args["tagNames"].([]*NewTag)) + } + directive1 := func(ctx context.Context) (interface{}, error) { + if ec.directives.CanManageTags == nil { + return nil, errors.New("directive canManageTags is not implemented") + } + return ec.directives.CanManageTags(ctx, nil, directive0) + } + directive2 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.([]*Tag); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be []*github.com/satisfactorymodding/smr-api/generated.Tag`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*Tag) + fc.Result = res + return ec.marshalNTag2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTagᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_createMultipleTags(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Tag_id(ctx, field) + case "name": + return ec.fieldContext_Tag_name(ctx, field) + case "description": + return ec.fieldContext_Tag_description(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Tag", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_createMultipleTags_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_updateTag(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_updateTag(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().UpdateTag(rctx, fc.Args["tagID"].(string), fc.Args["NewName"].(string), fc.Args["description"].(string)) + } + directive1 := func(ctx context.Context) (interface{}, error) { + if ec.directives.CanManageTags == nil { + return nil, errors.New("directive canManageTags is not implemented") + } + return ec.directives.CanManageTags(ctx, nil, directive0) + } + directive2 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*Tag); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.Tag`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*Tag) + fc.Result = res + return ec.marshalNTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTag(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_updateTag(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Tag_id(ctx, field) + case "name": + return ec.fieldContext_Tag_name(ctx, field) + case "description": + return ec.fieldContext_Tag_description(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Tag", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_updateTag_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_deleteTag(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_deleteTag(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().DeleteTag(rctx, fc.Args["tagID"].(string)) + } + directive1 := func(ctx context.Context) (interface{}, error) { + if ec.directives.CanManageTags == nil { + return nil, errors.New("directive canManageTags is not implemented") + } + return ec.directives.CanManageTags(ctx, nil, directive0) + } + directive2 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(bool); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_deleteTag(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_deleteTag_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_updateUser(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_updateUser(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().UpdateUser(rctx, fc.Args["userId"].(string), fc.Args["input"].(UpdateUser)) + } + directive1 := func(ctx context.Context) (interface{}, error) { + field, err := ec.unmarshalNString2string(ctx, "userId") + if err != nil { + return nil, err + } + object, err := ec.unmarshalNBoolean2bool(ctx, false) + if err != nil { + return nil, err + } + if ec.directives.CanEditUser == nil { + return nil, errors.New("directive canEditUser is not implemented") + } + return ec.directives.CanEditUser(ctx, nil, directive0, field, object) + } + directive2 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*User); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.User`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*User) + fc.Result = res + return ec.marshalNUser2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_updateUser(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_User_id(ctx, field) + case "email": + return ec.fieldContext_User_email(ctx, field) + case "username": + return ec.fieldContext_User_username(ctx, field) + case "avatar": + return ec.fieldContext_User_avatar(ctx, field) + case "avatar_thumbhash": + return ec.fieldContext_User_avatar_thumbhash(ctx, field) + case "created_at": + return ec.fieldContext_User_created_at(ctx, field) + case "github_id": + return ec.fieldContext_User_github_id(ctx, field) + case "google_id": + return ec.fieldContext_User_google_id(ctx, field) + case "facebook_id": + return ec.fieldContext_User_facebook_id(ctx, field) + case "roles": + return ec.fieldContext_User_roles(ctx, field) + case "groups": + return ec.fieldContext_User_groups(ctx, field) + case "mods": + return ec.fieldContext_User_mods(ctx, field) + case "guides": + return ec.fieldContext_User_guides(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type User", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_updateUser_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_logout(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_logout(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().Logout(rctx) + } + directive1 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive0) + } + + tmp, err := directive1(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(bool); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_logout(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mutation_oAuthGithub(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_oAuthGithub(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().OAuthGithub(rctx, fc.Args["code"].(string), fc.Args["state"].(string)) + } + directive1 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsNotLoggedIn == nil { + return nil, errors.New("directive isNotLoggedIn is not implemented") + } + return ec.directives.IsNotLoggedIn(ctx, nil, directive0) + } + + tmp, err := directive1(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*UserSession); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.UserSession`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*UserSession) + fc.Result = res + return ec.marshalOUserSession2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserSession(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_oAuthGithub(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "token": + return ec.fieldContext_UserSession_token(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type UserSession", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_oAuthGithub_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_oAuthGoogle(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_oAuthGoogle(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().OAuthGoogle(rctx, fc.Args["code"].(string), fc.Args["state"].(string)) + } + directive1 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsNotLoggedIn == nil { + return nil, errors.New("directive isNotLoggedIn is not implemented") + } + return ec.directives.IsNotLoggedIn(ctx, nil, directive0) + } + + tmp, err := directive1(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*UserSession); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.UserSession`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*UserSession) + fc.Result = res + return ec.marshalOUserSession2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserSession(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_oAuthGoogle(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "token": + return ec.fieldContext_UserSession_token(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type UserSession", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_oAuthGoogle_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_oAuthFacebook(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_oAuthFacebook(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().OAuthFacebook(rctx, fc.Args["code"].(string), fc.Args["state"].(string)) + } + directive1 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsNotLoggedIn == nil { + return nil, errors.New("directive isNotLoggedIn is not implemented") + } + return ec.directives.IsNotLoggedIn(ctx, nil, directive0) + } + + tmp, err := directive1(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*UserSession); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.UserSession`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*UserSession) + fc.Result = res + return ec.marshalOUserSession2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserSession(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_oAuthFacebook(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "token": + return ec.fieldContext_UserSession_token(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type UserSession", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_oAuthFacebook_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_createVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_createVersion(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().CreateVersion(rctx, fc.Args["modId"].(string)) + } + directive1 := func(ctx context.Context) (interface{}, error) { + field, err := ec.unmarshalNString2string(ctx, "modId") + if err != nil { + return nil, err + } + if ec.directives.CanEditMod == nil { + return nil, errors.New("directive canEditMod is not implemented") + } + return ec.directives.CanEditMod(ctx, nil, directive0, field) + } + directive2 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(string); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be string`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNVersionID2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_createVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type VersionID does not have child fields") + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_createVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_uploadVersionPart(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_uploadVersionPart(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().UploadVersionPart(rctx, fc.Args["modId"].(string), fc.Args["versionId"].(string), fc.Args["part"].(int), fc.Args["file"].(graphql.Upload)) + } + directive1 := func(ctx context.Context) (interface{}, error) { + field, err := ec.unmarshalNString2string(ctx, "modId") + if err != nil { + return nil, err + } + if ec.directives.CanEditMod == nil { + return nil, errors.New("directive canEditMod is not implemented") + } + return ec.directives.CanEditMod(ctx, nil, directive0, field) + } + directive2 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(bool); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_uploadVersionPart(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_uploadVersionPart_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_finalizeCreateVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_finalizeCreateVersion(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().FinalizeCreateVersion(rctx, fc.Args["modId"].(string), fc.Args["versionId"].(string), fc.Args["version"].(NewVersion)) + } + directive1 := func(ctx context.Context) (interface{}, error) { + field, err := ec.unmarshalNString2string(ctx, "modId") + if err != nil { + return nil, err + } + if ec.directives.CanEditMod == nil { + return nil, errors.New("directive canEditMod is not implemented") + } + return ec.directives.CanEditMod(ctx, nil, directive0, field) + } + directive2 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(bool); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_finalizeCreateVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_finalizeCreateVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_updateVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_updateVersion(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().UpdateVersion(rctx, fc.Args["versionId"].(string), fc.Args["version"].(UpdateVersion)) + } + directive1 := func(ctx context.Context) (interface{}, error) { + field, err := ec.unmarshalNString2string(ctx, "versionId") + if err != nil { + return nil, err + } + if ec.directives.CanEditVersion == nil { + return nil, errors.New("directive canEditVersion is not implemented") + } + return ec.directives.CanEditVersion(ctx, nil, directive0, field) + } + directive2 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*Version); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.Version`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*Version) + fc.Result = res + return ec.marshalNVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_updateVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Version_id(ctx, field) + case "mod_id": + return ec.fieldContext_Version_mod_id(ctx, field) + case "version": + return ec.fieldContext_Version_version(ctx, field) + case "sml_version": + return ec.fieldContext_Version_sml_version(ctx, field) + case "game_version": + return ec.fieldContext_Version_game_version(ctx, field) + case "required_on_remote": + return ec.fieldContext_Version_required_on_remote(ctx, field) + case "changelog": + return ec.fieldContext_Version_changelog(ctx, field) + case "downloads": + return ec.fieldContext_Version_downloads(ctx, field) + case "stability": + return ec.fieldContext_Version_stability(ctx, field) + case "approved": + return ec.fieldContext_Version_approved(ctx, field) + case "updated_at": + return ec.fieldContext_Version_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Version_created_at(ctx, field) + case "link": + return ec.fieldContext_Version_link(ctx, field) + case "targets": + return ec.fieldContext_Version_targets(ctx, field) + case "metadata": + return ec.fieldContext_Version_metadata(ctx, field) + case "size": + return ec.fieldContext_Version_size(ctx, field) + case "hash": + return ec.fieldContext_Version_hash(ctx, field) + case "mod": + return ec.fieldContext_Version_mod(ctx, field) + case "dependencies": + return ec.fieldContext_Version_dependencies(ctx, field) + case "virustotal_results": + return ec.fieldContext_Version_virustotal_results(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_updateVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_deleteVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_deleteVersion(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().DeleteVersion(rctx, fc.Args["versionId"].(string)) + } + directive1 := func(ctx context.Context) (interface{}, error) { + field, err := ec.unmarshalNString2string(ctx, "versionId") + if err != nil { + return nil, err + } + if ec.directives.CanEditVersion == nil { + return nil, errors.New("directive canEditVersion is not implemented") + } + return ec.directives.CanEditVersion(ctx, nil, directive0, field) + } + directive2 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(bool); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_deleteVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_deleteVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_approveVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_approveVersion(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().ApproveVersion(rctx, fc.Args["versionId"].(string)) + } + directive1 := func(ctx context.Context) (interface{}, error) { + if ec.directives.CanApproveVersions == nil { + return nil, errors.New("directive canApproveVersions is not implemented") + } + return ec.directives.CanApproveVersions(ctx, nil, directive0) + } + directive2 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(bool); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_approveVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_approveVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_denyVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_denyVersion(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().DenyVersion(rctx, fc.Args["versionId"].(string)) + } + directive1 := func(ctx context.Context) (interface{}, error) { + if ec.directives.CanApproveVersions == nil { + return nil, errors.New("directive canApproveVersions is not implemented") + } + return ec.directives.CanApproveVersions(ctx, nil, directive0) + } + directive2 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(bool); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_denyVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_denyVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _OAuthOptions_github(ctx context.Context, field graphql.CollectedField, obj *OAuthOptions) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_OAuthOptions_github(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Github, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_OAuthOptions_github(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "OAuthOptions", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _OAuthOptions_google(ctx context.Context, field graphql.CollectedField, obj *OAuthOptions) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_OAuthOptions_google(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Google, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_OAuthOptions_google(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "OAuthOptions", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _OAuthOptions_facebook(ctx context.Context, field graphql.CollectedField, obj *OAuthOptions) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_OAuthOptions_facebook(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Facebook, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_OAuthOptions_facebook(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "OAuthOptions", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Query_getOAuthOptions(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getOAuthOptions(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetOAuthOptions(rctx, fc.Args["callback_url"].(string)) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*OAuthOptions) + fc.Result = res + return ec.marshalNOAuthOptions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOAuthOptions(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getOAuthOptions(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "github": + return ec.fieldContext_OAuthOptions_github(ctx, field) + case "google": + return ec.fieldContext_OAuthOptions_google(ctx, field) + case "facebook": + return ec.fieldContext_OAuthOptions_facebook(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type OAuthOptions", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getOAuthOptions_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getAnnouncement(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getAnnouncement(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetAnnouncement(rctx, fc.Args["announcementId"].(string)) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*Announcement) + fc.Result = res + return ec.marshalOAnnouncement2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncement(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getAnnouncement(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Announcement_id(ctx, field) + case "message": + return ec.fieldContext_Announcement_message(ctx, field) + case "importance": + return ec.fieldContext_Announcement_importance(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Announcement", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getAnnouncement_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getAnnouncements(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getAnnouncements(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetAnnouncements(rctx) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*Announcement) + fc.Result = res + return ec.marshalNAnnouncement2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getAnnouncements(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Announcement_id(ctx, field) + case "message": + return ec.fieldContext_Announcement_message(ctx, field) + case "importance": + return ec.fieldContext_Announcement_importance(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Announcement", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _Query_getAnnouncementsByImportance(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getAnnouncementsByImportance(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetAnnouncementsByImportance(rctx, fc.Args["importance"].(AnnouncementImportance)) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*Announcement) + fc.Result = res + return ec.marshalNAnnouncement2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getAnnouncementsByImportance(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Announcement_id(ctx, field) + case "message": + return ec.fieldContext_Announcement_message(ctx, field) + case "importance": + return ec.fieldContext_Announcement_importance(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Announcement", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getAnnouncementsByImportance_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getGuide(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getGuide(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetGuide(rctx, fc.Args["guideId"].(string)) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*Guide) + fc.Result = res + return ec.marshalOGuide2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuide(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getGuide(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Guide_id(ctx, field) + case "name": + return ec.fieldContext_Guide_name(ctx, field) + case "short_description": + return ec.fieldContext_Guide_short_description(ctx, field) + case "guide": + return ec.fieldContext_Guide_guide(ctx, field) + case "views": + return ec.fieldContext_Guide_views(ctx, field) + case "user_id": + return ec.fieldContext_Guide_user_id(ctx, field) + case "updated_at": + return ec.fieldContext_Guide_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Guide_created_at(ctx, field) + case "tags": + return ec.fieldContext_Guide_tags(ctx, field) + case "user": + return ec.fieldContext_Guide_user(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Guide", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getGuide_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getGuides(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getGuides(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetGuides(rctx, fc.Args["filter"].(map[string]interface{})) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*GetGuides) + fc.Result = res + return ec.marshalNGetGuides2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetGuides(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getGuides(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "guides": + return ec.fieldContext_GetGuides_guides(ctx, field) + case "count": + return ec.fieldContext_GetGuides_count(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type GetGuides", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getGuides_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getMod(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getMod(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetMod(rctx, fc.Args["modId"].(string)) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*Mod) + fc.Result = res + return ec.marshalOMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getMod(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Mod_id(ctx, field) + case "name": + return ec.fieldContext_Mod_name(ctx, field) + case "short_description": + return ec.fieldContext_Mod_short_description(ctx, field) + case "full_description": + return ec.fieldContext_Mod_full_description(ctx, field) + case "logo": + return ec.fieldContext_Mod_logo(ctx, field) + case "logo_thumbhash": + return ec.fieldContext_Mod_logo_thumbhash(ctx, field) + case "source_url": + return ec.fieldContext_Mod_source_url(ctx, field) + case "creator_id": + return ec.fieldContext_Mod_creator_id(ctx, field) + case "approved": + return ec.fieldContext_Mod_approved(ctx, field) + case "views": + return ec.fieldContext_Mod_views(ctx, field) + case "downloads": + return ec.fieldContext_Mod_downloads(ctx, field) + case "hotness": + return ec.fieldContext_Mod_hotness(ctx, field) + case "popularity": + return ec.fieldContext_Mod_popularity(ctx, field) + case "updated_at": + return ec.fieldContext_Mod_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Mod_created_at(ctx, field) + case "last_version_date": + return ec.fieldContext_Mod_last_version_date(ctx, field) + case "mod_reference": + return ec.fieldContext_Mod_mod_reference(ctx, field) + case "hidden": + return ec.fieldContext_Mod_hidden(ctx, field) + case "tags": + return ec.fieldContext_Mod_tags(ctx, field) + case "compatibility": + return ec.fieldContext_Mod_compatibility(ctx, field) + case "toggle_network_use": + return ec.fieldContext_Mod_toggle_network_use(ctx, field) + case "network_use_disclosure": + return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "toggle_explicit_content": + return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) + case "authors": + return ec.fieldContext_Mod_authors(ctx, field) + case "version": + return ec.fieldContext_Mod_version(ctx, field) + case "versions": + return ec.fieldContext_Mod_versions(ctx, field) + case "latestVersions": + return ec.fieldContext_Mod_latestVersions(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getMod_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getModByReference(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getModByReference(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetModByReference(rctx, fc.Args["modReference"].(string)) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*Mod) + fc.Result = res + return ec.marshalOMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getModByReference(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Mod_id(ctx, field) + case "name": + return ec.fieldContext_Mod_name(ctx, field) + case "short_description": + return ec.fieldContext_Mod_short_description(ctx, field) + case "full_description": + return ec.fieldContext_Mod_full_description(ctx, field) + case "logo": + return ec.fieldContext_Mod_logo(ctx, field) + case "logo_thumbhash": + return ec.fieldContext_Mod_logo_thumbhash(ctx, field) + case "source_url": + return ec.fieldContext_Mod_source_url(ctx, field) + case "creator_id": + return ec.fieldContext_Mod_creator_id(ctx, field) + case "approved": + return ec.fieldContext_Mod_approved(ctx, field) + case "views": + return ec.fieldContext_Mod_views(ctx, field) + case "downloads": + return ec.fieldContext_Mod_downloads(ctx, field) + case "hotness": + return ec.fieldContext_Mod_hotness(ctx, field) + case "popularity": + return ec.fieldContext_Mod_popularity(ctx, field) + case "updated_at": + return ec.fieldContext_Mod_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Mod_created_at(ctx, field) + case "last_version_date": + return ec.fieldContext_Mod_last_version_date(ctx, field) + case "mod_reference": + return ec.fieldContext_Mod_mod_reference(ctx, field) + case "hidden": + return ec.fieldContext_Mod_hidden(ctx, field) + case "tags": + return ec.fieldContext_Mod_tags(ctx, field) + case "compatibility": + return ec.fieldContext_Mod_compatibility(ctx, field) + case "toggle_network_use": + return ec.fieldContext_Mod_toggle_network_use(ctx, field) + case "network_use_disclosure": + return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "toggle_explicit_content": + return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) + case "authors": + return ec.fieldContext_Mod_authors(ctx, field) + case "version": + return ec.fieldContext_Mod_version(ctx, field) + case "versions": + return ec.fieldContext_Mod_versions(ctx, field) + case "latestVersions": + return ec.fieldContext_Mod_latestVersions(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getModByReference_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getModByIdOrReference(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getModByIdOrReference(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetModByIDOrReference(rctx, fc.Args["modIdOrReference"].(string)) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*Mod) + fc.Result = res + return ec.marshalOMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getModByIdOrReference(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Mod_id(ctx, field) + case "name": + return ec.fieldContext_Mod_name(ctx, field) + case "short_description": + return ec.fieldContext_Mod_short_description(ctx, field) + case "full_description": + return ec.fieldContext_Mod_full_description(ctx, field) + case "logo": + return ec.fieldContext_Mod_logo(ctx, field) + case "logo_thumbhash": + return ec.fieldContext_Mod_logo_thumbhash(ctx, field) + case "source_url": + return ec.fieldContext_Mod_source_url(ctx, field) + case "creator_id": + return ec.fieldContext_Mod_creator_id(ctx, field) + case "approved": + return ec.fieldContext_Mod_approved(ctx, field) + case "views": + return ec.fieldContext_Mod_views(ctx, field) + case "downloads": + return ec.fieldContext_Mod_downloads(ctx, field) + case "hotness": + return ec.fieldContext_Mod_hotness(ctx, field) + case "popularity": + return ec.fieldContext_Mod_popularity(ctx, field) + case "updated_at": + return ec.fieldContext_Mod_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Mod_created_at(ctx, field) + case "last_version_date": + return ec.fieldContext_Mod_last_version_date(ctx, field) + case "mod_reference": + return ec.fieldContext_Mod_mod_reference(ctx, field) + case "hidden": + return ec.fieldContext_Mod_hidden(ctx, field) + case "tags": + return ec.fieldContext_Mod_tags(ctx, field) + case "compatibility": + return ec.fieldContext_Mod_compatibility(ctx, field) + case "toggle_network_use": + return ec.fieldContext_Mod_toggle_network_use(ctx, field) + case "network_use_disclosure": + return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "toggle_explicit_content": + return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) + case "authors": + return ec.fieldContext_Mod_authors(ctx, field) + case "version": + return ec.fieldContext_Mod_version(ctx, field) + case "versions": + return ec.fieldContext_Mod_versions(ctx, field) + case "latestVersions": + return ec.fieldContext_Mod_latestVersions(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getModByIdOrReference_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getMods(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getMods(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetMods(rctx, fc.Args["filter"].(map[string]interface{})) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*GetMods) + fc.Result = res + return ec.marshalNGetMods2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMods(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getMods(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "mods": + return ec.fieldContext_GetMods_mods(ctx, field) + case "count": + return ec.fieldContext_GetMods_count(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type GetMods", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getMods_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getUnapprovedMods(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getUnapprovedMods(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetUnapprovedMods(rctx, fc.Args["filter"].(map[string]interface{})) + } + directive1 := func(ctx context.Context) (interface{}, error) { + if ec.directives.CanApproveMods == nil { + return nil, errors.New("directive canApproveMods is not implemented") + } + return ec.directives.CanApproveMods(ctx, nil, directive0) + } + directive2 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*GetMods); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.GetMods`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*GetMods) + fc.Result = res + return ec.marshalNGetMods2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMods(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getUnapprovedMods(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "mods": + return ec.fieldContext_GetMods_mods(ctx, field) + case "count": + return ec.fieldContext_GetMods_count(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type GetMods", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getUnapprovedMods_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getMyMods(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getMyMods(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetMyMods(rctx, fc.Args["filter"].(map[string]interface{})) + } + directive1 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive0) + } + + tmp, err := directive1(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*GetMyMods); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.GetMyMods`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*GetMyMods) + fc.Result = res + return ec.marshalNGetMyMods2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMyMods(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getMyMods(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "mods": + return ec.fieldContext_GetMyMods_mods(ctx, field) + case "count": + return ec.fieldContext_GetMyMods_count(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type GetMyMods", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getMyMods_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getMyUnapprovedMods(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getMyUnapprovedMods(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetMyUnapprovedMods(rctx, fc.Args["filter"].(map[string]interface{})) + } + directive1 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive0) + } + + tmp, err := directive1(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*GetMyMods); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.GetMyMods`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*GetMyMods) + fc.Result = res + return ec.marshalNGetMyMods2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMyMods(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getMyUnapprovedMods(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "mods": + return ec.fieldContext_GetMyMods_mods(ctx, field) + case "count": + return ec.fieldContext_GetMyMods_count(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type GetMyMods", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getMyUnapprovedMods_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_resolveModVersions(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_resolveModVersions(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().ResolveModVersions(rctx, fc.Args["filter"].([]*ModVersionConstraint)) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*ModVersion) + fc.Result = res + return ec.marshalNModVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModVersionᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_resolveModVersions(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_ModVersion_id(ctx, field) + case "mod_reference": + return ec.fieldContext_ModVersion_mod_reference(ctx, field) + case "versions": + return ec.fieldContext_ModVersion_versions(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type ModVersion", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_resolveModVersions_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getModAssetList(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getModAssetList(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetModAssetList(rctx, fc.Args["modReference"].(string)) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]string) + fc.Result = res + return ec.marshalNString2ᚕstringᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getModAssetList(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getModAssetList_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getSatisfactoryVersions(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getSatisfactoryVersions(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetSatisfactoryVersions(rctx) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*SatisfactoryVersion) + fc.Result = res + return ec.marshalNSatisfactoryVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSatisfactoryVersionᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getSatisfactoryVersions(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_SatisfactoryVersion_id(ctx, field) + case "version": + return ec.fieldContext_SatisfactoryVersion_version(ctx, field) + case "engine_version": + return ec.fieldContext_SatisfactoryVersion_engine_version(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type SatisfactoryVersion", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _Query_getSatisfactoryVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getSatisfactoryVersion(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetSatisfactoryVersion(rctx, fc.Args["id"].(string)) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*SatisfactoryVersion) + fc.Result = res + return ec.marshalOSatisfactoryVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSatisfactoryVersion(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getSatisfactoryVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_SatisfactoryVersion_id(ctx, field) + case "version": + return ec.fieldContext_SatisfactoryVersion_version(ctx, field) + case "engine_version": + return ec.fieldContext_SatisfactoryVersion_engine_version(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type SatisfactoryVersion", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getSatisfactoryVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getSMLVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getSMLVersion(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetSMLVersion(rctx, fc.Args["smlVersionID"].(string)) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*SMLVersion) + fc.Result = res + return ec.marshalOSMLVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersion(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getSMLVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_SMLVersion_id(ctx, field) + case "version": + return ec.fieldContext_SMLVersion_version(ctx, field) + case "satisfactory_version": + return ec.fieldContext_SMLVersion_satisfactory_version(ctx, field) + case "stability": + return ec.fieldContext_SMLVersion_stability(ctx, field) + case "link": + return ec.fieldContext_SMLVersion_link(ctx, field) + case "targets": + return ec.fieldContext_SMLVersion_targets(ctx, field) + case "changelog": + return ec.fieldContext_SMLVersion_changelog(ctx, field) + case "date": + return ec.fieldContext_SMLVersion_date(ctx, field) + case "bootstrap_version": + return ec.fieldContext_SMLVersion_bootstrap_version(ctx, field) + case "engine_version": + return ec.fieldContext_SMLVersion_engine_version(ctx, field) + case "updated_at": + return ec.fieldContext_SMLVersion_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_SMLVersion_created_at(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type SMLVersion", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getSMLVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getSMLVersions(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getSMLVersions(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetSMLVersions(rctx, fc.Args["filter"].(map[string]interface{})) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*GetSMLVersions) + fc.Result = res + return ec.marshalNGetSMLVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetSMLVersions(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getSMLVersions(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "sml_versions": + return ec.fieldContext_GetSMLVersions_sml_versions(ctx, field) + case "count": + return ec.fieldContext_GetSMLVersions_count(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type GetSMLVersions", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getSMLVersions_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getTag(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getTag(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetTag(rctx, fc.Args["tagID"].(string)) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*Tag) + fc.Result = res + return ec.marshalOTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTag(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getTag(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Tag_id(ctx, field) + case "name": + return ec.fieldContext_Tag_name(ctx, field) + case "description": + return ec.fieldContext_Tag_description(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Tag", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getTag_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getTags(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getTags(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetTags(rctx, fc.Args["filter"].(*TagFilter)) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*Tag) + fc.Result = res + return ec.marshalNTag2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTagᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getTags(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Tag_id(ctx, field) + case "name": + return ec.fieldContext_Tag_name(ctx, field) + case "description": + return ec.fieldContext_Tag_description(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Tag", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getTags_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getMe(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getMe(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetMe(rctx) + } + directive1 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive0) + } + + tmp, err := directive1(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*User); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.User`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*User) + fc.Result = res + return ec.marshalOUser2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getMe(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_User_id(ctx, field) + case "email": + return ec.fieldContext_User_email(ctx, field) + case "username": + return ec.fieldContext_User_username(ctx, field) + case "avatar": + return ec.fieldContext_User_avatar(ctx, field) + case "avatar_thumbhash": + return ec.fieldContext_User_avatar_thumbhash(ctx, field) + case "created_at": + return ec.fieldContext_User_created_at(ctx, field) + case "github_id": + return ec.fieldContext_User_github_id(ctx, field) + case "google_id": + return ec.fieldContext_User_google_id(ctx, field) + case "facebook_id": + return ec.fieldContext_User_facebook_id(ctx, field) + case "roles": + return ec.fieldContext_User_roles(ctx, field) + case "groups": + return ec.fieldContext_User_groups(ctx, field) + case "mods": + return ec.fieldContext_User_mods(ctx, field) + case "guides": + return ec.fieldContext_User_guides(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type User", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _Query_getUser(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getUser(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetUser(rctx, fc.Args["userId"].(string)) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*User) + fc.Result = res + return ec.marshalOUser2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getUser(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_User_id(ctx, field) + case "email": + return ec.fieldContext_User_email(ctx, field) + case "username": + return ec.fieldContext_User_username(ctx, field) + case "avatar": + return ec.fieldContext_User_avatar(ctx, field) + case "avatar_thumbhash": + return ec.fieldContext_User_avatar_thumbhash(ctx, field) + case "created_at": + return ec.fieldContext_User_created_at(ctx, field) + case "github_id": + return ec.fieldContext_User_github_id(ctx, field) + case "google_id": + return ec.fieldContext_User_google_id(ctx, field) + case "facebook_id": + return ec.fieldContext_User_facebook_id(ctx, field) + case "roles": + return ec.fieldContext_User_roles(ctx, field) + case "groups": + return ec.fieldContext_User_groups(ctx, field) + case "mods": + return ec.fieldContext_User_mods(ctx, field) + case "guides": + return ec.fieldContext_User_guides(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type User", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getUser_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getUsers(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getUsers(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetUsers(rctx, fc.Args["userIds"].([]string)) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*User) + fc.Result = res + return ec.marshalNUser2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getUsers(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_User_id(ctx, field) + case "email": + return ec.fieldContext_User_email(ctx, field) + case "username": + return ec.fieldContext_User_username(ctx, field) + case "avatar": + return ec.fieldContext_User_avatar(ctx, field) + case "avatar_thumbhash": + return ec.fieldContext_User_avatar_thumbhash(ctx, field) + case "created_at": + return ec.fieldContext_User_created_at(ctx, field) + case "github_id": + return ec.fieldContext_User_github_id(ctx, field) + case "google_id": + return ec.fieldContext_User_google_id(ctx, field) + case "facebook_id": + return ec.fieldContext_User_facebook_id(ctx, field) + case "roles": + return ec.fieldContext_User_roles(ctx, field) + case "groups": + return ec.fieldContext_User_groups(ctx, field) + case "mods": + return ec.fieldContext_User_mods(ctx, field) + case "guides": + return ec.fieldContext_User_guides(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type User", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getUsers_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getVersion(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetVersion(rctx, fc.Args["versionId"].(string)) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*Version) + fc.Result = res + return ec.marshalOVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Version_id(ctx, field) + case "mod_id": + return ec.fieldContext_Version_mod_id(ctx, field) + case "version": + return ec.fieldContext_Version_version(ctx, field) + case "sml_version": + return ec.fieldContext_Version_sml_version(ctx, field) + case "game_version": + return ec.fieldContext_Version_game_version(ctx, field) + case "required_on_remote": + return ec.fieldContext_Version_required_on_remote(ctx, field) + case "changelog": + return ec.fieldContext_Version_changelog(ctx, field) + case "downloads": + return ec.fieldContext_Version_downloads(ctx, field) + case "stability": + return ec.fieldContext_Version_stability(ctx, field) + case "approved": + return ec.fieldContext_Version_approved(ctx, field) + case "updated_at": + return ec.fieldContext_Version_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Version_created_at(ctx, field) + case "link": + return ec.fieldContext_Version_link(ctx, field) + case "targets": + return ec.fieldContext_Version_targets(ctx, field) + case "metadata": + return ec.fieldContext_Version_metadata(ctx, field) + case "size": + return ec.fieldContext_Version_size(ctx, field) + case "hash": + return ec.fieldContext_Version_hash(ctx, field) + case "mod": + return ec.fieldContext_Version_mod(ctx, field) + case "dependencies": + return ec.fieldContext_Version_dependencies(ctx, field) + case "virustotal_results": + return ec.fieldContext_Version_virustotal_results(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getVersions(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getVersions(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetVersions(rctx, fc.Args["filter"].(map[string]interface{})) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*GetVersions) + fc.Result = res + return ec.marshalNGetVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetVersions(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getVersions(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "versions": + return ec.fieldContext_GetVersions_versions(ctx, field) + case "count": + return ec.fieldContext_GetVersions_count(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type GetVersions", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getVersions_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getUnapprovedVersions(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getUnapprovedVersions(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetUnapprovedVersions(rctx, fc.Args["filter"].(map[string]interface{})) + } + directive1 := func(ctx context.Context) (interface{}, error) { + if ec.directives.CanApproveVersions == nil { + return nil, errors.New("directive canApproveVersions is not implemented") + } + return ec.directives.CanApproveVersions(ctx, nil, directive0) + } + directive2 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*GetVersions); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.GetVersions`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*GetVersions) + fc.Result = res + return ec.marshalNGetVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetVersions(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getUnapprovedVersions(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "versions": + return ec.fieldContext_GetVersions_versions(ctx, field) + case "count": + return ec.fieldContext_GetVersions_count(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type GetVersions", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getUnapprovedVersions_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_checkVersionUploadState(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_checkVersionUploadState(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().CheckVersionUploadState(rctx, fc.Args["modId"].(string), fc.Args["versionId"].(string)) + } + directive1 := func(ctx context.Context) (interface{}, error) { + field, err := ec.unmarshalNString2string(ctx, "modId") + if err != nil { + return nil, err + } + if ec.directives.CanEditMod == nil { + return nil, errors.New("directive canEditMod is not implemented") + } + return ec.directives.CanEditMod(ctx, nil, directive0, field) + } + directive2 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*CreateVersionResponse); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.CreateVersionResponse`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*CreateVersionResponse) + fc.Result = res + return ec.marshalOCreateVersionResponse2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCreateVersionResponse(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_checkVersionUploadState(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "auto_approved": + return ec.fieldContext_CreateVersionResponse_auto_approved(ctx, field) + case "version": + return ec.fieldContext_CreateVersionResponse_version(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type CreateVersionResponse", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_checkVersionUploadState_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getMyVersions(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getMyVersions(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetMyVersions(rctx, fc.Args["filter"].(map[string]interface{})) + } + directive1 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive0) + } + + tmp, err := directive1(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*GetMyVersions); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.GetMyVersions`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*GetMyVersions) + fc.Result = res + return ec.marshalNGetMyVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMyVersions(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getMyVersions(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "versions": + return ec.fieldContext_GetMyVersions_versions(ctx, field) + case "count": + return ec.fieldContext_GetMyVersions_count(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type GetMyVersions", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getMyVersions_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getMyUnapprovedVersions(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getMyUnapprovedVersions(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetMyUnapprovedVersions(rctx, fc.Args["filter"].(map[string]interface{})) + } + directive1 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive0) + } + + tmp, err := directive1(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*GetMyVersions); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.GetMyVersions`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*GetMyVersions) + fc.Result = res + return ec.marshalNGetMyVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMyVersions(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getMyUnapprovedVersions(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "versions": + return ec.fieldContext_GetMyVersions_versions(ctx, field) + case "count": + return ec.fieldContext_GetMyVersions_count(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type GetMyVersions", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getMyUnapprovedVersions_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query___type(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query___type(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.introspectType(fc.Args["name"].(string)) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*introspection.Type) + fc.Result = res + return ec.marshalO__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query___type(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "kind": + return ec.fieldContext___Type_kind(ctx, field) + case "name": + return ec.fieldContext___Type_name(ctx, field) + case "description": + return ec.fieldContext___Type_description(ctx, field) + case "fields": + return ec.fieldContext___Type_fields(ctx, field) + case "interfaces": + return ec.fieldContext___Type_interfaces(ctx, field) + case "possibleTypes": + return ec.fieldContext___Type_possibleTypes(ctx, field) + case "enumValues": + return ec.fieldContext___Type_enumValues(ctx, field) + case "inputFields": + return ec.fieldContext___Type_inputFields(ctx, field) + case "ofType": + return ec.fieldContext___Type_ofType(ctx, field) + case "specifiedByURL": + return ec.fieldContext___Type_specifiedByURL(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query___type_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query___schema(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query___schema(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.introspectSchema() + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*introspection.Schema) + fc.Result = res + return ec.marshalO__Schema2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐSchema(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query___schema(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "description": + return ec.fieldContext___Schema_description(ctx, field) + case "types": + return ec.fieldContext___Schema_types(ctx, field) + case "queryType": + return ec.fieldContext___Schema_queryType(ctx, field) + case "mutationType": + return ec.fieldContext___Schema_mutationType(ctx, field) + case "subscriptionType": + return ec.fieldContext___Schema_subscriptionType(ctx, field) + case "directives": + return ec.fieldContext___Schema_directives(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type __Schema", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _SMLVersion_id(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SMLVersion_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.ID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNSMLVersionID2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SMLVersion_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SMLVersion", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type SMLVersionID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _SMLVersion_version(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SMLVersion_version(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Version, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SMLVersion_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SMLVersion", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _SMLVersion_satisfactory_version(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SMLVersion_satisfactory_version(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.SatisfactoryVersion, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(int) + fc.Result = res + return ec.marshalNInt2int(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SMLVersion_satisfactory_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SMLVersion", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Int does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _SMLVersion_stability(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SMLVersion_stability(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Stability, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(VersionStabilities) + fc.Result = res + return ec.marshalNVersionStabilities2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionStabilities(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SMLVersion_stability(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SMLVersion", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type VersionStabilities does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _SMLVersion_link(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SMLVersion_link(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.SMLVersion().Link(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SMLVersion_link(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SMLVersion", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _SMLVersion_targets(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SMLVersion_targets(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Targets, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*SMLVersionTarget) + fc.Result = res + return ec.marshalNSMLVersionTarget2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersionTarget(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SMLVersion_targets(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SMLVersion", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "VersionID": + return ec.fieldContext_SMLVersionTarget_VersionID(ctx, field) + case "targetName": + return ec.fieldContext_SMLVersionTarget_targetName(ctx, field) + case "link": + return ec.fieldContext_SMLVersionTarget_link(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type SMLVersionTarget", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _SMLVersion_changelog(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SMLVersion_changelog(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Changelog, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SMLVersion_changelog(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SMLVersion", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _SMLVersion_date(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SMLVersion_date(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Date, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNDate2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SMLVersion_date(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SMLVersion", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Date does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _SMLVersion_bootstrap_version(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SMLVersion_bootstrap_version(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.SMLVersion().BootstrapVersion(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SMLVersion_bootstrap_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SMLVersion", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _SMLVersion_engine_version(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SMLVersion_engine_version(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.SMLVersion().EngineVersion(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SMLVersion_engine_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SMLVersion", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _SMLVersion_updated_at(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SMLVersion_updated_at(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.UpdatedAt, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNDate2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SMLVersion_updated_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SMLVersion", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Date does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _SMLVersion_created_at(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SMLVersion_created_at(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.CreatedAt, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNDate2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SMLVersion_created_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SMLVersion", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Date does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _SMLVersionTarget_VersionID(ctx context.Context, field graphql.CollectedField, obj *SMLVersionTarget) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SMLVersionTarget_VersionID(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.VersionID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNSMLVersionID2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SMLVersionTarget_VersionID(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SMLVersionTarget", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type SMLVersionID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _SMLVersionTarget_targetName(ctx context.Context, field graphql.CollectedField, obj *SMLVersionTarget) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SMLVersionTarget_targetName(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.TargetName, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(TargetName) + fc.Result = res + return ec.marshalNTargetName2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTargetName(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SMLVersionTarget_targetName(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SMLVersionTarget", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type TargetName does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _SMLVersionTarget_link(ctx context.Context, field graphql.CollectedField, obj *SMLVersionTarget) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SMLVersionTarget_link(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.SMLVersionTarget().Link(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SMLVersionTarget_link(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SMLVersionTarget", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _SatisfactoryVersion_id(ctx context.Context, field graphql.CollectedField, obj *SatisfactoryVersion) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SatisfactoryVersion_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.ID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNSatisfactoryVersionID2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SatisfactoryVersion_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SatisfactoryVersion", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type SatisfactoryVersionID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _SatisfactoryVersion_version(ctx context.Context, field graphql.CollectedField, obj *SatisfactoryVersion) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SatisfactoryVersion_version(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Version, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(int) + fc.Result = res + return ec.marshalNInt2int(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SatisfactoryVersion_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SatisfactoryVersion", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Int does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _SatisfactoryVersion_engine_version(ctx context.Context, field graphql.CollectedField, obj *SatisfactoryVersion) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SatisfactoryVersion_engine_version(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.EngineVersion, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SatisfactoryVersion_engine_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SatisfactoryVersion", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Tag_id(ctx context.Context, field graphql.CollectedField, obj *Tag) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Tag_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.ID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNTagID2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Tag_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Tag", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type TagID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Tag_name(ctx context.Context, field graphql.CollectedField, obj *Tag) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Tag_name(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Name, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNTagName2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Tag_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Tag", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type TagName does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Tag_description(ctx context.Context, field graphql.CollectedField, obj *Tag) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Tag_description(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Description, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Tag_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Tag", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _User_id(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_User_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.ID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNUserID2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_User_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "User", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type UserID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _User_email(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_User_email(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Email, nil + } + directive1 := func(ctx context.Context) (interface{}, error) { + field, err := ec.unmarshalNString2string(ctx, "ID") + if err != nil { + return nil, err + } + object, err := ec.unmarshalNBoolean2bool(ctx, true) + if err != nil { + return nil, err + } + if ec.directives.CanEditUser == nil { + return nil, errors.New("directive canEditUser is not implemented") + } + return ec.directives.CanEditUser(ctx, obj, directive0, field, object) + } + directive2 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, obj, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*string); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *string`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_User_email(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "User", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _User_username(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_User_username(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Username, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_User_username(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "User", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _User_avatar(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_User_avatar(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Avatar, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_User_avatar(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "User", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _User_avatar_thumbhash(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_User_avatar_thumbhash(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.AvatarThumbhash, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_User_avatar_thumbhash(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "User", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _User_created_at(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_User_created_at(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.CreatedAt, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNDate2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_User_created_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "User", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Date does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _User_github_id(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_User_github_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.GithubID, nil + } + directive1 := func(ctx context.Context) (interface{}, error) { + field, err := ec.unmarshalNString2string(ctx, "ID") + if err != nil { + return nil, err + } + object, err := ec.unmarshalNBoolean2bool(ctx, true) + if err != nil { + return nil, err + } + if ec.directives.CanEditUser == nil { + return nil, errors.New("directive canEditUser is not implemented") + } + return ec.directives.CanEditUser(ctx, obj, directive0, field, object) + } + directive2 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, obj, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*string); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *string`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_User_github_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "User", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _User_google_id(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_User_google_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.GoogleID, nil + } + directive1 := func(ctx context.Context) (interface{}, error) { + field, err := ec.unmarshalNString2string(ctx, "ID") + if err != nil { + return nil, err + } + object, err := ec.unmarshalNBoolean2bool(ctx, true) + if err != nil { + return nil, err + } + if ec.directives.CanEditUser == nil { + return nil, errors.New("directive canEditUser is not implemented") + } + return ec.directives.CanEditUser(ctx, obj, directive0, field, object) + } + directive2 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, obj, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*string); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *string`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_User_google_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "User", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _User_facebook_id(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_User_facebook_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.FacebookID, nil + } + directive1 := func(ctx context.Context) (interface{}, error) { + field, err := ec.unmarshalNString2string(ctx, "ID") + if err != nil { + return nil, err + } + object, err := ec.unmarshalNBoolean2bool(ctx, true) + if err != nil { + return nil, err + } + if ec.directives.CanEditUser == nil { + return nil, errors.New("directive canEditUser is not implemented") + } + return ec.directives.CanEditUser(ctx, obj, directive0, field, object) + } + directive2 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, obj, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*string); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *string`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_User_facebook_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "User", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _User_roles(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_User_roles(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.User().Roles(rctx, obj) + } + directive1 := func(ctx context.Context) (interface{}, error) { + field, err := ec.unmarshalNString2string(ctx, "ID") + if err != nil { + return nil, err + } + object, err := ec.unmarshalNBoolean2bool(ctx, true) + if err != nil { + return nil, err + } + if ec.directives.CanEditUser == nil { + return nil, errors.New("directive canEditUser is not implemented") + } + return ec.directives.CanEditUser(ctx, obj, directive0, field, object) + } + directive2 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, obj, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*UserRoles); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.UserRoles`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*UserRoles) + fc.Result = res + return ec.marshalNUserRoles2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserRoles(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_User_roles(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "User", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "approveMods": + return ec.fieldContext_UserRoles_approveMods(ctx, field) + case "approveVersions": + return ec.fieldContext_UserRoles_approveVersions(ctx, field) + case "deleteContent": + return ec.fieldContext_UserRoles_deleteContent(ctx, field) + case "editContent": + return ec.fieldContext_UserRoles_editContent(ctx, field) + case "editUsers": + return ec.fieldContext_UserRoles_editUsers(ctx, field) + case "editSatisfactoryVersions": + return ec.fieldContext_UserRoles_editSatisfactoryVersions(ctx, field) + case "editBootstrapVersions": + return ec.fieldContext_UserRoles_editBootstrapVersions(ctx, field) + case "editAnyModCompatibility": + return ec.fieldContext_UserRoles_editAnyModCompatibility(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type UserRoles", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _User_groups(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_User_groups(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + directive0 := func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.User().Groups(rctx, obj) + } + directive1 := func(ctx context.Context) (interface{}, error) { + field, err := ec.unmarshalNString2string(ctx, "ID") + if err != nil { + return nil, err + } + object, err := ec.unmarshalNBoolean2bool(ctx, true) + if err != nil { + return nil, err + } + if ec.directives.CanEditUser == nil { + return nil, errors.New("directive canEditUser is not implemented") + } + return ec.directives.CanEditUser(ctx, obj, directive0, field, object) + } + directive2 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, obj, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.([]*Group); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be []*github.com/satisfactorymodding/smr-api/generated.Group`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*Group) + fc.Result = res + return ec.marshalNGroup2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGroupᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_User_groups(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "User", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Group_id(ctx, field) + case "name": + return ec.fieldContext_Group_name(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Group", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _User_mods(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_User_mods(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.User().Mods(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*UserMod) + fc.Result = res + return ec.marshalNUserMod2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserModᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_User_mods(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "User", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "user_id": + return ec.fieldContext_UserMod_user_id(ctx, field) + case "mod_id": + return ec.fieldContext_UserMod_mod_id(ctx, field) + case "role": + return ec.fieldContext_UserMod_role(ctx, field) + case "user": + return ec.fieldContext_UserMod_user(ctx, field) + case "mod": + return ec.fieldContext_UserMod_mod(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type UserMod", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _User_guides(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_User_guides(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.User().Guides(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*Guide) + fc.Result = res + return ec.marshalNGuide2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuideᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_User_guides(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "User", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Guide_id(ctx, field) + case "name": + return ec.fieldContext_Guide_name(ctx, field) + case "short_description": + return ec.fieldContext_Guide_short_description(ctx, field) + case "guide": + return ec.fieldContext_Guide_guide(ctx, field) + case "views": + return ec.fieldContext_Guide_views(ctx, field) + case "user_id": + return ec.fieldContext_Guide_user_id(ctx, field) + case "updated_at": + return ec.fieldContext_Guide_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Guide_created_at(ctx, field) + case "tags": + return ec.fieldContext_Guide_tags(ctx, field) + case "user": + return ec.fieldContext_Guide_user(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Guide", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _UserMod_user_id(ctx context.Context, field graphql.CollectedField, obj *UserMod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_UserMod_user_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.UserID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNUserID2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_UserMod_user_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "UserMod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type UserID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _UserMod_mod_id(ctx context.Context, field graphql.CollectedField, obj *UserMod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_UserMod_mod_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.ModID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNModID2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_UserMod_mod_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "UserMod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type ModID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _UserMod_role(ctx context.Context, field graphql.CollectedField, obj *UserMod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_UserMod_role(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Role, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_UserMod_role(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "UserMod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _UserMod_user(ctx context.Context, field graphql.CollectedField, obj *UserMod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_UserMod_user(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.UserMod().User(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*User) + fc.Result = res + return ec.marshalNUser2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_UserMod_user(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "UserMod", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_User_id(ctx, field) + case "email": + return ec.fieldContext_User_email(ctx, field) + case "username": + return ec.fieldContext_User_username(ctx, field) + case "avatar": + return ec.fieldContext_User_avatar(ctx, field) + case "avatar_thumbhash": + return ec.fieldContext_User_avatar_thumbhash(ctx, field) + case "created_at": + return ec.fieldContext_User_created_at(ctx, field) + case "github_id": + return ec.fieldContext_User_github_id(ctx, field) + case "google_id": + return ec.fieldContext_User_google_id(ctx, field) + case "facebook_id": + return ec.fieldContext_User_facebook_id(ctx, field) + case "roles": + return ec.fieldContext_User_roles(ctx, field) + case "groups": + return ec.fieldContext_User_groups(ctx, field) + case "mods": + return ec.fieldContext_User_mods(ctx, field) + case "guides": + return ec.fieldContext_User_guides(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type User", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _UserMod_mod(ctx context.Context, field graphql.CollectedField, obj *UserMod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_UserMod_mod(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.UserMod().Mod(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*Mod) + fc.Result = res + return ec.marshalNMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_UserMod_mod(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "UserMod", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Mod_id(ctx, field) + case "name": + return ec.fieldContext_Mod_name(ctx, field) + case "short_description": + return ec.fieldContext_Mod_short_description(ctx, field) + case "full_description": + return ec.fieldContext_Mod_full_description(ctx, field) + case "logo": + return ec.fieldContext_Mod_logo(ctx, field) + case "logo_thumbhash": + return ec.fieldContext_Mod_logo_thumbhash(ctx, field) + case "source_url": + return ec.fieldContext_Mod_source_url(ctx, field) + case "creator_id": + return ec.fieldContext_Mod_creator_id(ctx, field) + case "approved": + return ec.fieldContext_Mod_approved(ctx, field) + case "views": + return ec.fieldContext_Mod_views(ctx, field) + case "downloads": + return ec.fieldContext_Mod_downloads(ctx, field) + case "hotness": + return ec.fieldContext_Mod_hotness(ctx, field) + case "popularity": + return ec.fieldContext_Mod_popularity(ctx, field) + case "updated_at": + return ec.fieldContext_Mod_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Mod_created_at(ctx, field) + case "last_version_date": + return ec.fieldContext_Mod_last_version_date(ctx, field) + case "mod_reference": + return ec.fieldContext_Mod_mod_reference(ctx, field) + case "hidden": + return ec.fieldContext_Mod_hidden(ctx, field) + case "tags": + return ec.fieldContext_Mod_tags(ctx, field) + case "compatibility": + return ec.fieldContext_Mod_compatibility(ctx, field) + case "toggle_network_use": + return ec.fieldContext_Mod_toggle_network_use(ctx, field) + case "network_use_disclosure": + return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "toggle_explicit_content": + return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) + case "authors": + return ec.fieldContext_Mod_authors(ctx, field) + case "version": + return ec.fieldContext_Mod_version(ctx, field) + case "versions": + return ec.fieldContext_Mod_versions(ctx, field) + case "latestVersions": + return ec.fieldContext_Mod_latestVersions(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _UserRoles_approveMods(ctx context.Context, field graphql.CollectedField, obj *UserRoles) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_UserRoles_approveMods(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.ApproveMods, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_UserRoles_approveMods(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "UserRoles", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _UserRoles_approveVersions(ctx context.Context, field graphql.CollectedField, obj *UserRoles) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_UserRoles_approveVersions(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.ApproveVersions, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_UserRoles_approveVersions(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "UserRoles", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _UserRoles_deleteContent(ctx context.Context, field graphql.CollectedField, obj *UserRoles) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_UserRoles_deleteContent(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.DeleteContent, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_UserRoles_deleteContent(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "UserRoles", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _UserRoles_editContent(ctx context.Context, field graphql.CollectedField, obj *UserRoles) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_UserRoles_editContent(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.EditContent, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_UserRoles_editContent(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "UserRoles", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _UserRoles_editUsers(ctx context.Context, field graphql.CollectedField, obj *UserRoles) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_UserRoles_editUsers(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.EditUsers, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_UserRoles_editUsers(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "UserRoles", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _UserRoles_editSatisfactoryVersions(ctx context.Context, field graphql.CollectedField, obj *UserRoles) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_UserRoles_editSatisfactoryVersions(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.EditSatisfactoryVersions, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_UserRoles_editSatisfactoryVersions(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "UserRoles", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _UserRoles_editBootstrapVersions(ctx context.Context, field graphql.CollectedField, obj *UserRoles) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_UserRoles_editBootstrapVersions(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.EditBootstrapVersions, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_UserRoles_editBootstrapVersions(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "UserRoles", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _UserRoles_editAnyModCompatibility(ctx context.Context, field graphql.CollectedField, obj *UserRoles) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_UserRoles_editAnyModCompatibility(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.EditAnyModCompatibility, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_UserRoles_editAnyModCompatibility(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "UserRoles", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _UserSession_token(ctx context.Context, field graphql.CollectedField, obj *UserSession) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_UserSession_token(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Token, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_UserSession_token(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "UserSession", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_id(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.ID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNVersionID2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type VersionID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_mod_id(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_mod_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.ModID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNModID2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_mod_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type ModID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_version(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_version(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Version, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_sml_version(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_sml_version(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Version().SmlVersion(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_sml_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_game_version(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_game_version(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.GameVersion, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_game_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_required_on_remote(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_required_on_remote(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.RequiredOnRemote, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_required_on_remote(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_changelog(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_changelog(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Changelog, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_changelog(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_downloads(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_downloads(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Downloads, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(int) + fc.Result = res + return ec.marshalNInt2int(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_downloads(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Int does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_stability(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_stability(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Stability, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(VersionStabilities) + fc.Result = res + return ec.marshalNVersionStabilities2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionStabilities(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_stability(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type VersionStabilities does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_approved(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_approved(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Approved, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_approved(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_updated_at(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_updated_at(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.UpdatedAt, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNDate2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_updated_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Date does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_created_at(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_created_at(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.CreatedAt, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNDate2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_created_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Date does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_link(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_link(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Version().Link(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_link(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_targets(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_targets(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Targets, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*VersionTarget) + fc.Result = res + return ec.marshalNVersionTarget2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionTarget(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_targets(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "VersionID": + return ec.fieldContext_VersionTarget_VersionID(ctx, field) + case "targetName": + return ec.fieldContext_VersionTarget_targetName(ctx, field) + case "link": + return ec.fieldContext_VersionTarget_link(ctx, field) + case "size": + return ec.fieldContext_VersionTarget_size(ctx, field) + case "hash": + return ec.fieldContext_VersionTarget_hash(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type VersionTarget", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_metadata(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_metadata(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Metadata, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_metadata(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_size(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_size(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Version().Size(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*int) + fc.Result = res + return ec.marshalOInt2ᚖint(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_size(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Int does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_hash(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_hash(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Version().Hash(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_hash(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_mod(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_mod(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Version().Mod(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*Mod) + fc.Result = res + return ec.marshalNMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_mod(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Mod_id(ctx, field) + case "name": + return ec.fieldContext_Mod_name(ctx, field) + case "short_description": + return ec.fieldContext_Mod_short_description(ctx, field) + case "full_description": + return ec.fieldContext_Mod_full_description(ctx, field) + case "logo": + return ec.fieldContext_Mod_logo(ctx, field) + case "logo_thumbhash": + return ec.fieldContext_Mod_logo_thumbhash(ctx, field) + case "source_url": + return ec.fieldContext_Mod_source_url(ctx, field) + case "creator_id": + return ec.fieldContext_Mod_creator_id(ctx, field) + case "approved": + return ec.fieldContext_Mod_approved(ctx, field) + case "views": + return ec.fieldContext_Mod_views(ctx, field) + case "downloads": + return ec.fieldContext_Mod_downloads(ctx, field) + case "hotness": + return ec.fieldContext_Mod_hotness(ctx, field) + case "popularity": + return ec.fieldContext_Mod_popularity(ctx, field) + case "updated_at": + return ec.fieldContext_Mod_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Mod_created_at(ctx, field) + case "last_version_date": + return ec.fieldContext_Mod_last_version_date(ctx, field) + case "mod_reference": + return ec.fieldContext_Mod_mod_reference(ctx, field) + case "hidden": + return ec.fieldContext_Mod_hidden(ctx, field) + case "tags": + return ec.fieldContext_Mod_tags(ctx, field) + case "compatibility": + return ec.fieldContext_Mod_compatibility(ctx, field) + case "toggle_network_use": + return ec.fieldContext_Mod_toggle_network_use(ctx, field) + case "network_use_disclosure": + return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "toggle_explicit_content": + return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) + case "authors": + return ec.fieldContext_Mod_authors(ctx, field) + case "version": + return ec.fieldContext_Mod_version(ctx, field) + case "versions": + return ec.fieldContext_Mod_versions(ctx, field) + case "latestVersions": + return ec.fieldContext_Mod_latestVersions(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_dependencies(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_dependencies(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Version().Dependencies(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*VersionDependency) + fc.Result = res + return ec.marshalNVersionDependency2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionDependencyᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_dependencies(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "version_id": + return ec.fieldContext_VersionDependency_version_id(ctx, field) + case "mod_id": + return ec.fieldContext_VersionDependency_mod_id(ctx, field) + case "condition": + return ec.fieldContext_VersionDependency_condition(ctx, field) + case "optional": + return ec.fieldContext_VersionDependency_optional(ctx, field) + case "mod_reference": + return ec.fieldContext_VersionDependency_mod_reference(ctx, field) + case "mod": + return ec.fieldContext_VersionDependency_mod(ctx, field) + case "version": + return ec.fieldContext_VersionDependency_version(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type VersionDependency", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_virustotal_results(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_virustotal_results(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Version().VirustotalResults(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*VirustotalResult) + fc.Result = res + return ec.marshalNVirustotalResult2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVirustotalResultᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_virustotal_results(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_VirustotalResult_id(ctx, field) + case "hash": + return ec.fieldContext_VirustotalResult_hash(ctx, field) + case "safe": + return ec.fieldContext_VirustotalResult_safe(ctx, field) + case "file_name": + return ec.fieldContext_VirustotalResult_file_name(ctx, field) + case "version_id": + return ec.fieldContext_VirustotalResult_version_id(ctx, field) + case "created_at": + return ec.fieldContext_VirustotalResult_created_at(ctx, field) + case "updated_at": + return ec.fieldContext_VirustotalResult_updated_at(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type VirustotalResult", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _VersionDependency_version_id(ctx context.Context, field graphql.CollectedField, obj *VersionDependency) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_VersionDependency_version_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.VersionID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNVersionID2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_VersionDependency_version_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "VersionDependency", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type VersionID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _VersionDependency_mod_id(ctx context.Context, field graphql.CollectedField, obj *VersionDependency) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_VersionDependency_mod_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.ModID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNModID2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_VersionDependency_mod_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "VersionDependency", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type ModID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _VersionDependency_condition(ctx context.Context, field graphql.CollectedField, obj *VersionDependency) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_VersionDependency_condition(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Condition, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_VersionDependency_condition(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "VersionDependency", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _VersionDependency_optional(ctx context.Context, field graphql.CollectedField, obj *VersionDependency) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_VersionDependency_optional(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Optional, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_VersionDependency_optional(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "VersionDependency", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _VersionDependency_mod_reference(ctx context.Context, field graphql.CollectedField, obj *VersionDependency) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_VersionDependency_mod_reference(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.ModReference, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_VersionDependency_mod_reference(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "VersionDependency", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _VersionDependency_mod(ctx context.Context, field graphql.CollectedField, obj *VersionDependency) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_VersionDependency_mod(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.VersionDependency().Mod(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*Mod) + fc.Result = res + return ec.marshalOMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_VersionDependency_mod(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "VersionDependency", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Mod_id(ctx, field) + case "name": + return ec.fieldContext_Mod_name(ctx, field) + case "short_description": + return ec.fieldContext_Mod_short_description(ctx, field) + case "full_description": + return ec.fieldContext_Mod_full_description(ctx, field) + case "logo": + return ec.fieldContext_Mod_logo(ctx, field) + case "logo_thumbhash": + return ec.fieldContext_Mod_logo_thumbhash(ctx, field) + case "source_url": + return ec.fieldContext_Mod_source_url(ctx, field) + case "creator_id": + return ec.fieldContext_Mod_creator_id(ctx, field) + case "approved": + return ec.fieldContext_Mod_approved(ctx, field) + case "views": + return ec.fieldContext_Mod_views(ctx, field) + case "downloads": + return ec.fieldContext_Mod_downloads(ctx, field) + case "hotness": + return ec.fieldContext_Mod_hotness(ctx, field) + case "popularity": + return ec.fieldContext_Mod_popularity(ctx, field) + case "updated_at": + return ec.fieldContext_Mod_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Mod_created_at(ctx, field) + case "last_version_date": + return ec.fieldContext_Mod_last_version_date(ctx, field) + case "mod_reference": + return ec.fieldContext_Mod_mod_reference(ctx, field) + case "hidden": + return ec.fieldContext_Mod_hidden(ctx, field) + case "tags": + return ec.fieldContext_Mod_tags(ctx, field) + case "compatibility": + return ec.fieldContext_Mod_compatibility(ctx, field) + case "toggle_network_use": + return ec.fieldContext_Mod_toggle_network_use(ctx, field) + case "network_use_disclosure": + return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "toggle_explicit_content": + return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) + case "authors": + return ec.fieldContext_Mod_authors(ctx, field) + case "version": + return ec.fieldContext_Mod_version(ctx, field) + case "versions": + return ec.fieldContext_Mod_versions(ctx, field) + case "latestVersions": + return ec.fieldContext_Mod_latestVersions(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _VersionDependency_version(ctx context.Context, field graphql.CollectedField, obj *VersionDependency) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_VersionDependency_version(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Version, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*Version) + fc.Result = res + return ec.marshalOVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_VersionDependency_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "VersionDependency", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Version_id(ctx, field) + case "mod_id": + return ec.fieldContext_Version_mod_id(ctx, field) + case "version": + return ec.fieldContext_Version_version(ctx, field) + case "sml_version": + return ec.fieldContext_Version_sml_version(ctx, field) + case "game_version": + return ec.fieldContext_Version_game_version(ctx, field) + case "required_on_remote": + return ec.fieldContext_Version_required_on_remote(ctx, field) + case "changelog": + return ec.fieldContext_Version_changelog(ctx, field) + case "downloads": + return ec.fieldContext_Version_downloads(ctx, field) + case "stability": + return ec.fieldContext_Version_stability(ctx, field) + case "approved": + return ec.fieldContext_Version_approved(ctx, field) + case "updated_at": + return ec.fieldContext_Version_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Version_created_at(ctx, field) + case "link": + return ec.fieldContext_Version_link(ctx, field) + case "targets": + return ec.fieldContext_Version_targets(ctx, field) + case "metadata": + return ec.fieldContext_Version_metadata(ctx, field) + case "size": + return ec.fieldContext_Version_size(ctx, field) + case "hash": + return ec.fieldContext_Version_hash(ctx, field) + case "mod": + return ec.fieldContext_Version_mod(ctx, field) + case "dependencies": + return ec.fieldContext_Version_dependencies(ctx, field) + case "virustotal_results": + return ec.fieldContext_Version_virustotal_results(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _VersionTarget_VersionID(ctx context.Context, field graphql.CollectedField, obj *VersionTarget) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_VersionTarget_VersionID(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.VersionID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNVersionID2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_VersionTarget_VersionID(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "VersionTarget", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type VersionID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _VersionTarget_targetName(ctx context.Context, field graphql.CollectedField, obj *VersionTarget) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_VersionTarget_targetName(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.TargetName, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(TargetName) + fc.Result = res + return ec.marshalNTargetName2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTargetName(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_VersionTarget_targetName(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "VersionTarget", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type TargetName does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _VersionTarget_link(ctx context.Context, field graphql.CollectedField, obj *VersionTarget) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_VersionTarget_link(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.VersionTarget().Link(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_VersionTarget_link(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "VersionTarget", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _VersionTarget_size(ctx context.Context, field graphql.CollectedField, obj *VersionTarget) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_VersionTarget_size(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Size, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*int) + fc.Result = res + return ec.marshalOInt2ᚖint(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_VersionTarget_size(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "VersionTarget", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Int does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _VersionTarget_hash(ctx context.Context, field graphql.CollectedField, obj *VersionTarget) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_VersionTarget_hash(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Hash, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_VersionTarget_hash(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "VersionTarget", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _VirustotalResult_id(ctx context.Context, field graphql.CollectedField, obj *VirustotalResult) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_VirustotalResult_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.ID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOVirustotalID2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_VirustotalResult_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "VirustotalResult", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type VirustotalID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _VirustotalResult_hash(ctx context.Context, field graphql.CollectedField, obj *VirustotalResult) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_VirustotalResult_hash(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Hash, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNVirustotalHash2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_VirustotalResult_hash(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "VirustotalResult", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type VirustotalHash does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _VirustotalResult_safe(ctx context.Context, field graphql.CollectedField, obj *VirustotalResult) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_VirustotalResult_safe(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Safe, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_VirustotalResult_safe(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "VirustotalResult", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _VirustotalResult_file_name(ctx context.Context, field graphql.CollectedField, obj *VirustotalResult) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_VirustotalResult_file_name(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.FileName, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_VirustotalResult_file_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "VirustotalResult", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _VirustotalResult_version_id(ctx context.Context, field graphql.CollectedField, obj *VirustotalResult) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_VirustotalResult_version_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.VersionID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_VirustotalResult_version_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "VirustotalResult", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _VirustotalResult_created_at(ctx context.Context, field graphql.CollectedField, obj *VirustotalResult) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_VirustotalResult_created_at(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.CreatedAt, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNDate2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_VirustotalResult_created_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "VirustotalResult", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Date does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _VirustotalResult_updated_at(ctx context.Context, field graphql.CollectedField, obj *VirustotalResult) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_VirustotalResult_updated_at(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.UpdatedAt, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalODate2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_VirustotalResult_updated_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "VirustotalResult", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Date does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___Directive_name(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Directive_name(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Name, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Directive_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Directive", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___Directive_description(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Directive_description(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Description(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Directive_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Directive", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___Directive_locations(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Directive_locations(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Locations, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]string) + fc.Result = res + return ec.marshalN__DirectiveLocation2ᚕstringᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Directive_locations(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Directive", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type __DirectiveLocation does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___Directive_args(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Directive_args(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Args, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]introspection.InputValue) + fc.Result = res + return ec.marshalN__InputValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValueᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Directive_args(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Directive", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "name": + return ec.fieldContext___InputValue_name(ctx, field) + case "description": + return ec.fieldContext___InputValue_description(ctx, field) + case "type": + return ec.fieldContext___InputValue_type(ctx, field) + case "defaultValue": + return ec.fieldContext___InputValue_defaultValue(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type __InputValue", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) ___Directive_isRepeatable(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Directive_isRepeatable(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.IsRepeatable, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Directive_isRepeatable(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Directive", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___EnumValue_name(ctx context.Context, field graphql.CollectedField, obj *introspection.EnumValue) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___EnumValue_name(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Name, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___EnumValue_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__EnumValue", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___EnumValue_description(ctx context.Context, field graphql.CollectedField, obj *introspection.EnumValue) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___EnumValue_description(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Description(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___EnumValue_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__EnumValue", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___EnumValue_isDeprecated(ctx context.Context, field graphql.CollectedField, obj *introspection.EnumValue) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___EnumValue_isDeprecated(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.IsDeprecated(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___EnumValue_isDeprecated(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__EnumValue", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___EnumValue_deprecationReason(ctx context.Context, field graphql.CollectedField, obj *introspection.EnumValue) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___EnumValue_deprecationReason(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.DeprecationReason(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___EnumValue_deprecationReason(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__EnumValue", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___Field_name(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Field_name(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Name, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Field_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Field", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___Field_description(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Field_description(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Description(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Field_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Field", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___Field_args(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Field_args(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Args, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]introspection.InputValue) + fc.Result = res + return ec.marshalN__InputValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValueᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Field_args(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Field", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "name": + return ec.fieldContext___InputValue_name(ctx, field) + case "description": + return ec.fieldContext___InputValue_description(ctx, field) + case "type": + return ec.fieldContext___InputValue_type(ctx, field) + case "defaultValue": + return ec.fieldContext___InputValue_defaultValue(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type __InputValue", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) ___Field_type(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Field_type(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Type, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*introspection.Type) + fc.Result = res + return ec.marshalN__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Field_type(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Field", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "kind": + return ec.fieldContext___Type_kind(ctx, field) + case "name": + return ec.fieldContext___Type_name(ctx, field) + case "description": + return ec.fieldContext___Type_description(ctx, field) + case "fields": + return ec.fieldContext___Type_fields(ctx, field) + case "interfaces": + return ec.fieldContext___Type_interfaces(ctx, field) + case "possibleTypes": + return ec.fieldContext___Type_possibleTypes(ctx, field) + case "enumValues": + return ec.fieldContext___Type_enumValues(ctx, field) + case "inputFields": + return ec.fieldContext___Type_inputFields(ctx, field) + case "ofType": + return ec.fieldContext___Type_ofType(ctx, field) + case "specifiedByURL": + return ec.fieldContext___Type_specifiedByURL(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) ___Field_isDeprecated(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Field_isDeprecated(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.IsDeprecated(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Field_isDeprecated(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Field", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___Field_deprecationReason(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Field_deprecationReason(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.DeprecationReason(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Field_deprecationReason(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Field", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___InputValue_name(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___InputValue_name(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Name, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___InputValue_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__InputValue", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___InputValue_description(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___InputValue_description(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Description(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___InputValue_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__InputValue", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___InputValue_type(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___InputValue_type(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Type, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*introspection.Type) + fc.Result = res + return ec.marshalN__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___InputValue_type(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__InputValue", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "kind": + return ec.fieldContext___Type_kind(ctx, field) + case "name": + return ec.fieldContext___Type_name(ctx, field) + case "description": + return ec.fieldContext___Type_description(ctx, field) + case "fields": + return ec.fieldContext___Type_fields(ctx, field) + case "interfaces": + return ec.fieldContext___Type_interfaces(ctx, field) + case "possibleTypes": + return ec.fieldContext___Type_possibleTypes(ctx, field) + case "enumValues": + return ec.fieldContext___Type_enumValues(ctx, field) + case "inputFields": + return ec.fieldContext___Type_inputFields(ctx, field) + case "ofType": + return ec.fieldContext___Type_ofType(ctx, field) + case "specifiedByURL": + return ec.fieldContext___Type_specifiedByURL(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) ___InputValue_defaultValue(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___InputValue_defaultValue(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.DefaultValue, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___InputValue_defaultValue(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__InputValue", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___Schema_description(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Schema_description(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Description(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Schema_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Schema", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___Schema_types(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Schema_types(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Types(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]introspection.Type) + fc.Result = res + return ec.marshalN__Type2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐTypeᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Schema_types(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Schema", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "kind": + return ec.fieldContext___Type_kind(ctx, field) + case "name": + return ec.fieldContext___Type_name(ctx, field) + case "description": + return ec.fieldContext___Type_description(ctx, field) + case "fields": + return ec.fieldContext___Type_fields(ctx, field) + case "interfaces": + return ec.fieldContext___Type_interfaces(ctx, field) + case "possibleTypes": + return ec.fieldContext___Type_possibleTypes(ctx, field) + case "enumValues": + return ec.fieldContext___Type_enumValues(ctx, field) + case "inputFields": + return ec.fieldContext___Type_inputFields(ctx, field) + case "ofType": + return ec.fieldContext___Type_ofType(ctx, field) + case "specifiedByURL": + return ec.fieldContext___Type_specifiedByURL(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) ___Schema_queryType(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Schema_queryType(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.QueryType(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*introspection.Type) + fc.Result = res + return ec.marshalN__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Schema_queryType(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Schema", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "kind": + return ec.fieldContext___Type_kind(ctx, field) + case "name": + return ec.fieldContext___Type_name(ctx, field) + case "description": + return ec.fieldContext___Type_description(ctx, field) + case "fields": + return ec.fieldContext___Type_fields(ctx, field) + case "interfaces": + return ec.fieldContext___Type_interfaces(ctx, field) + case "possibleTypes": + return ec.fieldContext___Type_possibleTypes(ctx, field) + case "enumValues": + return ec.fieldContext___Type_enumValues(ctx, field) + case "inputFields": + return ec.fieldContext___Type_inputFields(ctx, field) + case "ofType": + return ec.fieldContext___Type_ofType(ctx, field) + case "specifiedByURL": + return ec.fieldContext___Type_specifiedByURL(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) ___Schema_mutationType(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Schema_mutationType(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.MutationType(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*introspection.Type) + fc.Result = res + return ec.marshalO__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Schema_mutationType(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Schema", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "kind": + return ec.fieldContext___Type_kind(ctx, field) + case "name": + return ec.fieldContext___Type_name(ctx, field) + case "description": + return ec.fieldContext___Type_description(ctx, field) + case "fields": + return ec.fieldContext___Type_fields(ctx, field) + case "interfaces": + return ec.fieldContext___Type_interfaces(ctx, field) + case "possibleTypes": + return ec.fieldContext___Type_possibleTypes(ctx, field) + case "enumValues": + return ec.fieldContext___Type_enumValues(ctx, field) + case "inputFields": + return ec.fieldContext___Type_inputFields(ctx, field) + case "ofType": + return ec.fieldContext___Type_ofType(ctx, field) + case "specifiedByURL": + return ec.fieldContext___Type_specifiedByURL(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) ___Schema_subscriptionType(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Schema_subscriptionType(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.SubscriptionType(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*introspection.Type) + fc.Result = res + return ec.marshalO__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Schema_subscriptionType(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Schema", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "kind": + return ec.fieldContext___Type_kind(ctx, field) + case "name": + return ec.fieldContext___Type_name(ctx, field) + case "description": + return ec.fieldContext___Type_description(ctx, field) + case "fields": + return ec.fieldContext___Type_fields(ctx, field) + case "interfaces": + return ec.fieldContext___Type_interfaces(ctx, field) + case "possibleTypes": + return ec.fieldContext___Type_possibleTypes(ctx, field) + case "enumValues": + return ec.fieldContext___Type_enumValues(ctx, field) + case "inputFields": + return ec.fieldContext___Type_inputFields(ctx, field) + case "ofType": + return ec.fieldContext___Type_ofType(ctx, field) + case "specifiedByURL": + return ec.fieldContext___Type_specifiedByURL(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) ___Schema_directives(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Schema_directives(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Directives(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]introspection.Directive) + fc.Result = res + return ec.marshalN__Directive2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐDirectiveᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Schema_directives(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Schema", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "name": + return ec.fieldContext___Directive_name(ctx, field) + case "description": + return ec.fieldContext___Directive_description(ctx, field) + case "locations": + return ec.fieldContext___Directive_locations(ctx, field) + case "args": + return ec.fieldContext___Directive_args(ctx, field) + case "isRepeatable": + return ec.fieldContext___Directive_isRepeatable(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type __Directive", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) ___Type_kind(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Type_kind(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Kind(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalN__TypeKind2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Type_kind(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Type", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type __TypeKind does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___Type_name(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Type_name(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Name(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Type_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Type", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___Type_description(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Type_description(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Description(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Type_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Type", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___Type_fields(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Type_fields(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Fields(fc.Args["includeDeprecated"].(bool)), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.([]introspection.Field) + fc.Result = res + return ec.marshalO__Field2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐFieldᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Type_fields(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Type", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "name": + return ec.fieldContext___Field_name(ctx, field) + case "description": + return ec.fieldContext___Field_description(ctx, field) + case "args": + return ec.fieldContext___Field_args(ctx, field) + case "type": + return ec.fieldContext___Field_type(ctx, field) + case "isDeprecated": + return ec.fieldContext___Field_isDeprecated(ctx, field) + case "deprecationReason": + return ec.fieldContext___Field_deprecationReason(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type __Field", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field___Type_fields_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) ___Type_interfaces(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Type_interfaces(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.Interfaces(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.([]introspection.Type) + fc.Result = res + return ec.marshalO__Type2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐTypeᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Type_interfaces(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Type", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "kind": + return ec.fieldContext___Type_kind(ctx, field) + case "name": + return ec.fieldContext___Type_name(ctx, field) + case "description": + return ec.fieldContext___Type_description(ctx, field) + case "fields": + return ec.fieldContext___Type_fields(ctx, field) + case "interfaces": + return ec.fieldContext___Type_interfaces(ctx, field) + case "possibleTypes": + return ec.fieldContext___Type_possibleTypes(ctx, field) + case "enumValues": + return ec.fieldContext___Type_enumValues(ctx, field) + case "inputFields": + return ec.fieldContext___Type_inputFields(ctx, field) + case "ofType": + return ec.fieldContext___Type_ofType(ctx, field) + case "specifiedByURL": + return ec.fieldContext___Type_specifiedByURL(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) ___Type_possibleTypes(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Type_possibleTypes(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.PossibleTypes(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.([]introspection.Type) + fc.Result = res + return ec.marshalO__Type2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐTypeᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Type_possibleTypes(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Type", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "kind": + return ec.fieldContext___Type_kind(ctx, field) + case "name": + return ec.fieldContext___Type_name(ctx, field) + case "description": + return ec.fieldContext___Type_description(ctx, field) + case "fields": + return ec.fieldContext___Type_fields(ctx, field) + case "interfaces": + return ec.fieldContext___Type_interfaces(ctx, field) + case "possibleTypes": + return ec.fieldContext___Type_possibleTypes(ctx, field) + case "enumValues": + return ec.fieldContext___Type_enumValues(ctx, field) + case "inputFields": + return ec.fieldContext___Type_inputFields(ctx, field) + case "ofType": + return ec.fieldContext___Type_ofType(ctx, field) + case "specifiedByURL": + return ec.fieldContext___Type_specifiedByURL(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) ___Type_enumValues(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Type_enumValues(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.EnumValues(fc.Args["includeDeprecated"].(bool)), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.([]introspection.EnumValue) + fc.Result = res + return ec.marshalO__EnumValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐEnumValueᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Type_enumValues(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Type", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "name": + return ec.fieldContext___EnumValue_name(ctx, field) + case "description": + return ec.fieldContext___EnumValue_description(ctx, field) + case "isDeprecated": + return ec.fieldContext___EnumValue_isDeprecated(ctx, field) + case "deprecationReason": + return ec.fieldContext___EnumValue_deprecationReason(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type __EnumValue", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field___Type_enumValues_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) ___Type_inputFields(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Type_inputFields(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.InputFields(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.([]introspection.InputValue) + fc.Result = res + return ec.marshalO__InputValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValueᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Type_inputFields(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Type", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "name": + return ec.fieldContext___InputValue_name(ctx, field) + case "description": + return ec.fieldContext___InputValue_description(ctx, field) + case "type": + return ec.fieldContext___InputValue_type(ctx, field) + case "defaultValue": + return ec.fieldContext___InputValue_defaultValue(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type __InputValue", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) ___Type_ofType(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Type_ofType(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.OfType(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*introspection.Type) + fc.Result = res + return ec.marshalO__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Type_ofType(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Type", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "kind": + return ec.fieldContext___Type_kind(ctx, field) + case "name": + return ec.fieldContext___Type_name(ctx, field) + case "description": + return ec.fieldContext___Type_description(ctx, field) + case "fields": + return ec.fieldContext___Type_fields(ctx, field) + case "interfaces": + return ec.fieldContext___Type_interfaces(ctx, field) + case "possibleTypes": + return ec.fieldContext___Type_possibleTypes(ctx, field) + case "enumValues": + return ec.fieldContext___Type_enumValues(ctx, field) + case "inputFields": + return ec.fieldContext___Type_inputFields(ctx, field) + case "ofType": + return ec.fieldContext___Type_ofType(ctx, field) + case "specifiedByURL": + return ec.fieldContext___Type_specifiedByURL(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) ___Type_specifiedByURL(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Type_specifiedByURL(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + ctx = rctx // use context from middleware stack in children + return obj.SpecifiedByURL(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Type_specifiedByURL(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Type", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +// endregion **************************** field.gotpl ***************************** + +// region **************************** input.gotpl ***************************** + +func (ec *executionContext) unmarshalInputCompatibilityInfoInput(ctx context.Context, obj interface{}) (CompatibilityInfoInput, error) { + var it CompatibilityInfoInput + asMap := map[string]interface{}{} + for k, v := range obj.(map[string]interface{}) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"EA", "EXP", "Controller"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "EA": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("EA")) + data, err := ec.unmarshalNCompatibilityInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInput(ctx, v) + if err != nil { + return it, err + } + it.Ea = data + case "EXP": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("EXP")) + data, err := ec.unmarshalNCompatibilityInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInput(ctx, v) + if err != nil { + return it, err + } + it.Exp = data + case "Controller": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("Controller")) + data, err := ec.unmarshalNControllerCompatibilityInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐControllerCompatibilityInput(ctx, v) + if err != nil { + return it, err + } + it.Controller = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputCompatibilityInput(ctx context.Context, obj interface{}) (CompatibilityInput, error) { + var it CompatibilityInput + asMap := map[string]interface{}{} + for k, v := range obj.(map[string]interface{}) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"state", "note"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "state": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("state")) + data, err := ec.unmarshalNCompatibilityState2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityState(ctx, v) + if err != nil { + return it, err + } + it.State = data + case "note": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("note")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.Note = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputControllerCompatibilityInput(ctx context.Context, obj interface{}) (ControllerCompatibilityInput, error) { + var it ControllerCompatibilityInput + asMap := map[string]interface{}{} + for k, v := range obj.(map[string]interface{}) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"state", "note"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "state": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("state")) + data, err := ec.unmarshalNControllerCompatibilityState2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐControllerCompatibilityState(ctx, v) + if err != nil { + return it, err + } + it.State = data + case "note": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("note")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.Note = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputGuideFilter(ctx context.Context, obj interface{}) (map[string]interface{}, error) { + it := make(map[string]interface{}, len(obj.(map[string]interface{}))) + asMap := map[string]interface{}{} + for k, v := range obj.(map[string]interface{}) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"limit", "offset", "order_by", "order", "search", "ids", "tagIDs"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "limit": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("limit")) + data, err := ec.unmarshalOInt2ᚖint(ctx, v) + if err != nil { + return it, err + } + it["limit"] = data + case "offset": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("offset")) + data, err := ec.unmarshalOInt2ᚖint(ctx, v) + if err != nil { + return it, err + } + it["offset"] = data + case "order_by": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("order_by")) + data, err := ec.unmarshalOGuideFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuideFields(ctx, v) + if err != nil { + return it, err + } + it["order_by"] = data + case "order": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("order")) + data, err := ec.unmarshalOOrder2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOrder(ctx, v) + if err != nil { + return it, err + } + it["order"] = data + case "search": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("search")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it["search"] = data + case "ids": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("ids")) + data, err := ec.unmarshalOString2ᚕstringᚄ(ctx, v) + if err != nil { + return it, err + } + it["ids"] = data + case "tagIDs": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("tagIDs")) + data, err := ec.unmarshalOTagID2ᚕstringᚄ(ctx, v) + if err != nil { + return it, err + } + it["tagIDs"] = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputModFilter(ctx context.Context, obj interface{}) (map[string]interface{}, error) { + it := make(map[string]interface{}, len(obj.(map[string]interface{}))) + asMap := map[string]interface{}{} + for k, v := range obj.(map[string]interface{}) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"limit", "offset", "order_by", "order", "search", "ids", "references", "hidden", "tagIDs"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "limit": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("limit")) + data, err := ec.unmarshalOInt2ᚖint(ctx, v) + if err != nil { + return it, err + } + it["limit"] = data + case "offset": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("offset")) + data, err := ec.unmarshalOInt2ᚖint(ctx, v) + if err != nil { + return it, err + } + it["offset"] = data + case "order_by": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("order_by")) + data, err := ec.unmarshalOModFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModFields(ctx, v) + if err != nil { + return it, err + } + it["order_by"] = data + case "order": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("order")) + data, err := ec.unmarshalOOrder2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOrder(ctx, v) + if err != nil { + return it, err + } + it["order"] = data + case "search": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("search")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it["search"] = data + case "ids": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("ids")) + data, err := ec.unmarshalOString2ᚕstringᚄ(ctx, v) + if err != nil { + return it, err + } + it["ids"] = data + case "references": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("references")) + data, err := ec.unmarshalOString2ᚕstringᚄ(ctx, v) + if err != nil { + return it, err + } + it["references"] = data + case "hidden": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("hidden")) + data, err := ec.unmarshalOBoolean2ᚖbool(ctx, v) + if err != nil { + return it, err + } + it["hidden"] = data + case "tagIDs": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("tagIDs")) + data, err := ec.unmarshalOTagID2ᚕstringᚄ(ctx, v) + if err != nil { + return it, err + } + it["tagIDs"] = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputModVersionConstraint(ctx context.Context, obj interface{}) (ModVersionConstraint, error) { + var it ModVersionConstraint + asMap := map[string]interface{}{} + for k, v := range obj.(map[string]interface{}) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"modIdOrReference", "version"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "modIdOrReference": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("modIdOrReference")) + data, err := ec.unmarshalNString2string(ctx, v) + if err != nil { + return it, err + } + it.ModIDOrReference = data + case "version": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("version")) + data, err := ec.unmarshalNString2string(ctx, v) + if err != nil { + return it, err + } + it.Version = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputNewAnnouncement(ctx context.Context, obj interface{}) (NewAnnouncement, error) { + var it NewAnnouncement + asMap := map[string]interface{}{} + for k, v := range obj.(map[string]interface{}) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"message", "importance"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "message": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("message")) + data, err := ec.unmarshalNString2string(ctx, v) + if err != nil { + return it, err + } + it.Message = data + case "importance": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("importance")) + data, err := ec.unmarshalNAnnouncementImportance2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementImportance(ctx, v) + if err != nil { + return it, err + } + it.Importance = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputNewGuide(ctx context.Context, obj interface{}) (NewGuide, error) { + var it NewGuide + asMap := map[string]interface{}{} + for k, v := range obj.(map[string]interface{}) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"name", "short_description", "guide", "tagIDs"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "name": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("name")) + data, err := ec.unmarshalNString2string(ctx, v) + if err != nil { + return it, err + } + it.Name = data + case "short_description": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("short_description")) + data, err := ec.unmarshalNString2string(ctx, v) + if err != nil { + return it, err + } + it.ShortDescription = data + case "guide": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("guide")) + data, err := ec.unmarshalNString2string(ctx, v) + if err != nil { + return it, err + } + it.Guide = data + case "tagIDs": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("tagIDs")) + data, err := ec.unmarshalOTagID2ᚕstringᚄ(ctx, v) + if err != nil { + return it, err + } + it.TagIDs = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputNewMod(ctx context.Context, obj interface{}) (NewMod, error) { + var it NewMod + asMap := map[string]interface{}{} + for k, v := range obj.(map[string]interface{}) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"name", "short_description", "full_description", "logo", "source_url", "mod_reference", "hidden", "tagIDs", "toggle_network_use", "toggle_explicit_content"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "name": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("name")) + data, err := ec.unmarshalNString2string(ctx, v) + if err != nil { + return it, err + } + it.Name = data + case "short_description": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("short_description")) + data, err := ec.unmarshalNString2string(ctx, v) + if err != nil { + return it, err + } + it.ShortDescription = data + case "full_description": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("full_description")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.FullDescription = data + case "logo": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("logo")) + data, err := ec.unmarshalOUpload2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚐUpload(ctx, v) + if err != nil { + return it, err + } + it.Logo = data + case "source_url": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("source_url")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.SourceURL = data + case "mod_reference": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("mod_reference")) + data, err := ec.unmarshalNModReference2string(ctx, v) + if err != nil { + return it, err + } + it.ModReference = data + case "hidden": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("hidden")) + data, err := ec.unmarshalOBoolean2ᚖbool(ctx, v) + if err != nil { + return it, err + } + it.Hidden = data + case "tagIDs": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("tagIDs")) + data, err := ec.unmarshalOTagID2ᚕstringᚄ(ctx, v) + if err != nil { + return it, err + } + it.TagIDs = data + case "toggle_network_use": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("toggle_network_use")) + data, err := ec.unmarshalOBoolean2ᚖbool(ctx, v) + if err != nil { + return it, err + } + it.ToggleNetworkUse = data + case "toggle_explicit_content": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("toggle_explicit_content")) + data, err := ec.unmarshalOBoolean2ᚖbool(ctx, v) + if err != nil { + return it, err + } + it.ToggleExplicitContent = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputNewSatisfactoryVersion(ctx context.Context, obj interface{}) (NewSatisfactoryVersion, error) { + var it NewSatisfactoryVersion + asMap := map[string]interface{}{} + for k, v := range obj.(map[string]interface{}) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"version", "engine_version"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "version": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("version")) + data, err := ec.unmarshalNInt2int(ctx, v) + if err != nil { + return it, err + } + it.Version = data + case "engine_version": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("engine_version")) + data, err := ec.unmarshalNString2string(ctx, v) + if err != nil { + return it, err + } + it.EngineVersion = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputNewTag(ctx context.Context, obj interface{}) (NewTag, error) { + var it NewTag + asMap := map[string]interface{}{} + for k, v := range obj.(map[string]interface{}) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"name", "description"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "name": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("name")) + data, err := ec.unmarshalNTagName2string(ctx, v) + if err != nil { + return it, err + } + it.Name = data + case "description": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("description")) + data, err := ec.unmarshalNString2string(ctx, v) + if err != nil { + return it, err + } + it.Description = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputNewVersion(ctx context.Context, obj interface{}) (NewVersion, error) { + var it NewVersion + asMap := map[string]interface{}{} + for k, v := range obj.(map[string]interface{}) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"changelog", "stability"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "changelog": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("changelog")) + data, err := ec.unmarshalNString2string(ctx, v) + if err != nil { + return it, err + } + it.Changelog = data + case "stability": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("stability")) + data, err := ec.unmarshalNVersionStabilities2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionStabilities(ctx, v) + if err != nil { + return it, err + } + it.Stability = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputSMLVersionFilter(ctx context.Context, obj interface{}) (map[string]interface{}, error) { + it := make(map[string]interface{}, len(obj.(map[string]interface{}))) + asMap := map[string]interface{}{} + for k, v := range obj.(map[string]interface{}) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"limit", "offset", "order_by", "order", "search", "ids"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "limit": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("limit")) + data, err := ec.unmarshalOInt2ᚖint(ctx, v) + if err != nil { + return it, err + } + it["limit"] = data + case "offset": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("offset")) + data, err := ec.unmarshalOInt2ᚖint(ctx, v) + if err != nil { + return it, err + } + it["offset"] = data + case "order_by": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("order_by")) + data, err := ec.unmarshalOSMLVersionFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersionFields(ctx, v) + if err != nil { + return it, err + } + it["order_by"] = data + case "order": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("order")) + data, err := ec.unmarshalOOrder2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOrder(ctx, v) + if err != nil { + return it, err + } + it["order"] = data + case "search": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("search")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it["search"] = data + case "ids": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("ids")) + data, err := ec.unmarshalOString2ᚕstringᚄ(ctx, v) + if err != nil { + return it, err + } + it["ids"] = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputTagFilter(ctx context.Context, obj interface{}) (TagFilter, error) { + var it TagFilter + asMap := map[string]interface{}{} + for k, v := range obj.(map[string]interface{}) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"limit", "offset", "order", "search", "ids"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "limit": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("limit")) + data, err := ec.unmarshalOInt2ᚖint(ctx, v) + if err != nil { + return it, err + } + it.Limit = data + case "offset": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("offset")) + data, err := ec.unmarshalOInt2ᚖint(ctx, v) + if err != nil { + return it, err + } + it.Offset = data + case "order": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("order")) + data, err := ec.unmarshalOOrder2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOrder(ctx, v) + if err != nil { + return it, err + } + it.Order = data + case "search": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("search")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.Search = data + case "ids": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("ids")) + data, err := ec.unmarshalOTagID2ᚕstringᚄ(ctx, v) + if err != nil { + return it, err + } + it.Ids = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputUpdateAnnouncement(ctx context.Context, obj interface{}) (UpdateAnnouncement, error) { + var it UpdateAnnouncement + asMap := map[string]interface{}{} + for k, v := range obj.(map[string]interface{}) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"message", "importance"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "message": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("message")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.Message = data + case "importance": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("importance")) + data, err := ec.unmarshalOAnnouncementImportance2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementImportance(ctx, v) + if err != nil { + return it, err + } + it.Importance = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputUpdateGuide(ctx context.Context, obj interface{}) (UpdateGuide, error) { + var it UpdateGuide + asMap := map[string]interface{}{} + for k, v := range obj.(map[string]interface{}) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"name", "short_description", "guide", "tagIDs"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "name": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("name")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.Name = data + case "short_description": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("short_description")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.ShortDescription = data + case "guide": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("guide")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.Guide = data + case "tagIDs": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("tagIDs")) + data, err := ec.unmarshalOTagID2ᚕstringᚄ(ctx, v) + if err != nil { + return it, err + } + it.TagIDs = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputUpdateMod(ctx context.Context, obj interface{}) (UpdateMod, error) { + var it UpdateMod + asMap := map[string]interface{}{} + for k, v := range obj.(map[string]interface{}) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"name", "short_description", "full_description", "logo", "source_url", "mod_reference", "authors", "hidden", "tagIDs", "compatibility", "toggle_network_use", "network_use_disclosure", "toggle_explicit_content"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "name": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("name")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.Name = data + case "short_description": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("short_description")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.ShortDescription = data + case "full_description": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("full_description")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.FullDescription = data + case "logo": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("logo")) + data, err := ec.unmarshalOUpload2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚐUpload(ctx, v) + if err != nil { + return it, err + } + it.Logo = data + case "source_url": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("source_url")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.SourceURL = data + case "mod_reference": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("mod_reference")) + data, err := ec.unmarshalOModReference2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.ModReference = data + case "authors": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("authors")) + data, err := ec.unmarshalOUpdateUserMod2ᚕgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateUserModᚄ(ctx, v) + if err != nil { + return it, err + } + it.Authors = data + case "hidden": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("hidden")) + data, err := ec.unmarshalOBoolean2ᚖbool(ctx, v) + if err != nil { + return it, err + } + it.Hidden = data + case "tagIDs": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("tagIDs")) + data, err := ec.unmarshalOTagID2ᚕstringᚄ(ctx, v) + if err != nil { + return it, err + } + it.TagIDs = data + case "compatibility": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("compatibility")) + data, err := ec.unmarshalOCompatibilityInfoInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInfoInput(ctx, v) + if err != nil { + return it, err + } + it.Compatibility = data + case "toggle_network_use": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("toggle_network_use")) + data, err := ec.unmarshalOBoolean2ᚖbool(ctx, v) + if err != nil { + return it, err + } + it.ToggleNetworkUse = data + case "network_use_disclosure": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("network_use_disclosure")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.NetworkUseDisclosure = data + case "toggle_explicit_content": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("toggle_explicit_content")) + data, err := ec.unmarshalOBoolean2ᚖbool(ctx, v) + if err != nil { + return it, err + } + it.ToggleExplicitContent = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputUpdateSatisfactoryVersion(ctx context.Context, obj interface{}) (UpdateSatisfactoryVersion, error) { + var it UpdateSatisfactoryVersion + asMap := map[string]interface{}{} + for k, v := range obj.(map[string]interface{}) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"version", "engine_version"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "version": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("version")) + data, err := ec.unmarshalOInt2ᚖint(ctx, v) + if err != nil { + return it, err + } + it.Version = data + case "engine_version": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("engine_version")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.EngineVersion = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputUpdateUser(ctx context.Context, obj interface{}) (UpdateUser, error) { + var it UpdateUser + asMap := map[string]interface{}{} + for k, v := range obj.(map[string]interface{}) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"avatar", "groups", "username"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "avatar": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("avatar")) + data, err := ec.unmarshalOUpload2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚐUpload(ctx, v) + if err != nil { + return it, err + } + it.Avatar = data + case "groups": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("groups")) + directive0 := func(ctx context.Context) (interface{}, error) { return ec.unmarshalOString2ᚕstringᚄ(ctx, v) } + directive1 := func(ctx context.Context) (interface{}, error) { + if ec.directives.CanEditUsers == nil { + return nil, errors.New("directive canEditUsers is not implemented") + } + return ec.directives.CanEditUsers(ctx, obj, directive0) + } + directive2 := func(ctx context.Context) (interface{}, error) { + if ec.directives.IsLoggedIn == nil { + return nil, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, obj, directive1) + } + + tmp, err := directive2(ctx) + if err != nil { + return it, graphql.ErrorOnPath(ctx, err) + } + if data, ok := tmp.([]string); ok { + it.Groups = data + } else if tmp == nil { + it.Groups = nil + } else { + err := fmt.Errorf(`unexpected type %T from directive, should be []string`, tmp) + return it, graphql.ErrorOnPath(ctx, err) + } + case "username": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("username")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.Username = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputUpdateUserMod(ctx context.Context, obj interface{}) (UpdateUserMod, error) { + var it UpdateUserMod + asMap := map[string]interface{}{} + for k, v := range obj.(map[string]interface{}) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"user_id", "role"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "user_id": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("user_id")) + data, err := ec.unmarshalNUserID2string(ctx, v) + if err != nil { + return it, err + } + it.UserID = data + case "role": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("role")) + data, err := ec.unmarshalNString2string(ctx, v) + if err != nil { + return it, err + } + it.Role = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputUpdateVersion(ctx context.Context, obj interface{}) (UpdateVersion, error) { + var it UpdateVersion + asMap := map[string]interface{}{} + for k, v := range obj.(map[string]interface{}) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"changelog", "stability"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "changelog": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("changelog")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.Changelog = data + case "stability": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("stability")) + data, err := ec.unmarshalOVersionStabilities2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionStabilities(ctx, v) + if err != nil { + return it, err + } + it.Stability = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputVersionFilter(ctx context.Context, obj interface{}) (map[string]interface{}, error) { + it := make(map[string]interface{}, len(obj.(map[string]interface{}))) + asMap := map[string]interface{}{} + for k, v := range obj.(map[string]interface{}) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"limit", "offset", "order_by", "order", "search", "ids"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "limit": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("limit")) + data, err := ec.unmarshalOInt2ᚖint(ctx, v) + if err != nil { + return it, err + } + it["limit"] = data + case "offset": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("offset")) + data, err := ec.unmarshalOInt2ᚖint(ctx, v) + if err != nil { + return it, err + } + it["offset"] = data + case "order_by": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("order_by")) + data, err := ec.unmarshalOVersionFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionFields(ctx, v) + if err != nil { + return it, err + } + it["order_by"] = data + case "order": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("order")) + data, err := ec.unmarshalOOrder2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOrder(ctx, v) + if err != nil { + return it, err + } + it["order"] = data + case "search": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("search")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it["search"] = data + case "ids": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("ids")) + data, err := ec.unmarshalOString2ᚕstringᚄ(ctx, v) + if err != nil { + return it, err + } + it["ids"] = data + } + } + + return it, nil +} + +// endregion **************************** input.gotpl ***************************** + +// region ************************** interface.gotpl *************************** + +// endregion ************************** interface.gotpl *************************** + +// region **************************** object.gotpl **************************** + +var announcementImplementors = []string{"Announcement"} + +func (ec *executionContext) _Announcement(ctx context.Context, sel ast.SelectionSet, obj *Announcement) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, announcementImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("Announcement") + case "id": + out.Values[i] = ec._Announcement_id(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "message": + out.Values[i] = ec._Announcement_message(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "importance": + out.Values[i] = ec._Announcement_importance(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var compatibilityImplementors = []string{"Compatibility"} + +func (ec *executionContext) _Compatibility(ctx context.Context, sel ast.SelectionSet, obj *Compatibility) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, compatibilityImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("Compatibility") + case "state": + out.Values[i] = ec._Compatibility_state(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "note": + out.Values[i] = ec._Compatibility_note(ctx, field, obj) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var compatibilityInfoImplementors = []string{"CompatibilityInfo"} + +func (ec *executionContext) _CompatibilityInfo(ctx context.Context, sel ast.SelectionSet, obj *CompatibilityInfo) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, compatibilityInfoImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("CompatibilityInfo") + case "EA": + out.Values[i] = ec._CompatibilityInfo_EA(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "EXP": + out.Values[i] = ec._CompatibilityInfo_EXP(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "Controller": + out.Values[i] = ec._CompatibilityInfo_Controller(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var controllerCompatibilityImplementors = []string{"ControllerCompatibility"} + +func (ec *executionContext) _ControllerCompatibility(ctx context.Context, sel ast.SelectionSet, obj *ControllerCompatibility) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, controllerCompatibilityImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("ControllerCompatibility") + case "state": + out.Values[i] = ec._ControllerCompatibility_state(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "note": + out.Values[i] = ec._ControllerCompatibility_note(ctx, field, obj) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var createVersionResponseImplementors = []string{"CreateVersionResponse"} + +func (ec *executionContext) _CreateVersionResponse(ctx context.Context, sel ast.SelectionSet, obj *CreateVersionResponse) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, createVersionResponseImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("CreateVersionResponse") + case "auto_approved": + out.Values[i] = ec._CreateVersionResponse_auto_approved(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "version": + out.Values[i] = ec._CreateVersionResponse_version(ctx, field, obj) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var getGuidesImplementors = []string{"GetGuides"} + +func (ec *executionContext) _GetGuides(ctx context.Context, sel ast.SelectionSet, obj *GetGuides) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, getGuidesImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("GetGuides") + case "guides": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._GetGuides_guides(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "count": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._GetGuides_count(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var getModsImplementors = []string{"GetMods"} + +func (ec *executionContext) _GetMods(ctx context.Context, sel ast.SelectionSet, obj *GetMods) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, getModsImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("GetMods") + case "mods": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._GetMods_mods(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "count": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._GetMods_count(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var getMyModsImplementors = []string{"GetMyMods"} + +func (ec *executionContext) _GetMyMods(ctx context.Context, sel ast.SelectionSet, obj *GetMyMods) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, getMyModsImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("GetMyMods") + case "mods": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._GetMyMods_mods(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "count": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._GetMyMods_count(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var getMyVersionsImplementors = []string{"GetMyVersions"} + +func (ec *executionContext) _GetMyVersions(ctx context.Context, sel ast.SelectionSet, obj *GetMyVersions) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, getMyVersionsImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("GetMyVersions") + case "versions": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._GetMyVersions_versions(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "count": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._GetMyVersions_count(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var getSMLVersionsImplementors = []string{"GetSMLVersions"} + +func (ec *executionContext) _GetSMLVersions(ctx context.Context, sel ast.SelectionSet, obj *GetSMLVersions) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, getSMLVersionsImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("GetSMLVersions") + case "sml_versions": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._GetSMLVersions_sml_versions(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "count": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._GetSMLVersions_count(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var getVersionsImplementors = []string{"GetVersions"} + +func (ec *executionContext) _GetVersions(ctx context.Context, sel ast.SelectionSet, obj *GetVersions) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, getVersionsImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("GetVersions") + case "versions": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._GetVersions_versions(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "count": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._GetVersions_count(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var groupImplementors = []string{"Group"} + +func (ec *executionContext) _Group(ctx context.Context, sel ast.SelectionSet, obj *Group) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, groupImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("Group") + case "id": + out.Values[i] = ec._Group_id(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "name": + out.Values[i] = ec._Group_name(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var guideImplementors = []string{"Guide"} + +func (ec *executionContext) _Guide(ctx context.Context, sel ast.SelectionSet, obj *Guide) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, guideImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("Guide") + case "id": + out.Values[i] = ec._Guide_id(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "name": + out.Values[i] = ec._Guide_name(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "short_description": + out.Values[i] = ec._Guide_short_description(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "guide": + out.Values[i] = ec._Guide_guide(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "views": + out.Values[i] = ec._Guide_views(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "user_id": + out.Values[i] = ec._Guide_user_id(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "updated_at": + out.Values[i] = ec._Guide_updated_at(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "created_at": + out.Values[i] = ec._Guide_created_at(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "tags": + out.Values[i] = ec._Guide_tags(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "user": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Guide_user(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var latestVersionsImplementors = []string{"LatestVersions"} + +func (ec *executionContext) _LatestVersions(ctx context.Context, sel ast.SelectionSet, obj *LatestVersions) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, latestVersionsImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("LatestVersions") + case "alpha": + out.Values[i] = ec._LatestVersions_alpha(ctx, field, obj) + case "beta": + out.Values[i] = ec._LatestVersions_beta(ctx, field, obj) + case "release": + out.Values[i] = ec._LatestVersions_release(ctx, field, obj) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var modImplementors = []string{"Mod"} + +func (ec *executionContext) _Mod(ctx context.Context, sel ast.SelectionSet, obj *Mod) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, modImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("Mod") + case "id": + out.Values[i] = ec._Mod_id(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "name": + out.Values[i] = ec._Mod_name(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "short_description": + out.Values[i] = ec._Mod_short_description(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "full_description": + out.Values[i] = ec._Mod_full_description(ctx, field, obj) + case "logo": + out.Values[i] = ec._Mod_logo(ctx, field, obj) + case "logo_thumbhash": + out.Values[i] = ec._Mod_logo_thumbhash(ctx, field, obj) + case "source_url": + out.Values[i] = ec._Mod_source_url(ctx, field, obj) + case "creator_id": + out.Values[i] = ec._Mod_creator_id(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "approved": + out.Values[i] = ec._Mod_approved(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "views": + out.Values[i] = ec._Mod_views(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "downloads": + out.Values[i] = ec._Mod_downloads(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "hotness": + out.Values[i] = ec._Mod_hotness(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "popularity": + out.Values[i] = ec._Mod_popularity(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "updated_at": + out.Values[i] = ec._Mod_updated_at(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "created_at": + out.Values[i] = ec._Mod_created_at(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "last_version_date": + out.Values[i] = ec._Mod_last_version_date(ctx, field, obj) + case "mod_reference": + out.Values[i] = ec._Mod_mod_reference(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "hidden": + out.Values[i] = ec._Mod_hidden(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "tags": + out.Values[i] = ec._Mod_tags(ctx, field, obj) + case "compatibility": + out.Values[i] = ec._Mod_compatibility(ctx, field, obj) + case "toggle_network_use": + out.Values[i] = ec._Mod_toggle_network_use(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "network_use_disclosure": + out.Values[i] = ec._Mod_network_use_disclosure(ctx, field, obj) + case "toggle_explicit_content": + out.Values[i] = ec._Mod_toggle_explicit_content(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "authors": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Mod_authors(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "version": + field := field + + innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Mod_version(ctx, field, obj) + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "versions": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Mod_versions(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "latestVersions": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Mod_latestVersions(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var modVersionImplementors = []string{"ModVersion"} + +func (ec *executionContext) _ModVersion(ctx context.Context, sel ast.SelectionSet, obj *ModVersion) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, modVersionImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("ModVersion") + case "id": + out.Values[i] = ec._ModVersion_id(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "mod_reference": + out.Values[i] = ec._ModVersion_mod_reference(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "versions": + out.Values[i] = ec._ModVersion_versions(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var mutationImplementors = []string{"Mutation"} + +func (ec *executionContext) _Mutation(ctx context.Context, sel ast.SelectionSet) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, mutationImplementors) + ctx = graphql.WithFieldContext(ctx, &graphql.FieldContext{ + Object: "Mutation", + }) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + innerCtx := graphql.WithRootFieldContext(ctx, &graphql.RootFieldContext{ + Object: field.Name, + Field: field, + }) + + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("Mutation") + case "discourseSSO": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_discourseSSO(ctx, field) + }) + case "createAnnouncement": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_createAnnouncement(ctx, field) + }) + case "updateAnnouncement": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_updateAnnouncement(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "deleteAnnouncement": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_deleteAnnouncement(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "updateModCompatibility": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_updateModCompatibility(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "updateMultipleModCompatibilities": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_updateMultipleModCompatibilities(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "createGuide": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_createGuide(ctx, field) + }) + case "updateGuide": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_updateGuide(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "deleteGuide": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_deleteGuide(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "createMod": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_createMod(ctx, field) + }) + case "updateMod": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_updateMod(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "deleteMod": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_deleteMod(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "approveMod": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_approveMod(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "denyMod": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_denyMod(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "createSatisfactoryVersion": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_createSatisfactoryVersion(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "updateSatisfactoryVersion": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_updateSatisfactoryVersion(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "deleteSatisfactoryVersion": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_deleteSatisfactoryVersion(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "createTag": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_createTag(ctx, field) + }) + case "createMultipleTags": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_createMultipleTags(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "updateTag": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_updateTag(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "deleteTag": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_deleteTag(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "updateUser": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_updateUser(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "logout": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_logout(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "oAuthGithub": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_oAuthGithub(ctx, field) + }) + case "oAuthGoogle": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_oAuthGoogle(ctx, field) + }) + case "oAuthFacebook": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_oAuthFacebook(ctx, field) + }) + case "createVersion": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_createVersion(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "uploadVersionPart": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_uploadVersionPart(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "finalizeCreateVersion": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_finalizeCreateVersion(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "updateVersion": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_updateVersion(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "deleteVersion": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_deleteVersion(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "approveVersion": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_approveVersion(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "denyVersion": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_denyVersion(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var oAuthOptionsImplementors = []string{"OAuthOptions"} + +func (ec *executionContext) _OAuthOptions(ctx context.Context, sel ast.SelectionSet, obj *OAuthOptions) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, oAuthOptionsImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("OAuthOptions") + case "github": + out.Values[i] = ec._OAuthOptions_github(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "google": + out.Values[i] = ec._OAuthOptions_google(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "facebook": + out.Values[i] = ec._OAuthOptions_facebook(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var queryImplementors = []string{"Query"} + +func (ec *executionContext) _Query(ctx context.Context, sel ast.SelectionSet) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, queryImplementors) + ctx = graphql.WithFieldContext(ctx, &graphql.FieldContext{ + Object: "Query", + }) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + innerCtx := graphql.WithRootFieldContext(ctx, &graphql.RootFieldContext{ + Object: field.Name, + Field: field, + }) + + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("Query") + case "getOAuthOptions": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getOAuthOptions(ctx, field) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getAnnouncement": + field := field + + innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getAnnouncement(ctx, field) + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getAnnouncements": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getAnnouncements(ctx, field) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getAnnouncementsByImportance": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getAnnouncementsByImportance(ctx, field) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getGuide": + field := field + + innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getGuide(ctx, field) + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getGuides": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getGuides(ctx, field) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getMod": + field := field + + innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getMod(ctx, field) + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getModByReference": + field := field + + innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getModByReference(ctx, field) + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getModByIdOrReference": + field := field + + innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getModByIdOrReference(ctx, field) + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getMods": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getMods(ctx, field) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getUnapprovedMods": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getUnapprovedMods(ctx, field) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getMyMods": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getMyMods(ctx, field) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getMyUnapprovedMods": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getMyUnapprovedMods(ctx, field) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "resolveModVersions": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_resolveModVersions(ctx, field) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getModAssetList": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getModAssetList(ctx, field) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getSatisfactoryVersions": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getSatisfactoryVersions(ctx, field) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getSatisfactoryVersion": + field := field + + innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getSatisfactoryVersion(ctx, field) + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getSMLVersion": + field := field + + innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getSMLVersion(ctx, field) + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getSMLVersions": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getSMLVersions(ctx, field) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getTag": + field := field + + innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getTag(ctx, field) + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getTags": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getTags(ctx, field) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getMe": + field := field + + innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getMe(ctx, field) + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getUser": + field := field + + innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getUser(ctx, field) + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getUsers": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getUsers(ctx, field) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getVersion": + field := field + + innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getVersion(ctx, field) + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getVersions": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getVersions(ctx, field) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getUnapprovedVersions": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getUnapprovedVersions(ctx, field) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "checkVersionUploadState": + field := field + + innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_checkVersionUploadState(ctx, field) + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getMyVersions": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getMyVersions(ctx, field) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getMyUnapprovedVersions": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getMyUnapprovedVersions(ctx, field) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "__type": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Query___type(ctx, field) + }) + case "__schema": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Query___schema(ctx, field) + }) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var sMLVersionImplementors = []string{"SMLVersion"} + +func (ec *executionContext) _SMLVersion(ctx context.Context, sel ast.SelectionSet, obj *SMLVersion) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, sMLVersionImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("SMLVersion") + case "id": + out.Values[i] = ec._SMLVersion_id(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "version": + out.Values[i] = ec._SMLVersion_version(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "satisfactory_version": + out.Values[i] = ec._SMLVersion_satisfactory_version(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "stability": + out.Values[i] = ec._SMLVersion_stability(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "link": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._SMLVersion_link(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "targets": + out.Values[i] = ec._SMLVersion_targets(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "changelog": + out.Values[i] = ec._SMLVersion_changelog(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "date": + out.Values[i] = ec._SMLVersion_date(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "bootstrap_version": + field := field + + innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._SMLVersion_bootstrap_version(ctx, field, obj) + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "engine_version": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._SMLVersion_engine_version(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "updated_at": + out.Values[i] = ec._SMLVersion_updated_at(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "created_at": + out.Values[i] = ec._SMLVersion_created_at(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var sMLVersionTargetImplementors = []string{"SMLVersionTarget"} + +func (ec *executionContext) _SMLVersionTarget(ctx context.Context, sel ast.SelectionSet, obj *SMLVersionTarget) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, sMLVersionTargetImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("SMLVersionTarget") + case "VersionID": + out.Values[i] = ec._SMLVersionTarget_VersionID(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "targetName": + out.Values[i] = ec._SMLVersionTarget_targetName(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "link": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._SMLVersionTarget_link(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var satisfactoryVersionImplementors = []string{"SatisfactoryVersion"} + +func (ec *executionContext) _SatisfactoryVersion(ctx context.Context, sel ast.SelectionSet, obj *SatisfactoryVersion) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, satisfactoryVersionImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("SatisfactoryVersion") + case "id": + out.Values[i] = ec._SatisfactoryVersion_id(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "version": + out.Values[i] = ec._SatisfactoryVersion_version(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "engine_version": + out.Values[i] = ec._SatisfactoryVersion_engine_version(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var tagImplementors = []string{"Tag"} + +func (ec *executionContext) _Tag(ctx context.Context, sel ast.SelectionSet, obj *Tag) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, tagImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("Tag") + case "id": + out.Values[i] = ec._Tag_id(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "name": + out.Values[i] = ec._Tag_name(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "description": + out.Values[i] = ec._Tag_description(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var userImplementors = []string{"User"} + +func (ec *executionContext) _User(ctx context.Context, sel ast.SelectionSet, obj *User) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, userImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("User") + case "id": + out.Values[i] = ec._User_id(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "email": + out.Values[i] = ec._User_email(ctx, field, obj) + case "username": + out.Values[i] = ec._User_username(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "avatar": + out.Values[i] = ec._User_avatar(ctx, field, obj) + case "avatar_thumbhash": + out.Values[i] = ec._User_avatar_thumbhash(ctx, field, obj) + case "created_at": + out.Values[i] = ec._User_created_at(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "github_id": + out.Values[i] = ec._User_github_id(ctx, field, obj) + case "google_id": + out.Values[i] = ec._User_google_id(ctx, field, obj) + case "facebook_id": + out.Values[i] = ec._User_facebook_id(ctx, field, obj) + case "roles": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._User_roles(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "groups": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._User_groups(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "mods": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._User_mods(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "guides": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._User_guides(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var userModImplementors = []string{"UserMod"} + +func (ec *executionContext) _UserMod(ctx context.Context, sel ast.SelectionSet, obj *UserMod) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, userModImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("UserMod") + case "user_id": + out.Values[i] = ec._UserMod_user_id(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "mod_id": + out.Values[i] = ec._UserMod_mod_id(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "role": + out.Values[i] = ec._UserMod_role(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "user": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._UserMod_user(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "mod": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._UserMod_mod(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var userRolesImplementors = []string{"UserRoles"} + +func (ec *executionContext) _UserRoles(ctx context.Context, sel ast.SelectionSet, obj *UserRoles) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, userRolesImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("UserRoles") + case "approveMods": + out.Values[i] = ec._UserRoles_approveMods(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "approveVersions": + out.Values[i] = ec._UserRoles_approveVersions(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "deleteContent": + out.Values[i] = ec._UserRoles_deleteContent(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "editContent": + out.Values[i] = ec._UserRoles_editContent(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "editUsers": + out.Values[i] = ec._UserRoles_editUsers(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "editSatisfactoryVersions": + out.Values[i] = ec._UserRoles_editSatisfactoryVersions(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "editBootstrapVersions": + out.Values[i] = ec._UserRoles_editBootstrapVersions(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "editAnyModCompatibility": + out.Values[i] = ec._UserRoles_editAnyModCompatibility(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var userSessionImplementors = []string{"UserSession"} + +func (ec *executionContext) _UserSession(ctx context.Context, sel ast.SelectionSet, obj *UserSession) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, userSessionImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("UserSession") + case "token": + out.Values[i] = ec._UserSession_token(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var versionImplementors = []string{"Version"} + +func (ec *executionContext) _Version(ctx context.Context, sel ast.SelectionSet, obj *Version) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, versionImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("Version") + case "id": + out.Values[i] = ec._Version_id(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "mod_id": + out.Values[i] = ec._Version_mod_id(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "version": + out.Values[i] = ec._Version_version(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "sml_version": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Version_sml_version(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "game_version": + out.Values[i] = ec._Version_game_version(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "required_on_remote": + out.Values[i] = ec._Version_required_on_remote(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "changelog": + out.Values[i] = ec._Version_changelog(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "downloads": + out.Values[i] = ec._Version_downloads(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "stability": + out.Values[i] = ec._Version_stability(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "approved": + out.Values[i] = ec._Version_approved(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "updated_at": + out.Values[i] = ec._Version_updated_at(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "created_at": + out.Values[i] = ec._Version_created_at(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "link": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Version_link(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "targets": + out.Values[i] = ec._Version_targets(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "metadata": + out.Values[i] = ec._Version_metadata(ctx, field, obj) + case "size": + field := field + + innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Version_size(ctx, field, obj) + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "hash": + field := field + + innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Version_hash(ctx, field, obj) + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "mod": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Version_mod(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "dependencies": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Version_dependencies(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "virustotal_results": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Version_virustotal_results(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var versionDependencyImplementors = []string{"VersionDependency"} + +func (ec *executionContext) _VersionDependency(ctx context.Context, sel ast.SelectionSet, obj *VersionDependency) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, versionDependencyImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("VersionDependency") + case "version_id": + out.Values[i] = ec._VersionDependency_version_id(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "mod_id": + out.Values[i] = ec._VersionDependency_mod_id(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "condition": + out.Values[i] = ec._VersionDependency_condition(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "optional": + out.Values[i] = ec._VersionDependency_optional(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "mod_reference": + out.Values[i] = ec._VersionDependency_mod_reference(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "mod": + field := field + + innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._VersionDependency_mod(ctx, field, obj) + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "version": + out.Values[i] = ec._VersionDependency_version(ctx, field, obj) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var versionTargetImplementors = []string{"VersionTarget"} + +func (ec *executionContext) _VersionTarget(ctx context.Context, sel ast.SelectionSet, obj *VersionTarget) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, versionTargetImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("VersionTarget") + case "VersionID": + out.Values[i] = ec._VersionTarget_VersionID(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "targetName": + out.Values[i] = ec._VersionTarget_targetName(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "link": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._VersionTarget_link(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "size": + out.Values[i] = ec._VersionTarget_size(ctx, field, obj) + case "hash": + out.Values[i] = ec._VersionTarget_hash(ctx, field, obj) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var virustotalResultImplementors = []string{"VirustotalResult"} + +func (ec *executionContext) _VirustotalResult(ctx context.Context, sel ast.SelectionSet, obj *VirustotalResult) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, virustotalResultImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("VirustotalResult") + case "id": + out.Values[i] = ec._VirustotalResult_id(ctx, field, obj) + case "hash": + out.Values[i] = ec._VirustotalResult_hash(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "safe": + out.Values[i] = ec._VirustotalResult_safe(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "file_name": + out.Values[i] = ec._VirustotalResult_file_name(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "version_id": + out.Values[i] = ec._VirustotalResult_version_id(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "created_at": + out.Values[i] = ec._VirustotalResult_created_at(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "updated_at": + out.Values[i] = ec._VirustotalResult_updated_at(ctx, field, obj) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var __DirectiveImplementors = []string{"__Directive"} + +func (ec *executionContext) ___Directive(ctx context.Context, sel ast.SelectionSet, obj *introspection.Directive) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, __DirectiveImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("__Directive") + case "name": + out.Values[i] = ec.___Directive_name(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "description": + out.Values[i] = ec.___Directive_description(ctx, field, obj) + case "locations": + out.Values[i] = ec.___Directive_locations(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "args": + out.Values[i] = ec.___Directive_args(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "isRepeatable": + out.Values[i] = ec.___Directive_isRepeatable(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var __EnumValueImplementors = []string{"__EnumValue"} + +func (ec *executionContext) ___EnumValue(ctx context.Context, sel ast.SelectionSet, obj *introspection.EnumValue) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, __EnumValueImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("__EnumValue") + case "name": + out.Values[i] = ec.___EnumValue_name(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "description": + out.Values[i] = ec.___EnumValue_description(ctx, field, obj) + case "isDeprecated": + out.Values[i] = ec.___EnumValue_isDeprecated(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "deprecationReason": + out.Values[i] = ec.___EnumValue_deprecationReason(ctx, field, obj) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var __FieldImplementors = []string{"__Field"} + +func (ec *executionContext) ___Field(ctx context.Context, sel ast.SelectionSet, obj *introspection.Field) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, __FieldImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("__Field") + case "name": + out.Values[i] = ec.___Field_name(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "description": + out.Values[i] = ec.___Field_description(ctx, field, obj) + case "args": + out.Values[i] = ec.___Field_args(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "type": + out.Values[i] = ec.___Field_type(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "isDeprecated": + out.Values[i] = ec.___Field_isDeprecated(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "deprecationReason": + out.Values[i] = ec.___Field_deprecationReason(ctx, field, obj) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var __InputValueImplementors = []string{"__InputValue"} + +func (ec *executionContext) ___InputValue(ctx context.Context, sel ast.SelectionSet, obj *introspection.InputValue) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, __InputValueImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("__InputValue") + case "name": + out.Values[i] = ec.___InputValue_name(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "description": + out.Values[i] = ec.___InputValue_description(ctx, field, obj) + case "type": + out.Values[i] = ec.___InputValue_type(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "defaultValue": + out.Values[i] = ec.___InputValue_defaultValue(ctx, field, obj) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var __SchemaImplementors = []string{"__Schema"} + +func (ec *executionContext) ___Schema(ctx context.Context, sel ast.SelectionSet, obj *introspection.Schema) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, __SchemaImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("__Schema") + case "description": + out.Values[i] = ec.___Schema_description(ctx, field, obj) + case "types": + out.Values[i] = ec.___Schema_types(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "queryType": + out.Values[i] = ec.___Schema_queryType(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "mutationType": + out.Values[i] = ec.___Schema_mutationType(ctx, field, obj) + case "subscriptionType": + out.Values[i] = ec.___Schema_subscriptionType(ctx, field, obj) + case "directives": + out.Values[i] = ec.___Schema_directives(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var __TypeImplementors = []string{"__Type"} + +func (ec *executionContext) ___Type(ctx context.Context, sel ast.SelectionSet, obj *introspection.Type) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, __TypeImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("__Type") + case "kind": + out.Values[i] = ec.___Type_kind(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "name": + out.Values[i] = ec.___Type_name(ctx, field, obj) + case "description": + out.Values[i] = ec.___Type_description(ctx, field, obj) + case "fields": + out.Values[i] = ec.___Type_fields(ctx, field, obj) + case "interfaces": + out.Values[i] = ec.___Type_interfaces(ctx, field, obj) + case "possibleTypes": + out.Values[i] = ec.___Type_possibleTypes(ctx, field, obj) + case "enumValues": + out.Values[i] = ec.___Type_enumValues(ctx, field, obj) + case "inputFields": + out.Values[i] = ec.___Type_inputFields(ctx, field, obj) + case "ofType": + out.Values[i] = ec.___Type_ofType(ctx, field, obj) + case "specifiedByURL": + out.Values[i] = ec.___Type_specifiedByURL(ctx, field, obj) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +// endregion **************************** object.gotpl **************************** + +// region ***************************** type.gotpl ***************************** + +func (ec *executionContext) marshalNAnnouncement2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncement(ctx context.Context, sel ast.SelectionSet, v Announcement) graphql.Marshaler { + return ec._Announcement(ctx, sel, &v) +} + +func (ec *executionContext) marshalNAnnouncement2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementᚄ(ctx context.Context, sel ast.SelectionSet, v []*Announcement) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalNAnnouncement2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncement(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalNAnnouncement2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncement(ctx context.Context, sel ast.SelectionSet, v *Announcement) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._Announcement(ctx, sel, v) +} + +func (ec *executionContext) unmarshalNAnnouncementID2string(ctx context.Context, v interface{}) (string, error) { + res, err := graphql.UnmarshalString(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNAnnouncementID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + res := graphql.MarshalString(v) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + +func (ec *executionContext) unmarshalNAnnouncementImportance2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementImportance(ctx context.Context, v interface{}) (AnnouncementImportance, error) { + var res AnnouncementImportance + err := res.UnmarshalGQL(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNAnnouncementImportance2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementImportance(ctx context.Context, sel ast.SelectionSet, v AnnouncementImportance) graphql.Marshaler { + return v +} + +func (ec *executionContext) unmarshalNBoolean2bool(ctx context.Context, v interface{}) (bool, error) { + res, err := graphql.UnmarshalBoolean(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNBoolean2bool(ctx context.Context, sel ast.SelectionSet, v bool) graphql.Marshaler { + res := graphql.MarshalBoolean(v) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + +func (ec *executionContext) marshalNCompatibility2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibility(ctx context.Context, sel ast.SelectionSet, v *Compatibility) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._Compatibility(ctx, sel, v) +} + +func (ec *executionContext) unmarshalNCompatibilityInfoInput2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInfoInput(ctx context.Context, v interface{}) (CompatibilityInfoInput, error) { + res, err := ec.unmarshalInputCompatibilityInfoInput(ctx, v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalNCompatibilityInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInput(ctx context.Context, v interface{}) (*CompatibilityInput, error) { + res, err := ec.unmarshalInputCompatibilityInput(ctx, v) + return &res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalNCompatibilityState2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityState(ctx context.Context, v interface{}) (CompatibilityState, error) { + var res CompatibilityState + err := res.UnmarshalGQL(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNCompatibilityState2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityState(ctx context.Context, sel ast.SelectionSet, v CompatibilityState) graphql.Marshaler { + return v +} + +func (ec *executionContext) marshalNControllerCompatibility2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐControllerCompatibility(ctx context.Context, sel ast.SelectionSet, v *ControllerCompatibility) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._ControllerCompatibility(ctx, sel, v) +} + +func (ec *executionContext) unmarshalNControllerCompatibilityInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐControllerCompatibilityInput(ctx context.Context, v interface{}) (*ControllerCompatibilityInput, error) { + res, err := ec.unmarshalInputControllerCompatibilityInput(ctx, v) + return &res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalNControllerCompatibilityState2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐControllerCompatibilityState(ctx context.Context, v interface{}) (ControllerCompatibilityState, error) { + var res ControllerCompatibilityState + err := res.UnmarshalGQL(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNControllerCompatibilityState2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐControllerCompatibilityState(ctx context.Context, sel ast.SelectionSet, v ControllerCompatibilityState) graphql.Marshaler { + return v +} + +func (ec *executionContext) unmarshalNDate2string(ctx context.Context, v interface{}) (string, error) { + res, err := graphql.UnmarshalString(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNDate2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + res := graphql.MarshalString(v) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + +func (ec *executionContext) marshalNGetGuides2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetGuides(ctx context.Context, sel ast.SelectionSet, v GetGuides) graphql.Marshaler { + return ec._GetGuides(ctx, sel, &v) +} + +func (ec *executionContext) marshalNGetGuides2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetGuides(ctx context.Context, sel ast.SelectionSet, v *GetGuides) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._GetGuides(ctx, sel, v) +} + +func (ec *executionContext) marshalNGetMods2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMods(ctx context.Context, sel ast.SelectionSet, v GetMods) graphql.Marshaler { + return ec._GetMods(ctx, sel, &v) +} + +func (ec *executionContext) marshalNGetMods2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMods(ctx context.Context, sel ast.SelectionSet, v *GetMods) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._GetMods(ctx, sel, v) +} + +func (ec *executionContext) marshalNGetMyMods2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMyMods(ctx context.Context, sel ast.SelectionSet, v GetMyMods) graphql.Marshaler { + return ec._GetMyMods(ctx, sel, &v) +} + +func (ec *executionContext) marshalNGetMyMods2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMyMods(ctx context.Context, sel ast.SelectionSet, v *GetMyMods) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._GetMyMods(ctx, sel, v) +} + +func (ec *executionContext) marshalNGetMyVersions2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMyVersions(ctx context.Context, sel ast.SelectionSet, v GetMyVersions) graphql.Marshaler { + return ec._GetMyVersions(ctx, sel, &v) +} + +func (ec *executionContext) marshalNGetMyVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMyVersions(ctx context.Context, sel ast.SelectionSet, v *GetMyVersions) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._GetMyVersions(ctx, sel, v) +} + +func (ec *executionContext) marshalNGetSMLVersions2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetSMLVersions(ctx context.Context, sel ast.SelectionSet, v GetSMLVersions) graphql.Marshaler { + return ec._GetSMLVersions(ctx, sel, &v) +} + +func (ec *executionContext) marshalNGetSMLVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetSMLVersions(ctx context.Context, sel ast.SelectionSet, v *GetSMLVersions) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._GetSMLVersions(ctx, sel, v) +} + +func (ec *executionContext) marshalNGetVersions2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetVersions(ctx context.Context, sel ast.SelectionSet, v GetVersions) graphql.Marshaler { + return ec._GetVersions(ctx, sel, &v) +} + +func (ec *executionContext) marshalNGetVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetVersions(ctx context.Context, sel ast.SelectionSet, v *GetVersions) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._GetVersions(ctx, sel, v) +} + +func (ec *executionContext) marshalNGroup2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGroupᚄ(ctx context.Context, sel ast.SelectionSet, v []*Group) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalNGroup2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGroup(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalNGroup2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGroup(ctx context.Context, sel ast.SelectionSet, v *Group) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._Group(ctx, sel, v) +} + +func (ec *executionContext) marshalNGuide2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuide(ctx context.Context, sel ast.SelectionSet, v Guide) graphql.Marshaler { + return ec._Guide(ctx, sel, &v) +} + +func (ec *executionContext) marshalNGuide2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuideᚄ(ctx context.Context, sel ast.SelectionSet, v []*Guide) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalNGuide2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuide(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalNGuide2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuide(ctx context.Context, sel ast.SelectionSet, v *Guide) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._Guide(ctx, sel, v) +} + +func (ec *executionContext) unmarshalNGuideID2string(ctx context.Context, v interface{}) (string, error) { + res, err := graphql.UnmarshalString(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNGuideID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + res := graphql.MarshalString(v) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + +func (ec *executionContext) unmarshalNInt2int(ctx context.Context, v interface{}) (int, error) { + res, err := graphql.UnmarshalInt(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNInt2int(ctx context.Context, sel ast.SelectionSet, v int) graphql.Marshaler { + res := graphql.MarshalInt(v) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + +func (ec *executionContext) marshalNLatestVersions2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐLatestVersions(ctx context.Context, sel ast.SelectionSet, v LatestVersions) graphql.Marshaler { + return ec._LatestVersions(ctx, sel, &v) +} + +func (ec *executionContext) marshalNLatestVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐLatestVersions(ctx context.Context, sel ast.SelectionSet, v *LatestVersions) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._LatestVersions(ctx, sel, v) +} + +func (ec *executionContext) marshalNMod2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx context.Context, sel ast.SelectionSet, v Mod) graphql.Marshaler { + return ec._Mod(ctx, sel, &v) +} + +func (ec *executionContext) marshalNMod2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModᚄ(ctx context.Context, sel ast.SelectionSet, v []*Mod) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalNMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalNMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx context.Context, sel ast.SelectionSet, v *Mod) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._Mod(ctx, sel, v) +} + +func (ec *executionContext) unmarshalNModID2string(ctx context.Context, v interface{}) (string, error) { + res, err := graphql.UnmarshalString(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNModID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + res := graphql.MarshalString(v) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + +func (ec *executionContext) unmarshalNModID2ᚕstringᚄ(ctx context.Context, v interface{}) ([]string, error) { + var vSlice []interface{} + if v != nil { + vSlice = graphql.CoerceList(v) + } + var err error + res := make([]string, len(vSlice)) + for i := range vSlice { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) + res[i], err = ec.unmarshalNModID2string(ctx, vSlice[i]) + if err != nil { + return nil, err + } + } + return res, nil +} + +func (ec *executionContext) marshalNModID2ᚕstringᚄ(ctx context.Context, sel ast.SelectionSet, v []string) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + for i := range v { + ret[i] = ec.marshalNModID2string(ctx, sel, v[i]) + } + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) unmarshalNModReference2string(ctx context.Context, v interface{}) (string, error) { + res, err := graphql.UnmarshalString(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNModReference2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + res := graphql.MarshalString(v) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + +func (ec *executionContext) marshalNModVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModVersionᚄ(ctx context.Context, sel ast.SelectionSet, v []*ModVersion) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalNModVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModVersion(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalNModVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModVersion(ctx context.Context, sel ast.SelectionSet, v *ModVersion) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._ModVersion(ctx, sel, v) +} + +func (ec *executionContext) unmarshalNModVersionConstraint2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModVersionConstraintᚄ(ctx context.Context, v interface{}) ([]*ModVersionConstraint, error) { + var vSlice []interface{} + if v != nil { + vSlice = graphql.CoerceList(v) + } + var err error + res := make([]*ModVersionConstraint, len(vSlice)) + for i := range vSlice { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) + res[i], err = ec.unmarshalNModVersionConstraint2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModVersionConstraint(ctx, vSlice[i]) + if err != nil { + return nil, err + } + } + return res, nil +} + +func (ec *executionContext) unmarshalNModVersionConstraint2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModVersionConstraint(ctx context.Context, v interface{}) (*ModVersionConstraint, error) { + res, err := ec.unmarshalInputModVersionConstraint(ctx, v) + return &res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalNNewAnnouncement2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewAnnouncement(ctx context.Context, v interface{}) (NewAnnouncement, error) { + res, err := ec.unmarshalInputNewAnnouncement(ctx, v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalNNewGuide2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewGuide(ctx context.Context, v interface{}) (NewGuide, error) { + res, err := ec.unmarshalInputNewGuide(ctx, v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalNNewMod2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewMod(ctx context.Context, v interface{}) (NewMod, error) { + res, err := ec.unmarshalInputNewMod(ctx, v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalNNewSatisfactoryVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewSatisfactoryVersion(ctx context.Context, v interface{}) (NewSatisfactoryVersion, error) { + res, err := ec.unmarshalInputNewSatisfactoryVersion(ctx, v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalNNewTag2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewTagᚄ(ctx context.Context, v interface{}) ([]*NewTag, error) { + var vSlice []interface{} + if v != nil { + vSlice = graphql.CoerceList(v) + } + var err error + res := make([]*NewTag, len(vSlice)) + for i := range vSlice { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) + res[i], err = ec.unmarshalNNewTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewTag(ctx, vSlice[i]) + if err != nil { + return nil, err + } + } + return res, nil +} + +func (ec *executionContext) unmarshalNNewTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewTag(ctx context.Context, v interface{}) (*NewTag, error) { + res, err := ec.unmarshalInputNewTag(ctx, v) + return &res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalNNewVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewVersion(ctx context.Context, v interface{}) (NewVersion, error) { + res, err := ec.unmarshalInputNewVersion(ctx, v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNOAuthOptions2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOAuthOptions(ctx context.Context, sel ast.SelectionSet, v OAuthOptions) graphql.Marshaler { + return ec._OAuthOptions(ctx, sel, &v) +} + +func (ec *executionContext) marshalNOAuthOptions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOAuthOptions(ctx context.Context, sel ast.SelectionSet, v *OAuthOptions) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._OAuthOptions(ctx, sel, v) +} + +func (ec *executionContext) marshalNSMLVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersionᚄ(ctx context.Context, sel ast.SelectionSet, v []*SMLVersion) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalNSMLVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersion(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalNSMLVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersion(ctx context.Context, sel ast.SelectionSet, v *SMLVersion) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._SMLVersion(ctx, sel, v) +} + +func (ec *executionContext) unmarshalNSMLVersionID2string(ctx context.Context, v interface{}) (string, error) { + res, err := graphql.UnmarshalString(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNSMLVersionID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + res := graphql.MarshalString(v) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + +func (ec *executionContext) marshalNSMLVersionTarget2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersionTarget(ctx context.Context, sel ast.SelectionSet, v []*SMLVersionTarget) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalOSMLVersionTarget2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersionTarget(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + return ret +} + +func (ec *executionContext) marshalNSatisfactoryVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSatisfactoryVersion(ctx context.Context, sel ast.SelectionSet, v SatisfactoryVersion) graphql.Marshaler { + return ec._SatisfactoryVersion(ctx, sel, &v) +} + +func (ec *executionContext) marshalNSatisfactoryVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSatisfactoryVersionᚄ(ctx context.Context, sel ast.SelectionSet, v []*SatisfactoryVersion) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalNSatisfactoryVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSatisfactoryVersion(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalNSatisfactoryVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSatisfactoryVersion(ctx context.Context, sel ast.SelectionSet, v *SatisfactoryVersion) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._SatisfactoryVersion(ctx, sel, v) +} + +func (ec *executionContext) unmarshalNSatisfactoryVersionID2string(ctx context.Context, v interface{}) (string, error) { + res, err := graphql.UnmarshalString(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNSatisfactoryVersionID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + res := graphql.MarshalString(v) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + +func (ec *executionContext) unmarshalNString2string(ctx context.Context, v interface{}) (string, error) { + res, err := graphql.UnmarshalString(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNString2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + res := graphql.MarshalString(v) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + +func (ec *executionContext) unmarshalNString2ᚕstringᚄ(ctx context.Context, v interface{}) ([]string, error) { + var vSlice []interface{} + if v != nil { + vSlice = graphql.CoerceList(v) + } + var err error + res := make([]string, len(vSlice)) + for i := range vSlice { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) + res[i], err = ec.unmarshalNString2string(ctx, vSlice[i]) + if err != nil { + return nil, err + } + } + return res, nil +} + +func (ec *executionContext) marshalNString2ᚕstringᚄ(ctx context.Context, sel ast.SelectionSet, v []string) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + for i := range v { + ret[i] = ec.marshalNString2string(ctx, sel, v[i]) + } + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalNTag2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTag(ctx context.Context, sel ast.SelectionSet, v Tag) graphql.Marshaler { + return ec._Tag(ctx, sel, &v) +} + +func (ec *executionContext) marshalNTag2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTagᚄ(ctx context.Context, sel ast.SelectionSet, v []*Tag) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalNTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTag(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalNTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTag(ctx context.Context, sel ast.SelectionSet, v *Tag) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._Tag(ctx, sel, v) +} + +func (ec *executionContext) unmarshalNTagID2string(ctx context.Context, v interface{}) (string, error) { + res, err := graphql.UnmarshalString(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNTagID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + res := graphql.MarshalString(v) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + +func (ec *executionContext) unmarshalNTagName2string(ctx context.Context, v interface{}) (string, error) { + res, err := graphql.UnmarshalString(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNTagName2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + res := graphql.MarshalString(v) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + +func (ec *executionContext) unmarshalNTargetName2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTargetName(ctx context.Context, v interface{}) (TargetName, error) { + var res TargetName + err := res.UnmarshalGQL(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNTargetName2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTargetName(ctx context.Context, sel ast.SelectionSet, v TargetName) graphql.Marshaler { + return v +} + +func (ec *executionContext) unmarshalNUpdateAnnouncement2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateAnnouncement(ctx context.Context, v interface{}) (UpdateAnnouncement, error) { + res, err := ec.unmarshalInputUpdateAnnouncement(ctx, v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalNUpdateGuide2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateGuide(ctx context.Context, v interface{}) (UpdateGuide, error) { + res, err := ec.unmarshalInputUpdateGuide(ctx, v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalNUpdateMod2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateMod(ctx context.Context, v interface{}) (UpdateMod, error) { + res, err := ec.unmarshalInputUpdateMod(ctx, v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalNUpdateSatisfactoryVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateSatisfactoryVersion(ctx context.Context, v interface{}) (UpdateSatisfactoryVersion, error) { + res, err := ec.unmarshalInputUpdateSatisfactoryVersion(ctx, v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalNUpdateUser2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateUser(ctx context.Context, v interface{}) (UpdateUser, error) { + res, err := ec.unmarshalInputUpdateUser(ctx, v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalNUpdateUserMod2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateUserMod(ctx context.Context, v interface{}) (UpdateUserMod, error) { + res, err := ec.unmarshalInputUpdateUserMod(ctx, v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalNUpdateVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateVersion(ctx context.Context, v interface{}) (UpdateVersion, error) { + res, err := ec.unmarshalInputUpdateVersion(ctx, v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalNUpload2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚐUpload(ctx context.Context, v interface{}) (graphql.Upload, error) { + res, err := graphql.UnmarshalUpload(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNUpload2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚐUpload(ctx context.Context, sel ast.SelectionSet, v graphql.Upload) graphql.Marshaler { + res := graphql.MarshalUpload(v) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + +func (ec *executionContext) marshalNUser2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx context.Context, sel ast.SelectionSet, v User) graphql.Marshaler { + return ec._User(ctx, sel, &v) +} + +func (ec *executionContext) marshalNUser2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx context.Context, sel ast.SelectionSet, v []*User) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalOUser2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + return ret +} + +func (ec *executionContext) marshalNUser2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx context.Context, sel ast.SelectionSet, v *User) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._User(ctx, sel, v) +} + +func (ec *executionContext) unmarshalNUserID2string(ctx context.Context, v interface{}) (string, error) { + res, err := graphql.UnmarshalString(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNUserID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + res := graphql.MarshalString(v) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + +func (ec *executionContext) unmarshalNUserID2ᚕstringᚄ(ctx context.Context, v interface{}) ([]string, error) { + var vSlice []interface{} + if v != nil { + vSlice = graphql.CoerceList(v) + } + var err error + res := make([]string, len(vSlice)) + for i := range vSlice { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) + res[i], err = ec.unmarshalNUserID2string(ctx, vSlice[i]) + if err != nil { + return nil, err + } + } + return res, nil +} + +func (ec *executionContext) marshalNUserID2ᚕstringᚄ(ctx context.Context, sel ast.SelectionSet, v []string) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + for i := range v { + ret[i] = ec.marshalNUserID2string(ctx, sel, v[i]) + } + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalNUserMod2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserModᚄ(ctx context.Context, sel ast.SelectionSet, v []*UserMod) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalNUserMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserMod(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalNUserMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserMod(ctx context.Context, sel ast.SelectionSet, v *UserMod) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._UserMod(ctx, sel, v) +} + +func (ec *executionContext) marshalNUserRoles2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserRoles(ctx context.Context, sel ast.SelectionSet, v UserRoles) graphql.Marshaler { + return ec._UserRoles(ctx, sel, &v) +} + +func (ec *executionContext) marshalNUserRoles2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserRoles(ctx context.Context, sel ast.SelectionSet, v *UserRoles) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._UserRoles(ctx, sel, v) +} + +func (ec *executionContext) marshalNVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx context.Context, sel ast.SelectionSet, v Version) graphql.Marshaler { + return ec._Version(ctx, sel, &v) +} + +func (ec *executionContext) marshalNVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionᚄ(ctx context.Context, sel ast.SelectionSet, v []*Version) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalNVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalNVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx context.Context, sel ast.SelectionSet, v *Version) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._Version(ctx, sel, v) +} + +func (ec *executionContext) marshalNVersionDependency2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionDependencyᚄ(ctx context.Context, sel ast.SelectionSet, v []*VersionDependency) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalNVersionDependency2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionDependency(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalNVersionDependency2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionDependency(ctx context.Context, sel ast.SelectionSet, v *VersionDependency) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._VersionDependency(ctx, sel, v) +} + +func (ec *executionContext) unmarshalNVersionID2string(ctx context.Context, v interface{}) (string, error) { + res, err := graphql.UnmarshalString(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNVersionID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + res := graphql.MarshalString(v) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + +func (ec *executionContext) unmarshalNVersionStabilities2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionStabilities(ctx context.Context, v interface{}) (VersionStabilities, error) { + var res VersionStabilities + err := res.UnmarshalGQL(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNVersionStabilities2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionStabilities(ctx context.Context, sel ast.SelectionSet, v VersionStabilities) graphql.Marshaler { + return v +} + +func (ec *executionContext) marshalNVersionTarget2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionTarget(ctx context.Context, sel ast.SelectionSet, v []*VersionTarget) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalOVersionTarget2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionTarget(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + return ret +} + +func (ec *executionContext) unmarshalNVirustotalHash2string(ctx context.Context, v interface{}) (string, error) { + res, err := graphql.UnmarshalString(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNVirustotalHash2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + res := graphql.MarshalString(v) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + +func (ec *executionContext) marshalNVirustotalResult2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVirustotalResultᚄ(ctx context.Context, sel ast.SelectionSet, v []*VirustotalResult) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalNVirustotalResult2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVirustotalResult(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalNVirustotalResult2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVirustotalResult(ctx context.Context, sel ast.SelectionSet, v *VirustotalResult) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._VirustotalResult(ctx, sel, v) +} + +func (ec *executionContext) marshalN__Directive2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐDirective(ctx context.Context, sel ast.SelectionSet, v introspection.Directive) graphql.Marshaler { + return ec.___Directive(ctx, sel, &v) +} + +func (ec *executionContext) marshalN__Directive2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐDirectiveᚄ(ctx context.Context, sel ast.SelectionSet, v []introspection.Directive) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalN__Directive2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐDirective(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) unmarshalN__DirectiveLocation2string(ctx context.Context, v interface{}) (string, error) { + res, err := graphql.UnmarshalString(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalN__DirectiveLocation2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + res := graphql.MarshalString(v) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + +func (ec *executionContext) unmarshalN__DirectiveLocation2ᚕstringᚄ(ctx context.Context, v interface{}) ([]string, error) { + var vSlice []interface{} + if v != nil { + vSlice = graphql.CoerceList(v) + } + var err error + res := make([]string, len(vSlice)) + for i := range vSlice { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) + res[i], err = ec.unmarshalN__DirectiveLocation2string(ctx, vSlice[i]) + if err != nil { + return nil, err + } + } + return res, nil +} + +func (ec *executionContext) marshalN__DirectiveLocation2ᚕstringᚄ(ctx context.Context, sel ast.SelectionSet, v []string) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalN__DirectiveLocation2string(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalN__EnumValue2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐEnumValue(ctx context.Context, sel ast.SelectionSet, v introspection.EnumValue) graphql.Marshaler { + return ec.___EnumValue(ctx, sel, &v) +} + +func (ec *executionContext) marshalN__Field2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐField(ctx context.Context, sel ast.SelectionSet, v introspection.Field) graphql.Marshaler { + return ec.___Field(ctx, sel, &v) +} + +func (ec *executionContext) marshalN__InputValue2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValue(ctx context.Context, sel ast.SelectionSet, v introspection.InputValue) graphql.Marshaler { + return ec.___InputValue(ctx, sel, &v) +} + +func (ec *executionContext) marshalN__InputValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValueᚄ(ctx context.Context, sel ast.SelectionSet, v []introspection.InputValue) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalN__InputValue2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValue(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalN__Type2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx context.Context, sel ast.SelectionSet, v introspection.Type) graphql.Marshaler { + return ec.___Type(ctx, sel, &v) +} + +func (ec *executionContext) marshalN__Type2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐTypeᚄ(ctx context.Context, sel ast.SelectionSet, v []introspection.Type) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalN__Type2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalN__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx context.Context, sel ast.SelectionSet, v *introspection.Type) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec.___Type(ctx, sel, v) +} + +func (ec *executionContext) unmarshalN__TypeKind2string(ctx context.Context, v interface{}) (string, error) { + res, err := graphql.UnmarshalString(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalN__TypeKind2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + res := graphql.MarshalString(v) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + +func (ec *executionContext) marshalOAnnouncement2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncement(ctx context.Context, sel ast.SelectionSet, v *Announcement) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return ec._Announcement(ctx, sel, v) +} + +func (ec *executionContext) unmarshalOAnnouncementImportance2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementImportance(ctx context.Context, v interface{}) (*AnnouncementImportance, error) { + if v == nil { + return nil, nil + } + var res = new(AnnouncementImportance) + err := res.UnmarshalGQL(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOAnnouncementImportance2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementImportance(ctx context.Context, sel ast.SelectionSet, v *AnnouncementImportance) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return v +} + +func (ec *executionContext) unmarshalOBoolean2bool(ctx context.Context, v interface{}) (bool, error) { + res, err := graphql.UnmarshalBoolean(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOBoolean2bool(ctx context.Context, sel ast.SelectionSet, v bool) graphql.Marshaler { + res := graphql.MarshalBoolean(v) + return res +} + +func (ec *executionContext) unmarshalOBoolean2ᚖbool(ctx context.Context, v interface{}) (*bool, error) { + if v == nil { + return nil, nil + } + res, err := graphql.UnmarshalBoolean(v) + return &res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOBoolean2ᚖbool(ctx context.Context, sel ast.SelectionSet, v *bool) graphql.Marshaler { + if v == nil { + return graphql.Null + } + res := graphql.MarshalBoolean(*v) + return res +} + +func (ec *executionContext) marshalOCompatibilityInfo2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInfo(ctx context.Context, sel ast.SelectionSet, v *CompatibilityInfo) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return ec._CompatibilityInfo(ctx, sel, v) +} + +func (ec *executionContext) unmarshalOCompatibilityInfoInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInfoInput(ctx context.Context, v interface{}) (*CompatibilityInfoInput, error) { + if v == nil { + return nil, nil + } + res, err := ec.unmarshalInputCompatibilityInfoInput(ctx, v) + return &res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOCreateVersionResponse2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCreateVersionResponse(ctx context.Context, sel ast.SelectionSet, v *CreateVersionResponse) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return ec._CreateVersionResponse(ctx, sel, v) +} + +func (ec *executionContext) unmarshalODate2ᚖstring(ctx context.Context, v interface{}) (*string, error) { + if v == nil { + return nil, nil + } + res, err := graphql.UnmarshalString(v) + return &res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalODate2ᚖstring(ctx context.Context, sel ast.SelectionSet, v *string) graphql.Marshaler { + if v == nil { + return graphql.Null + } + res := graphql.MarshalString(*v) + return res +} + +func (ec *executionContext) marshalOGuide2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuide(ctx context.Context, sel ast.SelectionSet, v *Guide) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return ec._Guide(ctx, sel, v) +} + +func (ec *executionContext) unmarshalOGuideFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuideFields(ctx context.Context, v interface{}) (*GuideFields, error) { + if v == nil { + return nil, nil + } + var res = new(GuideFields) + err := res.UnmarshalGQL(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOGuideFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuideFields(ctx context.Context, sel ast.SelectionSet, v *GuideFields) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return v +} + +func (ec *executionContext) unmarshalOGuideFilter2map(ctx context.Context, v interface{}) (map[string]interface{}, error) { + if v == nil { + return nil, nil + } + res, err := ec.unmarshalInputGuideFilter(ctx, v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalOInt2ᚖint(ctx context.Context, v interface{}) (*int, error) { + if v == nil { + return nil, nil + } + res, err := graphql.UnmarshalInt(v) + return &res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOInt2ᚖint(ctx context.Context, sel ast.SelectionSet, v *int) graphql.Marshaler { + if v == nil { + return graphql.Null + } + res := graphql.MarshalInt(*v) + return res +} + +func (ec *executionContext) marshalOMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx context.Context, sel ast.SelectionSet, v *Mod) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return ec._Mod(ctx, sel, v) +} + +func (ec *executionContext) unmarshalOModFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModFields(ctx context.Context, v interface{}) (*ModFields, error) { + if v == nil { + return nil, nil + } + var res = new(ModFields) + err := res.UnmarshalGQL(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOModFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModFields(ctx context.Context, sel ast.SelectionSet, v *ModFields) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return v +} + +func (ec *executionContext) unmarshalOModFilter2map(ctx context.Context, v interface{}) (map[string]interface{}, error) { + if v == nil { + return nil, nil + } + res, err := ec.unmarshalInputModFilter(ctx, v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalOModReference2ᚖstring(ctx context.Context, v interface{}) (*string, error) { + if v == nil { + return nil, nil + } + res, err := graphql.UnmarshalString(v) + return &res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOModReference2ᚖstring(ctx context.Context, sel ast.SelectionSet, v *string) graphql.Marshaler { + if v == nil { + return graphql.Null + } + res := graphql.MarshalString(*v) + return res +} + +func (ec *executionContext) unmarshalOOrder2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOrder(ctx context.Context, v interface{}) (*Order, error) { + if v == nil { + return nil, nil + } + var res = new(Order) + err := res.UnmarshalGQL(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOOrder2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOrder(ctx context.Context, sel ast.SelectionSet, v *Order) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return v +} + +func (ec *executionContext) marshalOSMLVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersion(ctx context.Context, sel ast.SelectionSet, v *SMLVersion) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return ec._SMLVersion(ctx, sel, v) +} + +func (ec *executionContext) unmarshalOSMLVersionFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersionFields(ctx context.Context, v interface{}) (*SMLVersionFields, error) { + if v == nil { + return nil, nil + } + var res = new(SMLVersionFields) + err := res.UnmarshalGQL(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOSMLVersionFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersionFields(ctx context.Context, sel ast.SelectionSet, v *SMLVersionFields) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return v +} + +func (ec *executionContext) unmarshalOSMLVersionFilter2map(ctx context.Context, v interface{}) (map[string]interface{}, error) { + if v == nil { + return nil, nil + } + res, err := ec.unmarshalInputSMLVersionFilter(ctx, v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOSMLVersionTarget2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersionTarget(ctx context.Context, sel ast.SelectionSet, v *SMLVersionTarget) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return ec._SMLVersionTarget(ctx, sel, v) +} + +func (ec *executionContext) marshalOSatisfactoryVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSatisfactoryVersion(ctx context.Context, sel ast.SelectionSet, v *SatisfactoryVersion) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return ec._SatisfactoryVersion(ctx, sel, v) +} + +func (ec *executionContext) unmarshalOString2ᚕstringᚄ(ctx context.Context, v interface{}) ([]string, error) { + if v == nil { + return nil, nil + } + var vSlice []interface{} + if v != nil { + vSlice = graphql.CoerceList(v) + } + var err error + res := make([]string, len(vSlice)) + for i := range vSlice { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) + res[i], err = ec.unmarshalNString2string(ctx, vSlice[i]) + if err != nil { + return nil, err + } + } + return res, nil +} + +func (ec *executionContext) marshalOString2ᚕstringᚄ(ctx context.Context, sel ast.SelectionSet, v []string) graphql.Marshaler { + if v == nil { + return graphql.Null + } + ret := make(graphql.Array, len(v)) + for i := range v { + ret[i] = ec.marshalNString2string(ctx, sel, v[i]) + } + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) unmarshalOString2ᚖstring(ctx context.Context, v interface{}) (*string, error) { + if v == nil { + return nil, nil + } + res, err := graphql.UnmarshalString(v) + return &res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOString2ᚖstring(ctx context.Context, sel ast.SelectionSet, v *string) graphql.Marshaler { + if v == nil { + return graphql.Null + } + res := graphql.MarshalString(*v) + return res +} + +func (ec *executionContext) marshalOTag2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTagᚄ(ctx context.Context, sel ast.SelectionSet, v []*Tag) graphql.Marshaler { + if v == nil { + return graphql.Null + } + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalNTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTag(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalOTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTag(ctx context.Context, sel ast.SelectionSet, v *Tag) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return ec._Tag(ctx, sel, v) +} + +func (ec *executionContext) unmarshalOTagFilter2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTagFilter(ctx context.Context, v interface{}) (*TagFilter, error) { + if v == nil { + return nil, nil + } + res, err := ec.unmarshalInputTagFilter(ctx, v) + return &res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalOTagID2ᚕstringᚄ(ctx context.Context, v interface{}) ([]string, error) { + if v == nil { + return nil, nil + } + var vSlice []interface{} + if v != nil { + vSlice = graphql.CoerceList(v) + } + var err error + res := make([]string, len(vSlice)) + for i := range vSlice { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) + res[i], err = ec.unmarshalNTagID2string(ctx, vSlice[i]) + if err != nil { + return nil, err + } + } + return res, nil +} + +func (ec *executionContext) marshalOTagID2ᚕstringᚄ(ctx context.Context, sel ast.SelectionSet, v []string) graphql.Marshaler { + if v == nil { + return graphql.Null + } + ret := make(graphql.Array, len(v)) + for i := range v { + ret[i] = ec.marshalNTagID2string(ctx, sel, v[i]) + } + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) unmarshalOUpdateUserMod2ᚕgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateUserModᚄ(ctx context.Context, v interface{}) ([]UpdateUserMod, error) { + if v == nil { + return nil, nil + } + var vSlice []interface{} + if v != nil { + vSlice = graphql.CoerceList(v) + } + var err error + res := make([]UpdateUserMod, len(vSlice)) + for i := range vSlice { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) + res[i], err = ec.unmarshalNUpdateUserMod2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateUserMod(ctx, vSlice[i]) + if err != nil { + return nil, err + } + } + return res, nil +} + +func (ec *executionContext) unmarshalOUpload2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚐUpload(ctx context.Context, v interface{}) (*graphql.Upload, error) { + if v == nil { + return nil, nil + } + res, err := graphql.UnmarshalUpload(v) + return &res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOUpload2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚐUpload(ctx context.Context, sel ast.SelectionSet, v *graphql.Upload) graphql.Marshaler { + if v == nil { + return graphql.Null + } + res := graphql.MarshalUpload(*v) + return res +} + +func (ec *executionContext) marshalOUser2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx context.Context, sel ast.SelectionSet, v *User) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return ec._User(ctx, sel, v) +} + +func (ec *executionContext) marshalOUserSession2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserSession(ctx context.Context, sel ast.SelectionSet, v *UserSession) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return ec._UserSession(ctx, sel, v) +} + +func (ec *executionContext) marshalOVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx context.Context, sel ast.SelectionSet, v *Version) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return ec._Version(ctx, sel, v) +} + +func (ec *executionContext) unmarshalOVersionFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionFields(ctx context.Context, v interface{}) (*VersionFields, error) { + if v == nil { + return nil, nil + } + var res = new(VersionFields) + err := res.UnmarshalGQL(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOVersionFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionFields(ctx context.Context, sel ast.SelectionSet, v *VersionFields) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return v +} + +func (ec *executionContext) unmarshalOVersionFilter2map(ctx context.Context, v interface{}) (map[string]interface{}, error) { + if v == nil { + return nil, nil + } + res, err := ec.unmarshalInputVersionFilter(ctx, v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalOVersionStabilities2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionStabilities(ctx context.Context, v interface{}) (*VersionStabilities, error) { + if v == nil { + return nil, nil + } + var res = new(VersionStabilities) + err := res.UnmarshalGQL(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOVersionStabilities2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionStabilities(ctx context.Context, sel ast.SelectionSet, v *VersionStabilities) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return v +} + +func (ec *executionContext) marshalOVersionTarget2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionTarget(ctx context.Context, sel ast.SelectionSet, v *VersionTarget) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return ec._VersionTarget(ctx, sel, v) +} + +func (ec *executionContext) unmarshalOVirustotalID2ᚖstring(ctx context.Context, v interface{}) (*string, error) { + if v == nil { + return nil, nil + } + res, err := graphql.UnmarshalString(v) + return &res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOVirustotalID2ᚖstring(ctx context.Context, sel ast.SelectionSet, v *string) graphql.Marshaler { + if v == nil { + return graphql.Null + } + res := graphql.MarshalString(*v) + return res +} + +func (ec *executionContext) marshalO__EnumValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐEnumValueᚄ(ctx context.Context, sel ast.SelectionSet, v []introspection.EnumValue) graphql.Marshaler { + if v == nil { + return graphql.Null + } + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalN__EnumValue2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐEnumValue(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalO__Field2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐFieldᚄ(ctx context.Context, sel ast.SelectionSet, v []introspection.Field) graphql.Marshaler { + if v == nil { + return graphql.Null + } + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalN__Field2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐField(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalO__InputValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValueᚄ(ctx context.Context, sel ast.SelectionSet, v []introspection.InputValue) graphql.Marshaler { + if v == nil { + return graphql.Null + } + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalN__InputValue2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValue(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalO__Schema2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐSchema(ctx context.Context, sel ast.SelectionSet, v *introspection.Schema) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return ec.___Schema(ctx, sel, v) +} + +func (ec *executionContext) marshalO__Type2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐTypeᚄ(ctx context.Context, sel ast.SelectionSet, v []introspection.Type) graphql.Marshaler { + if v == nil { + return graphql.Null + } + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalN__Type2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalO__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx context.Context, sel ast.SelectionSet, v *introspection.Type) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return ec.___Type(ctx, sel, v) +} + +// endregion ***************************** type.gotpl ***************************** diff --git a/generated/models_gen.go b/generated/models_gen.go index 80d1bf05..c5f645c4 100644 --- a/generated/models_gen.go +++ b/generated/models_gen.go @@ -130,6 +130,7 @@ type Mod struct { Tags []*Tag `json:"tags,omitempty"` Compatibility *CompatibilityInfo `json:"compatibility,omitempty"` ToggleNetworkUse bool `json:"toggle_network_use"` + NetworkUseDisclosure *string `json:"network_use_disclosure,omitempty"` ToggleExplicitContent bool `json:"toggle_explicit_content"` Authors []*UserMod `json:"authors"` Version *Version `json:"version,omitempty"` diff --git a/gql/resolver_mods.go b/gql/resolver_mods.go index 729638be..4cb29fea 100644 --- a/gql/resolver_mods.go +++ b/gql/resolver_mods.go @@ -188,6 +188,8 @@ func (r *mutationResolver) UpdateMod(ctx context.Context, modID string, updateMo SetINNF(updateMod.Hidden, dbUpdate.SetHidden) SetCompatibilityINNF(updateMod.Compatibility, dbUpdate.SetCompatibility) SetINNF(updateMod.ToggleNetworkUse, dbUpdate.SetToggleNetworkUse) + SetINNF(updateMod.NetworkUseDisclosure, dbUpdate.SetNetworkUseDisclosure) + // SetINNF(updateMod.AiUseDisclosure, dbUpdate.SetAiUseDisclosure) SetINNF(updateMod.ToggleExplicitContent, dbUpdate.SetToggleExplicitContent) if updateMod.Logo != nil { diff --git a/migrations/atlas.sum b/migrations/atlas.sum new file mode 100644 index 00000000..7d9c0f31 --- /dev/null +++ b/migrations/atlas.sum @@ -0,0 +1 @@ +h1:47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU= diff --git a/migrations/sql/20250411023207_AddNetworkUsageDislosure.down.sql b/migrations/sql/20250411023207_AddNetworkUsageDislosure.down.sql new file mode 100644 index 00000000..7ff9c976 --- /dev/null +++ b/migrations/sql/20250411023207_AddNetworkUsageDislosure.down.sql @@ -0,0 +1,2 @@ +-- reverse: modify "mods" table +ALTER TABLE "mods" DROP COLUMN "network_use_disclosure"; diff --git a/migrations/sql/20250411023207_AddNetworkUsageDislosure.up.sql b/migrations/sql/20250411023207_AddNetworkUsageDislosure.up.sql new file mode 100644 index 00000000..a94bbee5 --- /dev/null +++ b/migrations/sql/20250411023207_AddNetworkUsageDislosure.up.sql @@ -0,0 +1,2 @@ +-- modify "mods" table +ALTER TABLE "mods" ADD COLUMN "network_use_disclosure" character varying NULL; diff --git a/migrations/sql/atlas.sum b/migrations/sql/atlas.sum index e9b312c3..f8a29143 100644 --- a/migrations/sql/atlas.sum +++ b/migrations/sql/atlas.sum @@ -1,81 +1,83 @@ -h1:NVXwUmNMPEOBFBSqgQGuw/OMarJOpSsxkE/8o1qQH3k= -000001_create_initial_tables.down.sql h1:QcXXwE8ir3PM3vZjQfBihY55WiuLYjN8pbbk/L6U+bs= -000001_create_initial_tables.up.sql h1:EfAqETefs7TW9BDVS4ukiB7wUFs+HQzVdc3qHhdAFd4= -000002_create_user_group_table.down.sql h1:uJjRbQ3H7yvPGNXLD5iSPmderEoWhCNGdsqN8yqBIRY= -000002_create_user_group_table.up.sql h1:vv+FICnFttPJjETbbP3zC20qjeaoD22GsTIhbiqAabI= -000003_add_last_version_date_mod_table.down.sql h1:7XgG/ar7HtfaelfZqAUay9tbGNuE9Zpr8HCXy43Bzho= -000003_add_last_version_date_mod_table.up.sql h1:XS+Wq0PxMje4FspHU0Vf+XMmRPUaNzlzUf2LwBaMJ44= -000004_add_more_oauth_options.down.sql h1:Nh6jm45ZwD5ILB9hD53n3E0FGJBJYiDcgeqKDNa2VEs= -000004_add_more_oauth_options.up.sql h1:1AEKJpNonhN2foWAQy3XEZ7o7Uzz/3VSlSp/HCx2syA= -000005_create_user_group_table.down.sql h1:eT2Sxdjl5PbCEYI2V+iS+ZWqOzBZmX8P022kuYSk8ys= -000005_create_user_group_table.up.sql h1:WiSmqlhOxkcjpe17HaoyHNgIm6R3ZjmDu3JcAig2qww= -000006_sml_versions_table.down.sql h1:9dF9n2s+VTs19tBIF2a/1j8fxmPPR9DACt+3AjFIWj4= -000006_sml_versions_table.up.sql h1:q5mTTHw6XUuHeEGwAQwTbU4XD99j34AiX+D4jL+OZhg= -000007_relationships.down.sql h1:RQK9FsUwEQpH/R1P8lDd1Kj5Qn9K2b7FSSI0kc9fv68= -000007_relationships.up.sql h1:1ssg/HrReOUFJ3fJT64ZUfJyNmn7iCKXNMOdPMEPUv8= -000008_version_dependencies.down.sql h1:lC7lLTXlHMcfHk0o9zdqVnPBwEN65jPziIRjhj69UMQ= -000008_version_dependencies.up.sql h1:tKOBn8Ce6V0ycMDCzGPtscaVElc0Lum4a8uXW9omYlw= -000009_bootstrap_versions_table.down.sql h1:w0K92Mbw7AXU56U5wJVeNE2GvftvQVIeITV2pvIjFCI= -000009_bootstrap_versions_table.up.sql h1:ERPrO2NWBqs6q2ttKNaI0rid3jYKZj6qR913jwzrlYg= -000010_add_version_dependency_optional.down.sql h1:y7DGX+fLPcd/YTHOSHkPleglQDxrNSoeDHwPLQHLMh0= -000010_add_version_dependency_optional.up.sql h1:YjPoFnJhBKD2fnGFhOFtfGEvC6eyXYAsUxsSlnAsDz4= -000011_add_mod_reference.down.sql h1:nr8I6DoIUWPuRDysXh6sOkfC3HpLm/a6UVCLrf0xPMc= -000011_add_mod_reference.up.sql h1:KZS/NMJoWieGP1jtJC51i/lF2a4jOiUWasQibCJ8p9o= -000012_add_version_metadata.down.sql h1:zCNOV0MM5mf636RYhQ7Yz9GKmB+OZ18DnWaIa1ENq5s= -000012_add_version_metadata.up.sql h1:tsd7mN8319cn7XGsdgCmVourq4jhbmuZ/Uapsu9rjJ8= -000013_add_version_mod_reference.down.sql h1:qUmWSHyAGz9AT/Jt2llZnVFADYN1hhgzLYwwuMiMKKo= -000013_add_version_mod_reference.up.sql h1:d65ZVSgh92pwIDrMIwGGJZ6v5fux7AQsrQr8G40iADk= -000014_add_version_split_hidden.down.sql h1:iZcK2FjO+I+xOYWYVF4BJ7ukmBGO0jPGlai2rgOH2P8= -000014_add_version_split_hidden.up.sql h1:3oVTcZfJBy4Fhl6rbD85VGRWKExxHb4ax3hYGbPpkY0= -000015_enable_trgm.down.sql h1:AJJmClZ48VYAJS+Q2rLrPlmIFWktOJInnqrh8SfUrn0= -000015_enable_trgm.up.sql h1:BuogUZkedrKpWLCyX+mtPJrK07tRRAvd30cBUq7T70k= -000016_add_user_groups_dates.down.sql h1:WuPC7OtC0GWeczc2J9ikGGjgnjeqY17iorFBe0tfHZg= -000016_add_user_groups_dates.up.sql h1:KEqV3mtM7RLoBJLxnW++X8dMK16ptMN6Iy/T0QLJZLE= -000017_add_version_indexes.down.sql h1:KiSzz+mDVeHRnUy43t9MdVAC84iXHan64sZNk18+Q/8= -000017_add_version_indexes.up.sql h1:7TqNLBwA+fRodGwo7mQjWm70kEa7yCzhN40WwAvWLE0= -000018_add_announcements.down.sql h1:deFRIsA9cNi5yPqRdzKk/5MvUsSPl8b7HUQnfhBZJvM= -000018_add_announcements.up.sql h1:RD9TFmGFPMiJW19jNwXJ9XjfoNtNcw4blzaLS3Rrvow= -000019_add_tags.down.sql h1:CStsWh+638pZQbFbEEwZoWC+XF5S/xHSJSjzdhP9ybU= -000019_add_tags.up.sql h1:18KalrGuJNFDjFmVlXRGNsEm768VymvCFzvNB0KKtB8= -000020_add_compatibility.down.sql h1:4v6wWre9XOs+z140mpTDuRueHb/6iOcS0ezn/LHf13o= -000020_add_compatibility.up.sql h1:XgJ1a1joBZtLnoVNt24FfmXrYXn0d8iZa61kJ4EvmZ0= -000021_add_mod_platform.down.sql h1:vtA2qkHxQfc+fHlvJ8KXjk4K0rVG4MPTopP1TSMbiPY= -000021_add_mod_platform.up.sql h1:mj/TKRTjPcpmyQdIasBteHe36JkLfrVphsyw9yZTApI= -000022_update_mod_targets.down.sql h1:CP8p7mS9QaWacjBS8CAUaT4Cy7/qWjMt7wBbVq1qjJI= -000022_update_mod_targets.up.sql h1:gUZTxiHhZ7taXyV+C3188GnmeBI/uI7uBqjD41UgQEs= -000023_migrate_versions_to_targets.down.sql h1:VInDE7go02NuOl82UHeibzgZJqxPhWgmvH5fylAWJTE= -000023_migrate_versions_to_targets.up.sql h1:vdqjCswMAe+rma9iHtXbFSQu9lD13TiXIRMYpDhmm1M= -000024_add_sml_engine_version.down.sql h1:2v4S22nL7rL6lCeqLijs62srTmhm+1bHvpbpercu+U4= -000024_add_sml_engine_version.up.sql h1:FOidt1bZzyltMGmZfQVbe+4uqU2l2C8RosedCZ8DN7o= -000025_add_tag_description.down.sql h1:UYOx8SSsOukHsbDJZWLoyeDkJk+2PwbqG07txsQ3N+Y= -000025_add_tag_description.up.sql h1:f5KICtSygQSqt6T1zwvskLGEN4IQ3LoUh+a9dMEHySU= -000026_add_rng.down.sql h1:gNRv048A3SjY4QpUfBB7Jssc0yye634QMBEIH/Yxo5E= -000026_add_rng.up.sql h1:UfiORAolITEGUqaiieZUbLo4ym9ucLD9j/13XsTHw0U= -000027_add_id_columns.down.sql h1:evCZZoTTRe7D6actv9T6RnMmmsa/H/mx+iuW+peFpiw= -000027_add_id_columns.up.sql h1:FLIEmyz5jO+QPCBGb/DNSW6QWTIgVUHb7CY712IFBZ4= -000028_increase_token_length_limit.down.sql h1:4AiEPXj1XVBAZs1DReN+sBOkDdAZye15yIVNKAg/KC4= -000028_increase_token_length_limit.up.sql h1:j8x0A/MQf/Sqv0ZqULcn3AMbQkH632EW7YfzlSIeezA= -000029_sml_as_mod.down.sql h1:+OMz5BAnf/sjjO6hcnWagU2OXmabMHYMXwHmSlZk2rg= -000029_sml_as_mod.up.sql h1:LjCzX2ua9e0QmxCsYL9Yj7Rf8toWut6KdbR32ROraU0= -000030_db_normalization.down.sql h1:eHNIHjteGV6/BRywsJoV/WNQS3EVl9KISGRCjgP4XAA= -000030_db_normalization.up.sql h1:siSIt2HFybFyxqzFNw/V12GSf58Id6aBcLnT5eg0YXs= -20240705180551_initial_transfer_to_atlas.down.sql h1:naUs2XWGUoYRCxS59USK+Ic6AolQnLX3BMPUHdxBUL8= -20240705180551_initial_transfer_to_atlas.up.sql h1:x51llUVQXurUJEu3S6QckS4S3FBPhrSCoTK5ay/okG8= -20240815141045_drop_version_stability_enum.down.sql h1:goFiSI0l6xzq5MSB0z7gH1pLWH/DxdqNtUU8tW5ff5g= -20240815141045_drop_version_stability_enum.up.sql h1:vPGVKylyRRIvaQwdlOtAdn6M6rpA2HrXxLXRf2aDO4Q= -20240818235330_index_fixes.down.sql h1:RbMhIdLIODCHYHWp/WxFpVBcmwKYedsudaVAuYHX+zY= -20240818235330_index_fixes.up.sql h1:xTw9pSSWkMcjZeIC+npdWT2nk+bvcjVMHHvyB2cDz5g= -20240819092347_user_indexes.down.sql h1:a+LhZ3NoCFBFWrBDcZAKjh8szFZsKWSLFd9LfsoDWbs= -20240819092347_user_indexes.up.sql h1:Ei9ma1Kd/88nB4QOKmSfjz+gSs/sW1rB7LM3+3bY71s= -20240823233610_add_mod_toggles.down.sql h1:6M1jiInRvHFBMTj2+NRdipO/z5oyn7qBYt4EIOTIqXg= -20240823233610_add_mod_toggles.up.sql h1:GuKMUrlGo1PppjX0uiw3OTyi2nziRI+o/LVtWfcjyLc= -20240826153722_add_thumbhash.down.sql h1:FN73gi6XvAkodHxFuE4oDU73FfchoyonlyroQTrwCW0= -20240826153722_add_thumbhash.up.sql h1:7a9d40zpOnKMamxW14ql3WFXiwXD4O6AjwMlAOVE7ik= -20240930114249_add_required_on_remote.down.sql h1:cbW5+35gg4R78zsjcqPO94e8X1QcYB9nPllGgtKGOr8= -20240930114249_add_required_on_remote.up.sql h1:NZJmXjtKEIHRhVlSSu9nKADo/8xhZAeckrf6NoZMmjk= -20241002191358_state_fix.down.sql h1:EnNOr58ajtIPS7BIgA6l60Jr8hE0ufCE6t0zFdvfnaw= -20241002191358_state_fix.up.sql h1:4bVw9fxEP9MrHBSYuRF3vFCgaWF79EUeacD3e+vSQR4= -20241003161005_create_virustotal_results_table.down.sql h1:BPUQ6UnWq6Inwz2GhZLoy4/QghPhClf1PlfZHis92P4= -20241003161005_create_virustotal_results_table.up.sql h1:mXMWj998hZ59bbkZYIbbyxU9foptzWuXHnlS2UuY4bY= -20241008092121_nullable_mod_logo.down.sql h1:vKZrz/FqaaQctvzrTR0EvQcyQ6ENWgTbcud7q2/NvnY= -20241008092121_nullable_mod_logo.up.sql h1:7ePponYitScS4NnMP+hRoEAKnvPPpbCHXMxilYzfmD8= +h1:UFnk5AKtC+Wym0+LsyibDPFlFPKxHrrC8nWPfXA62H4= +000001_create_initial_tables.down.sql h1:TAv6ggW4lbUwOkOMZXmU4dTtFHhFzbUoR4sO11ziCfc= +000001_create_initial_tables.up.sql h1:kKhn2SgX9TQdLhBRg3qEZ3U7UDUkcH5TxS6OX6UHUEw= +000002_create_user_group_table.down.sql h1:f+tCUAVsan7L2YiEgoIM44P9VmbiLabWlnuMsMrdC8o= +000002_create_user_group_table.up.sql h1:BG9E87PsefDDaNR/zIpLbzdbMEWM87g8X0OoIXyTgpU= +000003_add_last_version_date_mod_table.down.sql h1:6Qve2zC9jXzG0I7Ex7LnSEzXHwQMaW50ancWsSRfw2w= +000003_add_last_version_date_mod_table.up.sql h1:B7FK6ReUlEaMG69RVuLBDleQWiggNbGOjhfTDoldFSY= +000004_add_more_oauth_options.down.sql h1:tftu94bVIseAJxpJ3SRUAXu+RESoZJlogpaAWYPlQN4= +000004_add_more_oauth_options.up.sql h1:PlrWl6Kw8vyiZstKo9BDUWyi4qlO8m7tVbJvCH43Sv4= +000005_create_user_group_table.down.sql h1:XnhvTYQf57tPj6VwxkRWrx7qgMo6xspd/5rE/c2t/pY= +000005_create_user_group_table.up.sql h1:Wc2Lzi5koNNblGg0WMlu6A5kghi/kQQClNKjyZWSl/s= +000006_sml_versions_table.down.sql h1:s6mQr4bCrDsE2Eh2bkE/c8IOYHK1W6mYcy2/JltAZ2E= +000006_sml_versions_table.up.sql h1:+nhsOYP18/vt/DBsqFv7dHelncglGWeGhQgR/Xh9PR0= +000007_relationships.down.sql h1:96D/tLlkB4F6svCi6AvBPEa4k58s0S88HPp9ZHa2ugU= +000007_relationships.up.sql h1:22U/8LzjwxbPcx1Cdy8Ej+2PFXdZAxoJdSyT9ivb42Y= +000008_version_dependencies.down.sql h1:PkOaetr304hexViaRkLsVNUE8b0/ZHdSn6kFdLWBVnQ= +000008_version_dependencies.up.sql h1:0hUeBOQs7Q2NH7zNSkcJDLaB82Vfm0SqttMZdkmnpGE= +000009_bootstrap_versions_table.down.sql h1:0ua4I9hKXGcG/WtMfzXz/roNTb7yna3fuOCuGTIStZk= +000009_bootstrap_versions_table.up.sql h1:zkmXnkJ23AXQQVPZM/ulvAPDoUc+dwSVoGXjgVC0AjY= +000010_add_version_dependency_optional.down.sql h1:5+SjU9WUGIv11qWueD29ktxbNSWb6lWcO/u0L8BouHs= +000010_add_version_dependency_optional.up.sql h1:aDyGsUiLOMAQ2iPdimdkQQMtItSfAPXXKAZEvKs/HLw= +000011_add_mod_reference.down.sql h1:bnjHq5oXHnvAfvHLj1+v8SboVeDv6Lsgy43CmIH1kYw= +000011_add_mod_reference.up.sql h1:afEnBhujHYJgXpY2Jz6bfitjxk19bDHGJNqsJa6YCe0= +000012_add_version_metadata.down.sql h1:prYrSeSOlOGKa5p8/y0xd5x2YcIZOxXfP8EZA/TGMM4= +000012_add_version_metadata.up.sql h1:nXqrh06TKCwW5KAbMmlEbxnYYkqepiHE7I0hUylJxs8= +000013_add_version_mod_reference.down.sql h1:92ge01KVDJmSN6BTTfTuPcWgjImUnSD3w3jbl/RFCI0= +000013_add_version_mod_reference.up.sql h1:FWF5G4N+hAsgOqEPXwTjT6HbPDytWcABoO+gdN34S4Y= +000014_add_version_split_hidden.down.sql h1:iPhobpK95Yh8QLrj5os4B+dscZfJo48vcBngnzg+GUg= +000014_add_version_split_hidden.up.sql h1:amDCSi/BnAoIzu2x4t8LcVRGM9sOvvaRV9i8I/L/wOA= +000015_enable_trgm.down.sql h1:oyBqYgvoRmDF2wYvu6bGRQGacAOJ7x+qAbNhseo5hZQ= +000015_enable_trgm.up.sql h1:gN4T2DCOjXARG3H3QpXGk/U3+MWXbyqOfrCo+f7hgJk= +000016_add_user_groups_dates.down.sql h1:eUgYfWMiC2fvdsugqJ9rs5IOVRMKguHMFK/sorgvN7o= +000016_add_user_groups_dates.up.sql h1:+AhLGfTBNAvAlVQhy1cxy6lu77eqbcMRyGr2P8UuYRQ= +000017_add_version_indexes.down.sql h1:YfN82544ApEsVFjEFPAXJeqFDdK4BBJ2KppigIL6U/c= +000017_add_version_indexes.up.sql h1:XafY9GFpEDx31Qm/HUtviPjb6zSy5Fzpx3KMWu268j4= +000018_add_announcements.down.sql h1:JQfwIZarOCsRvqyxPQ3XGbI/2sbbfBJQ5hBj9AiVIWs= +000018_add_announcements.up.sql h1:8S/jV9e3bIo2am9W31/uvKMr5M3yZ6KnwViSMqnq+js= +000019_add_tags.down.sql h1:uRV6TDjH/3AqzBtdL7MhMSmLVDPyQIxSp8uENNJ2x+c= +000019_add_tags.up.sql h1:gSN6DjRc8/KRTNal8hLjcOO7cZwSRN/uXuFkCJwgyjQ= +000020_add_compatibility.down.sql h1:kGGFZ/1j1zK0g6Uthv55w1IPg0dLznHEbKwTj9IcM44= +000020_add_compatibility.up.sql h1:x8ppz4h7xxt9XKnsiPT2WxLFnI9Ektlgj8d9N1NqOmQ= +000021_add_mod_platform.down.sql h1:wuyZvOdxvhA8iTC0znHidyJB/xfIv0TkK2Erfvb1xXE= +000021_add_mod_platform.up.sql h1:L4N1gpRuEI1ftkqwDZUzEKjmvWPdN98o3s5rGWyFZCg= +000022_update_mod_targets.down.sql h1:wIqfa7Dx5TY8+7YP3pDsnyhMYp1Nx2MiFyIPazmWT2E= +000022_update_mod_targets.up.sql h1:WhowPZDmHdEjCUQ9oxdP/hgfLyRsAr2UHx+gR1dHC8k= +000023_migrate_versions_to_targets.down.sql h1:aEx2A+u7vTJMA2blSeHrK02PhOUukGyythT0mSNnq8k= +000023_migrate_versions_to_targets.up.sql h1:33dWRe6FNkabQnjFu1oPZXxi2rEdmZJIn+f8Hgv4qZI= +000024_add_sml_engine_version.down.sql h1:OyRiEb0VJ1x6wo22AgX6tKSNUH2P5LjHo6EQTkyXLFQ= +000024_add_sml_engine_version.up.sql h1:z8c5VNSeWHDcOanE1F4d7RGzxNwq/YedG3LWJ7ZnfPI= +000025_add_tag_description.down.sql h1:SzZR95r55IKxn6TiVqebn5r885tMtuK73CCkPZhi7wM= +000025_add_tag_description.up.sql h1:qMM3YX88dbrHMOHZjwG68uhlO2wQ5c75MQNn7dhrkvg= +000026_add_rng.down.sql h1:3mqfZIagraGHwmh1o0BP8ScAzgw4wqnD2zXGPp5b8C8= +000026_add_rng.up.sql h1:PQfw2YPE8HjykQeC3Kpktzoc5bAnR+d9nv+RzxiK6AE= +000027_add_id_columns.down.sql h1:jfk5162eLuR6eiQcWDntsd6It9WrnxE0gbpf8tqJi8U= +000027_add_id_columns.up.sql h1:B4UK18rhiOgz+A9KWCIMdyVvUnxJMcp8QBxJrXXME4o= +000028_increase_token_length_limit.down.sql h1:qg9PvQmD1883kp4OYz7rBAp2ZGUX1X/4Jv4xbDrKg8Y= +000028_increase_token_length_limit.up.sql h1:GkNSYjqoNMlkEjncIV+zyz6EYl2u3itgB4x0Ol4KcOQ= +000029_sml_as_mod.down.sql h1:TJOCDXqHi1akk/kvji1H2BP3ApUfoRnsCH5R5U9BgiQ= +000029_sml_as_mod.up.sql h1:o5aqeDjdx/rS5b5Ku/xKu0GKCx2l/K19gbk1jVg2Dow= +000030_db_normalization.down.sql h1:F7JVR7RJ1SDEvzKlby32OiBiWocDRweqecK2sSJL/D4= +000030_db_normalization.up.sql h1:fbA9hbv7WkCTFK6m+PHPNz/hfWVD6Lm/to+owsaHlFQ= +20240705180551_initial_transfer_to_atlas.down.sql h1:pDMCHu/t3upV/vNitEiGpt8CuaP886EELsWOo2bRAuc= +20240705180551_initial_transfer_to_atlas.up.sql h1:cfGHmEZD0rUbVfVBSvlL6RtgYrayWlgfoS2OptbF/gE= +20240815141045_drop_version_stability_enum.down.sql h1:q+Un9r7fxI2kDZIOlv6j7Gpmfr2FKOde0+7YjfewsHQ= +20240815141045_drop_version_stability_enum.up.sql h1:4KOWq9Y1QN/1IgeM+b9+NsMXLUlPV7gFNoOfgg1Qn80= +20240818235330_index_fixes.down.sql h1:imMYBi1RH5MGeJKabtj6ZqkI7YbdIAubh6KV1tCjrb0= +20240818235330_index_fixes.up.sql h1:0e4W8zNloIYlhMRFvGzfsMxoB3hBnaNMU83dTDiXMBE= +20240819092347_user_indexes.down.sql h1:DFXT/qDXmmyZGwf6cyWk50M743zmCz3MCYTMxCKp0AM= +20240819092347_user_indexes.up.sql h1:JG6wY+xcMidSbRyt7KspXN488rDvfxmDp6bNSfcsguA= +20240823233610_add_mod_toggles.down.sql h1:52/zfHvDc4vbmIwM0nJLcPULayOPKMzuXj2nz8WzNnQ= +20240823233610_add_mod_toggles.up.sql h1:e88KAwYbnB8bOjye2SpuGXH/BNGjnUp7R3YqYP0PueU= +20240826153722_add_thumbhash.down.sql h1:pVMtsQ+Z9oBLUe1OOne/nHOGnpIHQq7UB756aWlMoNA= +20240826153722_add_thumbhash.up.sql h1:kE8s74yhUgLGu1FGvp7lWkJbWe7MG6MjgG1Iweo9wc8= +20240930114249_add_required_on_remote.down.sql h1:nHDVWPb5ylNYvXk2+hJyn+HzPFmpc7eCAT8m5DPFEjc= +20240930114249_add_required_on_remote.up.sql h1:ayNDXhhQ+vFnslXHV6U/F4nb2nA/eqCWFIzDiayjVdE= +20241002191358_state_fix.down.sql h1:0ReiqKKlDWaCjBt1qiEh4T1vHBm0fkNHDBO498qzBLM= +20241002191358_state_fix.up.sql h1:LOhvOnIkb9ZAaKx1MglYLO49JAEoQqHTU6qGiLG1UVE= +20241003161005_create_virustotal_results_table.down.sql h1:6qHGnsq2X9gim/B8sK4Fr5yjPFPhFA5YG5p9V1gjv3w= +20241003161005_create_virustotal_results_table.up.sql h1:oSgJ3hMhfiAm8qI9KRzON9vsKjhBmvmschos1rOLyWs= +20241008092121_nullable_mod_logo.down.sql h1:QRySsschX3aPUeAFSm4kUNfxaQH5B77eqz05MrNERrE= +20241008092121_nullable_mod_logo.up.sql h1:deO7iGJdjR3epppZ9lzqjhYAO+AuW/zaGW2+4b6RT1s= +20250411023207_AddNetworkUsageDislosure.down.sql h1:UyzVHEVLcGjTdj/NnckYlTH9yZKzXyivITzasuUCr2g= +20250411023207_AddNetworkUsageDislosure.up.sql h1:rj9Ab0pJj0MCycdrOXtVLHy3DA48ez5fvIxxR5cWliE= diff --git a/schemas/mod.graphql b/schemas/mod.graphql index 3086afc2..1024586d 100755 --- a/schemas/mod.graphql +++ b/schemas/mod.graphql @@ -15,6 +15,17 @@ enum ModFields { search } +# enum AiUseDisclosureType { +# NotUsed +# AdaMessages +# Used +# } + +# type AiUseDisclosure { +# type: AiUseDisclosureType! +# note: String +# } + type Mod { id: ModID! name: String! @@ -37,6 +48,8 @@ type Mod { tags: [Tag!] compatibility: CompatibilityInfo toggle_network_use: Boolean! + network_use_disclosure: String + # ai_use_disclosure: AiUseDisclosure toggle_explicit_content: Boolean! authors: [UserMod!]! @@ -100,6 +113,8 @@ input UpdateMod { tagIDs: [TagID!] compatibility: CompatibilityInfoInput toggle_network_use: Boolean + network_use_disclosure: String + # ai_use_disclosure: AiUseDisclosureInput toggle_explicit_content: Boolean } From 33c1b1afebecd5d1016146bff7a9876c5da5dd30 Mon Sep 17 00:00:00 2001 From: Rob B Date: Fri, 11 Apr 2025 19:14:28 -0400 Subject: [PATCH 005/100] fix: make network_use_disclosure nillable --- db/schema/mod.go | 2 +- generated/conv/mod.go | 8 ++++++-- generated/ent/internal/schema.go | 2 +- generated/ent/mod.go | 11 +++++++---- generated/ent/mod_create.go | 2 +- generated/ent/mutation.go | 2 +- 6 files changed, 17 insertions(+), 10 deletions(-) diff --git a/db/schema/mod.go b/db/schema/mod.go index ea5288f2..8a7c31e8 100644 --- a/db/schema/mod.go +++ b/db/schema/mod.go @@ -46,7 +46,7 @@ func (Mod) Fields() []ent.Field { field.Bool("hidden").Default(false), field.JSON("compatibility", &util.CompatibilityInfo{}).Optional(), field.Bool("toggle_network_use").Default(false), - field.String("network_use_disclosure").Optional(), + field.String("network_use_disclosure").Optional().Nillable(), // field.JSON("ai_use_disclosure", &AiUseDisclosure{}).Optional(), // field.String("ai_use_disclosure").Optional(), field.Bool("toggle_explicit_content").Default(false), diff --git a/generated/conv/mod.go b/generated/conv/mod.go index 64be8b40..16f60b48 100755 --- a/generated/conv/mod.go +++ b/generated/conv/mod.go @@ -47,8 +47,12 @@ func (c *ModImpl) Convert(source *ent.Mod) *generated.Mod { } generatedMod.Compatibility = c.pUtilCompatibilityInfoToPGeneratedCompatibilityInfo((*source).Compatibility) generatedMod.ToggleNetworkUse = (*source).ToggleNetworkUse - pString5 := (*source).NetworkUseDisclosure - generatedMod.NetworkUseDisclosure = &pString5 + var pString5 *string + if (*source).NetworkUseDisclosure != nil { + xstring := *(*source).NetworkUseDisclosure + pString5 = &xstring + } + generatedMod.NetworkUseDisclosure = pString5 generatedMod.ToggleExplicitContent = (*source).ToggleExplicitContent pGeneratedMod = &generatedMod } diff --git a/generated/ent/internal/schema.go b/generated/ent/internal/schema.go index 9ba466a2..2fa6da14 100644 --- a/generated/ent/internal/schema.go +++ b/generated/ent/internal/schema.go @@ -6,4 +6,4 @@ // Package internal holds a loadable version of the latest schema. package internal -const Schema = "{\"Schema\":\"github.com/satisfactorymodding/smr-api/db/schema\",\"Package\":\"github.com/satisfactorymodding/smr-api/generated/ent\",\"Schemas\":[{\"name\":\"Announcement\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"message\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"importance\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Guide\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"guides\",\"unique\":true,\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"}}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"guide\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":2,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"GuideTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guide\",\"type\":\"Guide\",\"field\":\"guide_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"guide_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"guide_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"Mod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"versions\",\"type\":\"Version\"},{\"name\":\"authors\",\"type\":\"User\",\"ref_name\":\"mods\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"},\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"}},{\"name\":\"dependents\",\"type\":\"Version\",\"ref_name\":\"dependencies\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"full_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"source_url\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"creator_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"popularity\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"last_version_date\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hidden\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"compatibility\",\"type\":{\"Type\":3,\"Ident\":\"*util.CompatibilityInfo\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":true,\"RType\":{\"Name\":\"CompatibilityInfo\",\"Ident\":\"util.CompatibilityInfo\",\"Kind\":22,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{}}},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_network_use\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"network_use_disclosure\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":18,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_explicit_content\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":19,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"last_version_date\"]},{\"unique\":true,\"fields\":[\"mod_reference\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"ModTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"mod_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"SatisfactoryVersion\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"unique\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"engine_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"default\":true,\"default_value\":\"4.26\",\"default_kind\":24,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}]},{\"name\":\"Tag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mods\",\"type\":\"Mod\",\"ref_name\":\"tags\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"},\"inverse\":true},{\"name\":\"guides\",\"type\":\"Guide\",\"ref_name\":\"tags\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":24,\"unique\":true,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"optional\":true,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"User\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guides\",\"type\":\"Guide\"},{\"name\":\"sessions\",\"type\":\"UserSession\",\"storage_key\":{\"Table\":\"\",\"Symbols\":null,\"Columns\":[\"user_id\"]}},{\"name\":\"mods\",\"type\":\"Mod\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"}},{\"name\":\"groups\",\"type\":\"UserGroup\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"email\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":256,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"username\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"joined_from\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"banned\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"rank\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":1,\"default_kind\":2,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"github_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"optional\":true,\"validators\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"google_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"optional\":true,\"validators\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"facebook_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"optional\":true,\"validators\":1,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"email\"]},{\"unique\":true,\"fields\":[\"github_id\"]},{\"unique\":true,\"fields\":[\"google_id\"]},{\"unique\":true,\"fields\":[\"facebook_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserGroup\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"groups\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"group_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"user_id\",\"group_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserMod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"role\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"user_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"UserSession\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"ref_name\":\"sessions\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"token\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"user_agent\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"token\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Version\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"ref_name\":\"versions\",\"unique\":true,\"inverse\":true,\"required\":true},{\"name\":\"dependencies\",\"type\":\"Mod\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"}},{\"name\":\"targets\",\"type\":\"VersionTarget\"},{\"name\":\"virustotal_results\",\"type\":\"VirustotalResult\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"game_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"required_on_remote\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":true,\"default_kind\":1,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"changelog\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"stability\",\"type\":{\"Type\":6,\"Ident\":\"util.Stability\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":false,\"RType\":{\"Name\":\"Stability\",\"Ident\":\"util.Stability\",\"Kind\":24,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{\"Values\":{\"In\":[],\"Out\":[{\"Name\":\"\",\"Ident\":\"[]string\",\"Kind\":23,\"PkgPath\":\"\",\"Methods\":null}]}}}},\"enums\":[{\"N\":\"release\",\"V\":\"release\"},{\"N\":\"beta\",\"V\":\"beta\"},{\"N\":\"alpha\",\"V\":\"alpha\"}],\"default\":true,\"default_value\":\"release\",\"default_kind\":24,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"metadata\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_major\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_minor\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_patch\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"optional\":true,\"validators\":2,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"approved\"]},{\"fields\":[\"denied\"]},{\"fields\":[\"mod_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"VersionDependency\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"condition\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"optional\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"annotations\":{\"Fields\":{\"ID\":[\"version_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"VersionTarget\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"targets\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"target_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"unique\":true,\"fields\":[\"version_id\",\"target_name\"]}]},{\"name\":\"VirustotalResult\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"virustotal_results\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"safe\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":2,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"file_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":2,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"safe\"]},{\"unique\":true,\"fields\":[\"hash\",\"version_id\"]},{\"fields\":[\"file_name\"]}]}],\"Features\":[\"sql/modifier\",\"intercept\",\"schema/snapshot\",\"sql/execquery\",\"sql/upsert\"]}" +const Schema = "{\"Schema\":\"github.com/satisfactorymodding/smr-api/db/schema\",\"Package\":\"github.com/satisfactorymodding/smr-api/generated/ent\",\"Schemas\":[{\"name\":\"Announcement\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"message\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"importance\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Guide\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"guides\",\"unique\":true,\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"}}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"guide\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":2,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"GuideTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guide\",\"type\":\"Guide\",\"field\":\"guide_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"guide_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"guide_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"Mod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"versions\",\"type\":\"Version\"},{\"name\":\"authors\",\"type\":\"User\",\"ref_name\":\"mods\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"},\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"}},{\"name\":\"dependents\",\"type\":\"Version\",\"ref_name\":\"dependencies\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"full_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"source_url\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"creator_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"popularity\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"last_version_date\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hidden\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"compatibility\",\"type\":{\"Type\":3,\"Ident\":\"*util.CompatibilityInfo\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":true,\"RType\":{\"Name\":\"CompatibilityInfo\",\"Ident\":\"util.CompatibilityInfo\",\"Kind\":22,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{}}},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_network_use\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"network_use_disclosure\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"nillable\":true,\"optional\":true,\"position\":{\"Index\":18,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_explicit_content\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":19,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"last_version_date\"]},{\"unique\":true,\"fields\":[\"mod_reference\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"ModTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"mod_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"SatisfactoryVersion\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"unique\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"engine_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"default\":true,\"default_value\":\"4.26\",\"default_kind\":24,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}]},{\"name\":\"Tag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mods\",\"type\":\"Mod\",\"ref_name\":\"tags\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"},\"inverse\":true},{\"name\":\"guides\",\"type\":\"Guide\",\"ref_name\":\"tags\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":24,\"unique\":true,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"optional\":true,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"User\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guides\",\"type\":\"Guide\"},{\"name\":\"sessions\",\"type\":\"UserSession\",\"storage_key\":{\"Table\":\"\",\"Symbols\":null,\"Columns\":[\"user_id\"]}},{\"name\":\"mods\",\"type\":\"Mod\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"}},{\"name\":\"groups\",\"type\":\"UserGroup\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"email\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":256,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"username\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"joined_from\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"banned\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"rank\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":1,\"default_kind\":2,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"github_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"optional\":true,\"validators\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"google_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"optional\":true,\"validators\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"facebook_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"optional\":true,\"validators\":1,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"email\"]},{\"unique\":true,\"fields\":[\"github_id\"]},{\"unique\":true,\"fields\":[\"google_id\"]},{\"unique\":true,\"fields\":[\"facebook_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserGroup\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"groups\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"group_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"user_id\",\"group_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserMod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"role\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"user_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"UserSession\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"ref_name\":\"sessions\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"token\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"user_agent\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"token\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Version\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"ref_name\":\"versions\",\"unique\":true,\"inverse\":true,\"required\":true},{\"name\":\"dependencies\",\"type\":\"Mod\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"}},{\"name\":\"targets\",\"type\":\"VersionTarget\"},{\"name\":\"virustotal_results\",\"type\":\"VirustotalResult\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"game_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"required_on_remote\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":true,\"default_kind\":1,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"changelog\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"stability\",\"type\":{\"Type\":6,\"Ident\":\"util.Stability\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":false,\"RType\":{\"Name\":\"Stability\",\"Ident\":\"util.Stability\",\"Kind\":24,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{\"Values\":{\"In\":[],\"Out\":[{\"Name\":\"\",\"Ident\":\"[]string\",\"Kind\":23,\"PkgPath\":\"\",\"Methods\":null}]}}}},\"enums\":[{\"N\":\"release\",\"V\":\"release\"},{\"N\":\"beta\",\"V\":\"beta\"},{\"N\":\"alpha\",\"V\":\"alpha\"}],\"default\":true,\"default_value\":\"release\",\"default_kind\":24,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"metadata\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_major\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_minor\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_patch\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"optional\":true,\"validators\":2,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"approved\"]},{\"fields\":[\"denied\"]},{\"fields\":[\"mod_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"VersionDependency\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"condition\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"optional\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"annotations\":{\"Fields\":{\"ID\":[\"version_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"VersionTarget\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"targets\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"target_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"unique\":true,\"fields\":[\"version_id\",\"target_name\"]}]},{\"name\":\"VirustotalResult\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"virustotal_results\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"safe\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":2,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"file_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":2,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"safe\"]},{\"unique\":true,\"fields\":[\"hash\",\"version_id\"]},{\"fields\":[\"file_name\"]}]}],\"Features\":[\"sql/modifier\",\"intercept\",\"schema/snapshot\",\"sql/execquery\",\"sql/upsert\"]}" diff --git a/generated/ent/mod.go b/generated/ent/mod.go index d976712f..0c4f985f 100644 --- a/generated/ent/mod.go +++ b/generated/ent/mod.go @@ -62,7 +62,7 @@ type Mod struct { // ToggleNetworkUse holds the value of the "toggle_network_use" field. ToggleNetworkUse bool `json:"toggle_network_use,omitempty"` // NetworkUseDisclosure holds the value of the "network_use_disclosure" field. - NetworkUseDisclosure string `json:"network_use_disclosure,omitempty"` + NetworkUseDisclosure *string `json:"network_use_disclosure,omitempty"` // ToggleExplicitContent holds the value of the "toggle_explicit_content" field. ToggleExplicitContent bool `json:"toggle_explicit_content,omitempty"` // Edges holds the relations/edges for other nodes in the graph. @@ -323,7 +323,8 @@ func (m *Mod) assignValues(columns []string, values []any) error { if value, ok := values[i].(*sql.NullString); !ok { return fmt.Errorf("unexpected type %T for field network_use_disclosure", values[i]) } else if value.Valid { - m.NetworkUseDisclosure = value.String + m.NetworkUseDisclosure = new(string) + *m.NetworkUseDisclosure = value.String } case mod.FieldToggleExplicitContent: if value, ok := values[i].(*sql.NullBool); !ok { @@ -465,8 +466,10 @@ func (m *Mod) String() string { builder.WriteString("toggle_network_use=") builder.WriteString(fmt.Sprintf("%v", m.ToggleNetworkUse)) builder.WriteString(", ") - builder.WriteString("network_use_disclosure=") - builder.WriteString(m.NetworkUseDisclosure) + if v := m.NetworkUseDisclosure; v != nil { + builder.WriteString("network_use_disclosure=") + builder.WriteString(*v) + } builder.WriteString(", ") builder.WriteString("toggle_explicit_content=") builder.WriteString(fmt.Sprintf("%v", m.ToggleExplicitContent)) diff --git a/generated/ent/mod_create.go b/generated/ent/mod_create.go index c284e08f..4a94e92c 100644 --- a/generated/ent/mod_create.go +++ b/generated/ent/mod_create.go @@ -659,7 +659,7 @@ func (mc *ModCreate) createSpec() (*Mod, *sqlgraph.CreateSpec) { } if value, ok := mc.mutation.NetworkUseDisclosure(); ok { _spec.SetField(mod.FieldNetworkUseDisclosure, field.TypeString, value) - _node.NetworkUseDisclosure = value + _node.NetworkUseDisclosure = &value } if value, ok := mc.mutation.ToggleExplicitContent(); ok { _spec.SetField(mod.FieldToggleExplicitContent, field.TypeBool, value) diff --git a/generated/ent/mutation.go b/generated/ent/mutation.go index b321f3b3..483aa2cd 100644 --- a/generated/ent/mutation.go +++ b/generated/ent/mutation.go @@ -3017,7 +3017,7 @@ func (m *ModMutation) NetworkUseDisclosure() (r string, exists bool) { // OldNetworkUseDisclosure returns the old "network_use_disclosure" field's value of the Mod entity. // If the Mod object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. -func (m *ModMutation) OldNetworkUseDisclosure(ctx context.Context) (v string, err error) { +func (m *ModMutation) OldNetworkUseDisclosure(ctx context.Context) (v *string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldNetworkUseDisclosure is only allowed on UpdateOne operations") } From 8820fd16c05c2a32e0bf9fa0659028c598b1185f Mon Sep 17 00:00:00 2001 From: Rob B Date: Fri, 11 Apr 2025 19:40:06 -0400 Subject: [PATCH 006/100] chore: update to gqlgen 0.17.56 for omittable support. note: must go directly to .56 because of this bug https://github.com/99designs/gqlgen/issues/3321 --- cspell.json | 8 + generated/generated.go | 3238 ++++++++++++++++++++++++++++++---------- gqlgen.yml | 6 + 3 files changed, 2496 insertions(+), 756 deletions(-) diff --git a/cspell.json b/cspell.json index c698ed26..7922dbe7 100644 --- a/cspell.json +++ b/cspell.json @@ -7,17 +7,25 @@ ], "words": [ "devbox", + "entcache", + "entgo", "fenv", + "fgprof", + "ficsit", "golangci", "goverter", + "gqlgen", "libwebp", "Mircea", "mtxr", "nixos", + "nolint", + "otelgqlgen", "Paseto", "pasteo", "pgadmin", "protoc", + "slox", "svcacct" ], // cSpell:disable (don't complain about the words we listed here) diff --git a/generated/generated.go b/generated/generated.go index 2c1b9daa..fb2f9133 100644 --- a/generated/generated.go +++ b/generated/generated.go @@ -2409,8 +2409,8 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in } func (e *executableSchema) Exec(ctx context.Context) graphql.ResponseHandler { - rc := graphql.GetOperationContext(ctx) - ec := executionContext{rc, e, 0, 0, make(chan graphql.DeferredResult)} + opCtx := graphql.GetOperationContext(ctx) + ec := executionContext{opCtx, e, 0, 0, make(chan graphql.DeferredResult)} inputUnmarshalMap := graphql.BuildUnmarshalerMap( ec.unmarshalInputCompatibilityInfoInput, ec.unmarshalInputCompatibilityInput, @@ -2437,7 +2437,7 @@ func (e *executableSchema) Exec(ctx context.Context) graphql.ResponseHandler { ) first := true - switch rc.Operation.Operation { + switch opCtx.Operation.Operation { case ast.Query: return func(ctx context.Context) *graphql.Response { var response graphql.Response @@ -2445,7 +2445,7 @@ func (e *executableSchema) Exec(ctx context.Context) graphql.ResponseHandler { if first { first = false ctx = graphql.WithUnmarshalerMap(ctx, inputUnmarshalMap) - data = ec._Query(ctx, rc.Operation.SelectionSet) + data = ec._Query(ctx, opCtx.Operation.SelectionSet) } else { if atomic.LoadInt32(&ec.pendingDeferred) > 0 { result := <-ec.deferredResults @@ -2475,7 +2475,7 @@ func (e *executableSchema) Exec(ctx context.Context) graphql.ResponseHandler { } first = false ctx = graphql.WithUnmarshalerMap(ctx, inputUnmarshalMap) - data := ec._Mutation(ctx, rc.Operation.SelectionSet) + data := ec._Mutation(ctx, opCtx.Operation.SelectionSet) var buf bytes.Buffer data.MarshalGQL(&buf) @@ -3259,1235 +3259,2804 @@ var parsedSchema = gqlparser.MustLoadSchema(sources...) func (ec *executionContext) dir_canEditGuide_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["field"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("field")) - arg0, err = ec.unmarshalNString2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.dir_canEditGuide_argsField(ctx, rawArgs) + if err != nil { + return nil, err } args["field"] = arg0 return args, nil } +func (ec *executionContext) dir_canEditGuide_argsField( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["field"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("field")) + if tmp, ok := rawArgs["field"]; ok { + return ec.unmarshalNString2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} func (ec *executionContext) dir_canEditModCompatibility_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 *string - if tmp, ok := rawArgs["field"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("field")) - arg0, err = ec.unmarshalOString2ᚖstring(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.dir_canEditModCompatibility_argsField(ctx, rawArgs) + if err != nil { + return nil, err } args["field"] = arg0 return args, nil } +func (ec *executionContext) dir_canEditModCompatibility_argsField( + ctx context.Context, + rawArgs map[string]interface{}, +) (*string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["field"] + if !ok { + var zeroVal *string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("field")) + if tmp, ok := rawArgs["field"]; ok { + return ec.unmarshalOString2ᚖstring(ctx, tmp) + } + + var zeroVal *string + return zeroVal, nil +} func (ec *executionContext) dir_canEditMod_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["field"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("field")) - arg0, err = ec.unmarshalNString2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.dir_canEditMod_argsField(ctx, rawArgs) + if err != nil { + return nil, err } args["field"] = arg0 return args, nil } +func (ec *executionContext) dir_canEditMod_argsField( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["field"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("field")) + if tmp, ok := rawArgs["field"]; ok { + return ec.unmarshalNString2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} func (ec *executionContext) dir_canEditUser_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["field"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("field")) - arg0, err = ec.unmarshalNString2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.dir_canEditUser_argsField(ctx, rawArgs) + if err != nil { + return nil, err } args["field"] = arg0 - var arg1 bool - if tmp, ok := rawArgs["object"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("object")) - arg1, err = ec.unmarshalNBoolean2bool(ctx, tmp) - if err != nil { - return nil, err - } + arg1, err := ec.dir_canEditUser_argsObject(ctx, rawArgs) + if err != nil { + return nil, err } args["object"] = arg1 return args, nil } +func (ec *executionContext) dir_canEditUser_argsField( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["field"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("field")) + if tmp, ok := rawArgs["field"]; ok { + return ec.unmarshalNString2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) dir_canEditUser_argsObject( + ctx context.Context, + rawArgs map[string]interface{}, +) (bool, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["object"] + if !ok { + var zeroVal bool + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("object")) + if tmp, ok := rawArgs["object"]; ok { + return ec.unmarshalNBoolean2bool(ctx, tmp) + } + + var zeroVal bool + return zeroVal, nil +} func (ec *executionContext) dir_canEditVersion_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["field"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("field")) - arg0, err = ec.unmarshalNString2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.dir_canEditVersion_argsField(ctx, rawArgs) + if err != nil { + return nil, err } args["field"] = arg0 return args, nil } +func (ec *executionContext) dir_canEditVersion_argsField( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["field"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("field")) + if tmp, ok := rawArgs["field"]; ok { + return ec.unmarshalNString2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} func (ec *executionContext) field_Mod_version_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["version"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("version")) - arg0, err = ec.unmarshalNString2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Mod_version_argsVersion(ctx, rawArgs) + if err != nil { + return nil, err } args["version"] = arg0 return args, nil } +func (ec *executionContext) field_Mod_version_argsVersion( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["version"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("version")) + if tmp, ok := rawArgs["version"]; ok { + return ec.unmarshalNString2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} func (ec *executionContext) field_Mod_versions_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 map[string]interface{} - if tmp, ok := rawArgs["filter"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) - arg0, err = ec.unmarshalOVersionFilter2map(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Mod_versions_argsFilter(ctx, rawArgs) + if err != nil { + return nil, err } args["filter"] = arg0 return args, nil } +func (ec *executionContext) field_Mod_versions_argsFilter( + ctx context.Context, + rawArgs map[string]interface{}, +) (map[string]interface{}, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["filter"] + if !ok { + var zeroVal map[string]interface{} + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) + if tmp, ok := rawArgs["filter"]; ok { + return ec.unmarshalOVersionFilter2map(ctx, tmp) + } + + var zeroVal map[string]interface{} + return zeroVal, nil +} func (ec *executionContext) field_Mutation_approveMod_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["modId"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) - arg0, err = ec.unmarshalNModID2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Mutation_approveMod_argsModID(ctx, rawArgs) + if err != nil { + return nil, err } args["modId"] = arg0 return args, nil } +func (ec *executionContext) field_Mutation_approveMod_argsModID( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["modId"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) + if tmp, ok := rawArgs["modId"]; ok { + return ec.unmarshalNModID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} func (ec *executionContext) field_Mutation_approveVersion_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["versionId"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) - arg0, err = ec.unmarshalNVersionID2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Mutation_approveVersion_argsVersionID(ctx, rawArgs) + if err != nil { + return nil, err } args["versionId"] = arg0 return args, nil } +func (ec *executionContext) field_Mutation_approveVersion_argsVersionID( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["versionId"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) + if tmp, ok := rawArgs["versionId"]; ok { + return ec.unmarshalNVersionID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} func (ec *executionContext) field_Mutation_createAnnouncement_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 NewAnnouncement - if tmp, ok := rawArgs["announcement"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("announcement")) - arg0, err = ec.unmarshalNNewAnnouncement2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewAnnouncement(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Mutation_createAnnouncement_argsAnnouncement(ctx, rawArgs) + if err != nil { + return nil, err } args["announcement"] = arg0 return args, nil } +func (ec *executionContext) field_Mutation_createAnnouncement_argsAnnouncement( + ctx context.Context, + rawArgs map[string]interface{}, +) (NewAnnouncement, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["announcement"] + if !ok { + var zeroVal NewAnnouncement + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("announcement")) + if tmp, ok := rawArgs["announcement"]; ok { + return ec.unmarshalNNewAnnouncement2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewAnnouncement(ctx, tmp) + } + + var zeroVal NewAnnouncement + return zeroVal, nil +} func (ec *executionContext) field_Mutation_createGuide_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 NewGuide - if tmp, ok := rawArgs["guide"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("guide")) - arg0, err = ec.unmarshalNNewGuide2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewGuide(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Mutation_createGuide_argsGuide(ctx, rawArgs) + if err != nil { + return nil, err } args["guide"] = arg0 return args, nil } +func (ec *executionContext) field_Mutation_createGuide_argsGuide( + ctx context.Context, + rawArgs map[string]interface{}, +) (NewGuide, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["guide"] + if !ok { + var zeroVal NewGuide + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("guide")) + if tmp, ok := rawArgs["guide"]; ok { + return ec.unmarshalNNewGuide2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewGuide(ctx, tmp) + } + + var zeroVal NewGuide + return zeroVal, nil +} func (ec *executionContext) field_Mutation_createMod_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 NewMod - if tmp, ok := rawArgs["mod"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("mod")) - arg0, err = ec.unmarshalNNewMod2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewMod(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Mutation_createMod_argsMod(ctx, rawArgs) + if err != nil { + return nil, err } args["mod"] = arg0 return args, nil } +func (ec *executionContext) field_Mutation_createMod_argsMod( + ctx context.Context, + rawArgs map[string]interface{}, +) (NewMod, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["mod"] + if !ok { + var zeroVal NewMod + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("mod")) + if tmp, ok := rawArgs["mod"]; ok { + return ec.unmarshalNNewMod2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewMod(ctx, tmp) + } + + var zeroVal NewMod + return zeroVal, nil +} func (ec *executionContext) field_Mutation_createMultipleTags_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 []*NewTag - if tmp, ok := rawArgs["tagNames"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("tagNames")) - arg0, err = ec.unmarshalNNewTag2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewTagᚄ(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Mutation_createMultipleTags_argsTagNames(ctx, rawArgs) + if err != nil { + return nil, err } args["tagNames"] = arg0 return args, nil } +func (ec *executionContext) field_Mutation_createMultipleTags_argsTagNames( + ctx context.Context, + rawArgs map[string]interface{}, +) ([]*NewTag, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["tagNames"] + if !ok { + var zeroVal []*NewTag + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("tagNames")) + if tmp, ok := rawArgs["tagNames"]; ok { + return ec.unmarshalNNewTag2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewTagᚄ(ctx, tmp) + } + + var zeroVal []*NewTag + return zeroVal, nil +} func (ec *executionContext) field_Mutation_createSatisfactoryVersion_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 NewSatisfactoryVersion - if tmp, ok := rawArgs["input"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("input")) - arg0, err = ec.unmarshalNNewSatisfactoryVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewSatisfactoryVersion(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Mutation_createSatisfactoryVersion_argsInput(ctx, rawArgs) + if err != nil { + return nil, err } args["input"] = arg0 return args, nil } +func (ec *executionContext) field_Mutation_createSatisfactoryVersion_argsInput( + ctx context.Context, + rawArgs map[string]interface{}, +) (NewSatisfactoryVersion, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["input"] + if !ok { + var zeroVal NewSatisfactoryVersion + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("input")) + if tmp, ok := rawArgs["input"]; ok { + return ec.unmarshalNNewSatisfactoryVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewSatisfactoryVersion(ctx, tmp) + } + + var zeroVal NewSatisfactoryVersion + return zeroVal, nil +} func (ec *executionContext) field_Mutation_createTag_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["tagName"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("tagName")) - arg0, err = ec.unmarshalNTagName2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Mutation_createTag_argsTagName(ctx, rawArgs) + if err != nil { + return nil, err } args["tagName"] = arg0 - var arg1 string - if tmp, ok := rawArgs["description"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("description")) - arg1, err = ec.unmarshalNString2string(ctx, tmp) - if err != nil { - return nil, err - } + arg1, err := ec.field_Mutation_createTag_argsDescription(ctx, rawArgs) + if err != nil { + return nil, err } args["description"] = arg1 return args, nil } +func (ec *executionContext) field_Mutation_createTag_argsTagName( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["tagName"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("tagName")) + if tmp, ok := rawArgs["tagName"]; ok { + return ec.unmarshalNTagName2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_createTag_argsDescription( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["description"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("description")) + if tmp, ok := rawArgs["description"]; ok { + return ec.unmarshalNString2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} func (ec *executionContext) field_Mutation_createVersion_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["modId"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) - arg0, err = ec.unmarshalNModID2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Mutation_createVersion_argsModID(ctx, rawArgs) + if err != nil { + return nil, err } args["modId"] = arg0 return args, nil } +func (ec *executionContext) field_Mutation_createVersion_argsModID( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["modId"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) + if tmp, ok := rawArgs["modId"]; ok { + return ec.unmarshalNModID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} func (ec *executionContext) field_Mutation_deleteAnnouncement_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["announcementId"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("announcementId")) - arg0, err = ec.unmarshalNAnnouncementID2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Mutation_deleteAnnouncement_argsAnnouncementID(ctx, rawArgs) + if err != nil { + return nil, err } args["announcementId"] = arg0 return args, nil } +func (ec *executionContext) field_Mutation_deleteAnnouncement_argsAnnouncementID( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["announcementId"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("announcementId")) + if tmp, ok := rawArgs["announcementId"]; ok { + return ec.unmarshalNAnnouncementID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} func (ec *executionContext) field_Mutation_deleteGuide_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["guideId"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("guideId")) - arg0, err = ec.unmarshalNGuideID2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Mutation_deleteGuide_argsGuideID(ctx, rawArgs) + if err != nil { + return nil, err } args["guideId"] = arg0 return args, nil } +func (ec *executionContext) field_Mutation_deleteGuide_argsGuideID( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["guideId"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("guideId")) + if tmp, ok := rawArgs["guideId"]; ok { + return ec.unmarshalNGuideID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} func (ec *executionContext) field_Mutation_deleteMod_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["modId"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) - arg0, err = ec.unmarshalNModID2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Mutation_deleteMod_argsModID(ctx, rawArgs) + if err != nil { + return nil, err } args["modId"] = arg0 return args, nil } +func (ec *executionContext) field_Mutation_deleteMod_argsModID( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["modId"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) + if tmp, ok := rawArgs["modId"]; ok { + return ec.unmarshalNModID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} func (ec *executionContext) field_Mutation_deleteSatisfactoryVersion_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["id"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("id")) - arg0, err = ec.unmarshalNSatisfactoryVersionID2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Mutation_deleteSatisfactoryVersion_argsID(ctx, rawArgs) + if err != nil { + return nil, err } args["id"] = arg0 return args, nil } +func (ec *executionContext) field_Mutation_deleteSatisfactoryVersion_argsID( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["id"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("id")) + if tmp, ok := rawArgs["id"]; ok { + return ec.unmarshalNSatisfactoryVersionID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} func (ec *executionContext) field_Mutation_deleteTag_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["tagID"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("tagID")) - arg0, err = ec.unmarshalNTagID2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Mutation_deleteTag_argsTagID(ctx, rawArgs) + if err != nil { + return nil, err } args["tagID"] = arg0 return args, nil } +func (ec *executionContext) field_Mutation_deleteTag_argsTagID( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["tagID"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("tagID")) + if tmp, ok := rawArgs["tagID"]; ok { + return ec.unmarshalNTagID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} func (ec *executionContext) field_Mutation_deleteVersion_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["versionId"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) - arg0, err = ec.unmarshalNVersionID2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Mutation_deleteVersion_argsVersionID(ctx, rawArgs) + if err != nil { + return nil, err } args["versionId"] = arg0 return args, nil } +func (ec *executionContext) field_Mutation_deleteVersion_argsVersionID( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["versionId"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) + if tmp, ok := rawArgs["versionId"]; ok { + return ec.unmarshalNVersionID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} func (ec *executionContext) field_Mutation_denyMod_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["modId"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) - arg0, err = ec.unmarshalNModID2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Mutation_denyMod_argsModID(ctx, rawArgs) + if err != nil { + return nil, err } args["modId"] = arg0 return args, nil } +func (ec *executionContext) field_Mutation_denyMod_argsModID( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["modId"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) + if tmp, ok := rawArgs["modId"]; ok { + return ec.unmarshalNModID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} func (ec *executionContext) field_Mutation_denyVersion_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["versionId"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) - arg0, err = ec.unmarshalNVersionID2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Mutation_denyVersion_argsVersionID(ctx, rawArgs) + if err != nil { + return nil, err } args["versionId"] = arg0 return args, nil } +func (ec *executionContext) field_Mutation_denyVersion_argsVersionID( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["versionId"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) + if tmp, ok := rawArgs["versionId"]; ok { + return ec.unmarshalNVersionID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} func (ec *executionContext) field_Mutation_discourseSSO_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["sso"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("sso")) - arg0, err = ec.unmarshalNString2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Mutation_discourseSSO_argsSso(ctx, rawArgs) + if err != nil { + return nil, err } args["sso"] = arg0 - var arg1 string - if tmp, ok := rawArgs["sig"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("sig")) - arg1, err = ec.unmarshalNString2string(ctx, tmp) - if err != nil { - return nil, err - } + arg1, err := ec.field_Mutation_discourseSSO_argsSig(ctx, rawArgs) + if err != nil { + return nil, err } args["sig"] = arg1 return args, nil } +func (ec *executionContext) field_Mutation_discourseSSO_argsSso( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["sso"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("sso")) + if tmp, ok := rawArgs["sso"]; ok { + return ec.unmarshalNString2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_discourseSSO_argsSig( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["sig"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("sig")) + if tmp, ok := rawArgs["sig"]; ok { + return ec.unmarshalNString2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} func (ec *executionContext) field_Mutation_finalizeCreateVersion_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["modId"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) - arg0, err = ec.unmarshalNModID2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Mutation_finalizeCreateVersion_argsModID(ctx, rawArgs) + if err != nil { + return nil, err } args["modId"] = arg0 - var arg1 string - if tmp, ok := rawArgs["versionId"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) - arg1, err = ec.unmarshalNVersionID2string(ctx, tmp) - if err != nil { - return nil, err - } + arg1, err := ec.field_Mutation_finalizeCreateVersion_argsVersionID(ctx, rawArgs) + if err != nil { + return nil, err } args["versionId"] = arg1 - var arg2 NewVersion - if tmp, ok := rawArgs["version"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("version")) - arg2, err = ec.unmarshalNNewVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewVersion(ctx, tmp) - if err != nil { - return nil, err - } + arg2, err := ec.field_Mutation_finalizeCreateVersion_argsVersion(ctx, rawArgs) + if err != nil { + return nil, err } args["version"] = arg2 return args, nil } +func (ec *executionContext) field_Mutation_finalizeCreateVersion_argsModID( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["modId"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) + if tmp, ok := rawArgs["modId"]; ok { + return ec.unmarshalNModID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_finalizeCreateVersion_argsVersionID( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["versionId"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) + if tmp, ok := rawArgs["versionId"]; ok { + return ec.unmarshalNVersionID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_finalizeCreateVersion_argsVersion( + ctx context.Context, + rawArgs map[string]interface{}, +) (NewVersion, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["version"] + if !ok { + var zeroVal NewVersion + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("version")) + if tmp, ok := rawArgs["version"]; ok { + return ec.unmarshalNNewVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewVersion(ctx, tmp) + } + + var zeroVal NewVersion + return zeroVal, nil +} func (ec *executionContext) field_Mutation_oAuthFacebook_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["code"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("code")) - arg0, err = ec.unmarshalNString2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Mutation_oAuthFacebook_argsCode(ctx, rawArgs) + if err != nil { + return nil, err } args["code"] = arg0 - var arg1 string - if tmp, ok := rawArgs["state"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("state")) - arg1, err = ec.unmarshalNString2string(ctx, tmp) - if err != nil { - return nil, err - } + arg1, err := ec.field_Mutation_oAuthFacebook_argsState(ctx, rawArgs) + if err != nil { + return nil, err } args["state"] = arg1 return args, nil } +func (ec *executionContext) field_Mutation_oAuthFacebook_argsCode( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["code"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("code")) + if tmp, ok := rawArgs["code"]; ok { + return ec.unmarshalNString2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_oAuthFacebook_argsState( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["state"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("state")) + if tmp, ok := rawArgs["state"]; ok { + return ec.unmarshalNString2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} func (ec *executionContext) field_Mutation_oAuthGithub_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["code"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("code")) - arg0, err = ec.unmarshalNString2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Mutation_oAuthGithub_argsCode(ctx, rawArgs) + if err != nil { + return nil, err } args["code"] = arg0 - var arg1 string - if tmp, ok := rawArgs["state"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("state")) - arg1, err = ec.unmarshalNString2string(ctx, tmp) - if err != nil { - return nil, err - } + arg1, err := ec.field_Mutation_oAuthGithub_argsState(ctx, rawArgs) + if err != nil { + return nil, err } args["state"] = arg1 return args, nil } +func (ec *executionContext) field_Mutation_oAuthGithub_argsCode( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["code"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("code")) + if tmp, ok := rawArgs["code"]; ok { + return ec.unmarshalNString2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_oAuthGithub_argsState( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["state"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("state")) + if tmp, ok := rawArgs["state"]; ok { + return ec.unmarshalNString2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} func (ec *executionContext) field_Mutation_oAuthGoogle_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["code"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("code")) - arg0, err = ec.unmarshalNString2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Mutation_oAuthGoogle_argsCode(ctx, rawArgs) + if err != nil { + return nil, err } args["code"] = arg0 - var arg1 string - if tmp, ok := rawArgs["state"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("state")) - arg1, err = ec.unmarshalNString2string(ctx, tmp) - if err != nil { - return nil, err - } + arg1, err := ec.field_Mutation_oAuthGoogle_argsState(ctx, rawArgs) + if err != nil { + return nil, err } args["state"] = arg1 return args, nil } +func (ec *executionContext) field_Mutation_oAuthGoogle_argsCode( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["code"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("code")) + if tmp, ok := rawArgs["code"]; ok { + return ec.unmarshalNString2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_oAuthGoogle_argsState( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["state"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("state")) + if tmp, ok := rawArgs["state"]; ok { + return ec.unmarshalNString2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} func (ec *executionContext) field_Mutation_updateAnnouncement_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["announcementId"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("announcementId")) - arg0, err = ec.unmarshalNAnnouncementID2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Mutation_updateAnnouncement_argsAnnouncementID(ctx, rawArgs) + if err != nil { + return nil, err } args["announcementId"] = arg0 - var arg1 UpdateAnnouncement - if tmp, ok := rawArgs["announcement"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("announcement")) - arg1, err = ec.unmarshalNUpdateAnnouncement2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateAnnouncement(ctx, tmp) - if err != nil { - return nil, err - } + arg1, err := ec.field_Mutation_updateAnnouncement_argsAnnouncement(ctx, rawArgs) + if err != nil { + return nil, err } args["announcement"] = arg1 return args, nil } +func (ec *executionContext) field_Mutation_updateAnnouncement_argsAnnouncementID( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["announcementId"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("announcementId")) + if tmp, ok := rawArgs["announcementId"]; ok { + return ec.unmarshalNAnnouncementID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_updateAnnouncement_argsAnnouncement( + ctx context.Context, + rawArgs map[string]interface{}, +) (UpdateAnnouncement, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["announcement"] + if !ok { + var zeroVal UpdateAnnouncement + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("announcement")) + if tmp, ok := rawArgs["announcement"]; ok { + return ec.unmarshalNUpdateAnnouncement2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateAnnouncement(ctx, tmp) + } + + var zeroVal UpdateAnnouncement + return zeroVal, nil +} func (ec *executionContext) field_Mutation_updateGuide_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["guideId"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("guideId")) - arg0, err = ec.unmarshalNGuideID2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Mutation_updateGuide_argsGuideID(ctx, rawArgs) + if err != nil { + return nil, err } args["guideId"] = arg0 - var arg1 UpdateGuide - if tmp, ok := rawArgs["guide"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("guide")) - arg1, err = ec.unmarshalNUpdateGuide2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateGuide(ctx, tmp) - if err != nil { - return nil, err - } + arg1, err := ec.field_Mutation_updateGuide_argsGuide(ctx, rawArgs) + if err != nil { + return nil, err } args["guide"] = arg1 return args, nil } +func (ec *executionContext) field_Mutation_updateGuide_argsGuideID( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["guideId"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("guideId")) + if tmp, ok := rawArgs["guideId"]; ok { + return ec.unmarshalNGuideID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_updateGuide_argsGuide( + ctx context.Context, + rawArgs map[string]interface{}, +) (UpdateGuide, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["guide"] + if !ok { + var zeroVal UpdateGuide + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("guide")) + if tmp, ok := rawArgs["guide"]; ok { + return ec.unmarshalNUpdateGuide2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateGuide(ctx, tmp) + } + + var zeroVal UpdateGuide + return zeroVal, nil +} func (ec *executionContext) field_Mutation_updateModCompatibility_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["modId"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) - arg0, err = ec.unmarshalNModID2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Mutation_updateModCompatibility_argsModID(ctx, rawArgs) + if err != nil { + return nil, err } args["modId"] = arg0 - var arg1 CompatibilityInfoInput - if tmp, ok := rawArgs["compatibility"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("compatibility")) - arg1, err = ec.unmarshalNCompatibilityInfoInput2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInfoInput(ctx, tmp) - if err != nil { - return nil, err - } + arg1, err := ec.field_Mutation_updateModCompatibility_argsCompatibility(ctx, rawArgs) + if err != nil { + return nil, err } args["compatibility"] = arg1 return args, nil } +func (ec *executionContext) field_Mutation_updateModCompatibility_argsModID( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["modId"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) + if tmp, ok := rawArgs["modId"]; ok { + return ec.unmarshalNModID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_updateModCompatibility_argsCompatibility( + ctx context.Context, + rawArgs map[string]interface{}, +) (CompatibilityInfoInput, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["compatibility"] + if !ok { + var zeroVal CompatibilityInfoInput + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("compatibility")) + if tmp, ok := rawArgs["compatibility"]; ok { + return ec.unmarshalNCompatibilityInfoInput2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInfoInput(ctx, tmp) + } + + var zeroVal CompatibilityInfoInput + return zeroVal, nil +} func (ec *executionContext) field_Mutation_updateMod_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["modId"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) - arg0, err = ec.unmarshalNModID2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Mutation_updateMod_argsModID(ctx, rawArgs) + if err != nil { + return nil, err } args["modId"] = arg0 - var arg1 UpdateMod - if tmp, ok := rawArgs["mod"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("mod")) - arg1, err = ec.unmarshalNUpdateMod2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateMod(ctx, tmp) - if err != nil { - return nil, err - } + arg1, err := ec.field_Mutation_updateMod_argsMod(ctx, rawArgs) + if err != nil { + return nil, err } args["mod"] = arg1 return args, nil } +func (ec *executionContext) field_Mutation_updateMod_argsModID( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["modId"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) + if tmp, ok := rawArgs["modId"]; ok { + return ec.unmarshalNModID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_updateMod_argsMod( + ctx context.Context, + rawArgs map[string]interface{}, +) (UpdateMod, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["mod"] + if !ok { + var zeroVal UpdateMod + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("mod")) + if tmp, ok := rawArgs["mod"]; ok { + return ec.unmarshalNUpdateMod2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateMod(ctx, tmp) + } + + var zeroVal UpdateMod + return zeroVal, nil +} func (ec *executionContext) field_Mutation_updateMultipleModCompatibilities_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 []string - if tmp, ok := rawArgs["modIDs"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("modIDs")) - arg0, err = ec.unmarshalNModID2ᚕstringᚄ(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Mutation_updateMultipleModCompatibilities_argsModIDs(ctx, rawArgs) + if err != nil { + return nil, err } args["modIDs"] = arg0 - var arg1 CompatibilityInfoInput - if tmp, ok := rawArgs["compatibility"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("compatibility")) - arg1, err = ec.unmarshalNCompatibilityInfoInput2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInfoInput(ctx, tmp) - if err != nil { - return nil, err - } + arg1, err := ec.field_Mutation_updateMultipleModCompatibilities_argsCompatibility(ctx, rawArgs) + if err != nil { + return nil, err } args["compatibility"] = arg1 return args, nil } +func (ec *executionContext) field_Mutation_updateMultipleModCompatibilities_argsModIDs( + ctx context.Context, + rawArgs map[string]interface{}, +) ([]string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["modIDs"] + if !ok { + var zeroVal []string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modIDs")) + if tmp, ok := rawArgs["modIDs"]; ok { + return ec.unmarshalNModID2ᚕstringᚄ(ctx, tmp) + } + + var zeroVal []string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_updateMultipleModCompatibilities_argsCompatibility( + ctx context.Context, + rawArgs map[string]interface{}, +) (CompatibilityInfoInput, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["compatibility"] + if !ok { + var zeroVal CompatibilityInfoInput + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("compatibility")) + if tmp, ok := rawArgs["compatibility"]; ok { + return ec.unmarshalNCompatibilityInfoInput2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInfoInput(ctx, tmp) + } + + var zeroVal CompatibilityInfoInput + return zeroVal, nil +} func (ec *executionContext) field_Mutation_updateSatisfactoryVersion_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["id"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("id")) - arg0, err = ec.unmarshalNSatisfactoryVersionID2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Mutation_updateSatisfactoryVersion_argsID(ctx, rawArgs) + if err != nil { + return nil, err } args["id"] = arg0 - var arg1 UpdateSatisfactoryVersion - if tmp, ok := rawArgs["input"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("input")) - arg1, err = ec.unmarshalNUpdateSatisfactoryVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateSatisfactoryVersion(ctx, tmp) - if err != nil { - return nil, err - } + arg1, err := ec.field_Mutation_updateSatisfactoryVersion_argsInput(ctx, rawArgs) + if err != nil { + return nil, err } args["input"] = arg1 return args, nil } +func (ec *executionContext) field_Mutation_updateSatisfactoryVersion_argsID( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["id"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("id")) + if tmp, ok := rawArgs["id"]; ok { + return ec.unmarshalNSatisfactoryVersionID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_updateSatisfactoryVersion_argsInput( + ctx context.Context, + rawArgs map[string]interface{}, +) (UpdateSatisfactoryVersion, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["input"] + if !ok { + var zeroVal UpdateSatisfactoryVersion + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("input")) + if tmp, ok := rawArgs["input"]; ok { + return ec.unmarshalNUpdateSatisfactoryVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateSatisfactoryVersion(ctx, tmp) + } + + var zeroVal UpdateSatisfactoryVersion + return zeroVal, nil +} func (ec *executionContext) field_Mutation_updateTag_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["tagID"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("tagID")) - arg0, err = ec.unmarshalNTagID2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Mutation_updateTag_argsTagID(ctx, rawArgs) + if err != nil { + return nil, err + } + args["tagID"] = arg0 + arg1, err := ec.field_Mutation_updateTag_argsNewName(ctx, rawArgs) + if err != nil { + return nil, err + } + args["NewName"] = arg1 + arg2, err := ec.field_Mutation_updateTag_argsDescription(ctx, rawArgs) + if err != nil { + return nil, err + } + args["description"] = arg2 + return args, nil +} +func (ec *executionContext) field_Mutation_updateTag_argsTagID( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["tagID"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("tagID")) + if tmp, ok := rawArgs["tagID"]; ok { + return ec.unmarshalNTagID2string(ctx, tmp) } - args["tagID"] = arg0 - var arg1 string + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_updateTag_argsNewName( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["NewName"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("NewName")) if tmp, ok := rawArgs["NewName"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("NewName")) - arg1, err = ec.unmarshalNTagName2string(ctx, tmp) - if err != nil { - return nil, err - } + return ec.unmarshalNTagName2string(ctx, tmp) } - args["NewName"] = arg1 - var arg2 string + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_updateTag_argsDescription( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["description"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("description")) if tmp, ok := rawArgs["description"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("description")) - arg2, err = ec.unmarshalNString2string(ctx, tmp) - if err != nil { - return nil, err - } + return ec.unmarshalNString2string(ctx, tmp) } - args["description"] = arg2 - return args, nil + + var zeroVal string + return zeroVal, nil } func (ec *executionContext) field_Mutation_updateUser_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["userId"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("userId")) - arg0, err = ec.unmarshalNUserID2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Mutation_updateUser_argsUserID(ctx, rawArgs) + if err != nil { + return nil, err } args["userId"] = arg0 - var arg1 UpdateUser - if tmp, ok := rawArgs["input"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("input")) - arg1, err = ec.unmarshalNUpdateUser2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateUser(ctx, tmp) - if err != nil { - return nil, err - } + arg1, err := ec.field_Mutation_updateUser_argsInput(ctx, rawArgs) + if err != nil { + return nil, err } args["input"] = arg1 return args, nil } +func (ec *executionContext) field_Mutation_updateUser_argsUserID( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["userId"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("userId")) + if tmp, ok := rawArgs["userId"]; ok { + return ec.unmarshalNUserID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_updateUser_argsInput( + ctx context.Context, + rawArgs map[string]interface{}, +) (UpdateUser, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["input"] + if !ok { + var zeroVal UpdateUser + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("input")) + if tmp, ok := rawArgs["input"]; ok { + return ec.unmarshalNUpdateUser2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateUser(ctx, tmp) + } + + var zeroVal UpdateUser + return zeroVal, nil +} func (ec *executionContext) field_Mutation_updateVersion_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["versionId"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) - arg0, err = ec.unmarshalNVersionID2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Mutation_updateVersion_argsVersionID(ctx, rawArgs) + if err != nil { + return nil, err } args["versionId"] = arg0 - var arg1 UpdateVersion - if tmp, ok := rawArgs["version"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("version")) - arg1, err = ec.unmarshalNUpdateVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateVersion(ctx, tmp) - if err != nil { - return nil, err - } + arg1, err := ec.field_Mutation_updateVersion_argsVersion(ctx, rawArgs) + if err != nil { + return nil, err } args["version"] = arg1 return args, nil } +func (ec *executionContext) field_Mutation_updateVersion_argsVersionID( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["versionId"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) + if tmp, ok := rawArgs["versionId"]; ok { + return ec.unmarshalNVersionID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_updateVersion_argsVersion( + ctx context.Context, + rawArgs map[string]interface{}, +) (UpdateVersion, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["version"] + if !ok { + var zeroVal UpdateVersion + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("version")) + if tmp, ok := rawArgs["version"]; ok { + return ec.unmarshalNUpdateVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateVersion(ctx, tmp) + } + + var zeroVal UpdateVersion + return zeroVal, nil +} func (ec *executionContext) field_Mutation_uploadVersionPart_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["modId"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) - arg0, err = ec.unmarshalNModID2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Mutation_uploadVersionPart_argsModID(ctx, rawArgs) + if err != nil { + return nil, err } args["modId"] = arg0 - var arg1 string - if tmp, ok := rawArgs["versionId"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) - arg1, err = ec.unmarshalNVersionID2string(ctx, tmp) - if err != nil { - return nil, err - } + arg1, err := ec.field_Mutation_uploadVersionPart_argsVersionID(ctx, rawArgs) + if err != nil { + return nil, err } args["versionId"] = arg1 - var arg2 int - if tmp, ok := rawArgs["part"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("part")) - arg2, err = ec.unmarshalNInt2int(ctx, tmp) - if err != nil { - return nil, err - } + arg2, err := ec.field_Mutation_uploadVersionPart_argsPart(ctx, rawArgs) + if err != nil { + return nil, err } args["part"] = arg2 - var arg3 graphql.Upload - if tmp, ok := rawArgs["file"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("file")) - arg3, err = ec.unmarshalNUpload2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚐUpload(ctx, tmp) - if err != nil { - return nil, err - } + arg3, err := ec.field_Mutation_uploadVersionPart_argsFile(ctx, rawArgs) + if err != nil { + return nil, err } args["file"] = arg3 return args, nil } +func (ec *executionContext) field_Mutation_uploadVersionPart_argsModID( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["modId"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) + if tmp, ok := rawArgs["modId"]; ok { + return ec.unmarshalNModID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_uploadVersionPart_argsVersionID( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["versionId"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) + if tmp, ok := rawArgs["versionId"]; ok { + return ec.unmarshalNVersionID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_uploadVersionPart_argsPart( + ctx context.Context, + rawArgs map[string]interface{}, +) (int, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["part"] + if !ok { + var zeroVal int + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("part")) + if tmp, ok := rawArgs["part"]; ok { + return ec.unmarshalNInt2int(ctx, tmp) + } + + var zeroVal int + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_uploadVersionPart_argsFile( + ctx context.Context, + rawArgs map[string]interface{}, +) (graphql.Upload, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["file"] + if !ok { + var zeroVal graphql.Upload + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("file")) + if tmp, ok := rawArgs["file"]; ok { + return ec.unmarshalNUpload2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚐUpload(ctx, tmp) + } + + var zeroVal graphql.Upload + return zeroVal, nil +} func (ec *executionContext) field_Query___type_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["name"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("name")) - arg0, err = ec.unmarshalNString2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Query___type_argsName(ctx, rawArgs) + if err != nil { + return nil, err } args["name"] = arg0 return args, nil } +func (ec *executionContext) field_Query___type_argsName( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["name"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("name")) + if tmp, ok := rawArgs["name"]; ok { + return ec.unmarshalNString2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} func (ec *executionContext) field_Query_checkVersionUploadState_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["modId"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) - arg0, err = ec.unmarshalNModID2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Query_checkVersionUploadState_argsModID(ctx, rawArgs) + if err != nil { + return nil, err } args["modId"] = arg0 - var arg1 string - if tmp, ok := rawArgs["versionId"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) - arg1, err = ec.unmarshalNVersionID2string(ctx, tmp) - if err != nil { - return nil, err - } + arg1, err := ec.field_Query_checkVersionUploadState_argsVersionID(ctx, rawArgs) + if err != nil { + return nil, err } args["versionId"] = arg1 return args, nil } +func (ec *executionContext) field_Query_checkVersionUploadState_argsModID( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["modId"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) + if tmp, ok := rawArgs["modId"]; ok { + return ec.unmarshalNModID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Query_checkVersionUploadState_argsVersionID( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["versionId"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) + if tmp, ok := rawArgs["versionId"]; ok { + return ec.unmarshalNVersionID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} func (ec *executionContext) field_Query_getAnnouncement_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["announcementId"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("announcementId")) - arg0, err = ec.unmarshalNAnnouncementID2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Query_getAnnouncement_argsAnnouncementID(ctx, rawArgs) + if err != nil { + return nil, err } args["announcementId"] = arg0 return args, nil } +func (ec *executionContext) field_Query_getAnnouncement_argsAnnouncementID( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["announcementId"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("announcementId")) + if tmp, ok := rawArgs["announcementId"]; ok { + return ec.unmarshalNAnnouncementID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} func (ec *executionContext) field_Query_getAnnouncementsByImportance_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 AnnouncementImportance - if tmp, ok := rawArgs["importance"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("importance")) - arg0, err = ec.unmarshalNAnnouncementImportance2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementImportance(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Query_getAnnouncementsByImportance_argsImportance(ctx, rawArgs) + if err != nil { + return nil, err } args["importance"] = arg0 return args, nil } +func (ec *executionContext) field_Query_getAnnouncementsByImportance_argsImportance( + ctx context.Context, + rawArgs map[string]interface{}, +) (AnnouncementImportance, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["importance"] + if !ok { + var zeroVal AnnouncementImportance + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("importance")) + if tmp, ok := rawArgs["importance"]; ok { + return ec.unmarshalNAnnouncementImportance2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementImportance(ctx, tmp) + } + + var zeroVal AnnouncementImportance + return zeroVal, nil +} func (ec *executionContext) field_Query_getGuide_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["guideId"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("guideId")) - arg0, err = ec.unmarshalNGuideID2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Query_getGuide_argsGuideID(ctx, rawArgs) + if err != nil { + return nil, err } args["guideId"] = arg0 return args, nil } +func (ec *executionContext) field_Query_getGuide_argsGuideID( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["guideId"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("guideId")) + if tmp, ok := rawArgs["guideId"]; ok { + return ec.unmarshalNGuideID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} func (ec *executionContext) field_Query_getGuides_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 map[string]interface{} - if tmp, ok := rawArgs["filter"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) - arg0, err = ec.unmarshalOGuideFilter2map(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Query_getGuides_argsFilter(ctx, rawArgs) + if err != nil { + return nil, err } args["filter"] = arg0 return args, nil } +func (ec *executionContext) field_Query_getGuides_argsFilter( + ctx context.Context, + rawArgs map[string]interface{}, +) (map[string]interface{}, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["filter"] + if !ok { + var zeroVal map[string]interface{} + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) + if tmp, ok := rawArgs["filter"]; ok { + return ec.unmarshalOGuideFilter2map(ctx, tmp) + } + + var zeroVal map[string]interface{} + return zeroVal, nil +} func (ec *executionContext) field_Query_getModAssetList_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["modReference"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("modReference")) - arg0, err = ec.unmarshalNModID2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Query_getModAssetList_argsModReference(ctx, rawArgs) + if err != nil { + return nil, err } args["modReference"] = arg0 return args, nil } +func (ec *executionContext) field_Query_getModAssetList_argsModReference( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["modReference"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modReference")) + if tmp, ok := rawArgs["modReference"]; ok { + return ec.unmarshalNModID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} func (ec *executionContext) field_Query_getModByIdOrReference_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["modIdOrReference"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("modIdOrReference")) - arg0, err = ec.unmarshalNString2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Query_getModByIdOrReference_argsModIDOrReference(ctx, rawArgs) + if err != nil { + return nil, err } args["modIdOrReference"] = arg0 return args, nil } +func (ec *executionContext) field_Query_getModByIdOrReference_argsModIDOrReference( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["modIdOrReference"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modIdOrReference")) + if tmp, ok := rawArgs["modIdOrReference"]; ok { + return ec.unmarshalNString2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} func (ec *executionContext) field_Query_getModByReference_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["modReference"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("modReference")) - arg0, err = ec.unmarshalNModReference2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Query_getModByReference_argsModReference(ctx, rawArgs) + if err != nil { + return nil, err } args["modReference"] = arg0 return args, nil } +func (ec *executionContext) field_Query_getModByReference_argsModReference( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["modReference"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modReference")) + if tmp, ok := rawArgs["modReference"]; ok { + return ec.unmarshalNModReference2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} func (ec *executionContext) field_Query_getMod_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["modId"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) - arg0, err = ec.unmarshalNModID2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Query_getMod_argsModID(ctx, rawArgs) + if err != nil { + return nil, err } args["modId"] = arg0 return args, nil } +func (ec *executionContext) field_Query_getMod_argsModID( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["modId"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) + if tmp, ok := rawArgs["modId"]; ok { + return ec.unmarshalNModID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} func (ec *executionContext) field_Query_getMods_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 map[string]interface{} + arg0, err := ec.field_Query_getMods_argsFilter(ctx, rawArgs) + if err != nil { + return nil, err + } + args["filter"] = arg0 + return args, nil +} +func (ec *executionContext) field_Query_getMods_argsFilter( + ctx context.Context, + rawArgs map[string]interface{}, +) (map[string]interface{}, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["filter"] + if !ok { + var zeroVal map[string]interface{} + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) if tmp, ok := rawArgs["filter"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) - arg0, err = ec.unmarshalOModFilter2map(ctx, tmp) - if err != nil { - return nil, err - } + return ec.unmarshalOModFilter2map(ctx, tmp) + } + + var zeroVal map[string]interface{} + return zeroVal, nil +} + +func (ec *executionContext) field_Query_getMyMods_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { + var err error + args := map[string]interface{}{} + arg0, err := ec.field_Query_getMyMods_argsFilter(ctx, rawArgs) + if err != nil { + return nil, err } args["filter"] = arg0 return args, nil } +func (ec *executionContext) field_Query_getMyMods_argsFilter( + ctx context.Context, + rawArgs map[string]interface{}, +) (map[string]interface{}, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["filter"] + if !ok { + var zeroVal map[string]interface{} + return zeroVal, nil + } -func (ec *executionContext) field_Query_getMyMods_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { - var err error - args := map[string]interface{}{} - var arg0 map[string]interface{} + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) if tmp, ok := rawArgs["filter"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) - arg0, err = ec.unmarshalOModFilter2map(ctx, tmp) - if err != nil { - return nil, err - } + return ec.unmarshalOModFilter2map(ctx, tmp) } - args["filter"] = arg0 - return args, nil + + var zeroVal map[string]interface{} + return zeroVal, nil } func (ec *executionContext) field_Query_getMyUnapprovedMods_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 map[string]interface{} - if tmp, ok := rawArgs["filter"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) - arg0, err = ec.unmarshalOModFilter2map(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Query_getMyUnapprovedMods_argsFilter(ctx, rawArgs) + if err != nil { + return nil, err } args["filter"] = arg0 return args, nil } +func (ec *executionContext) field_Query_getMyUnapprovedMods_argsFilter( + ctx context.Context, + rawArgs map[string]interface{}, +) (map[string]interface{}, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["filter"] + if !ok { + var zeroVal map[string]interface{} + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) + if tmp, ok := rawArgs["filter"]; ok { + return ec.unmarshalOModFilter2map(ctx, tmp) + } + + var zeroVal map[string]interface{} + return zeroVal, nil +} func (ec *executionContext) field_Query_getMyUnapprovedVersions_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 map[string]interface{} - if tmp, ok := rawArgs["filter"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) - arg0, err = ec.unmarshalOVersionFilter2map(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Query_getMyUnapprovedVersions_argsFilter(ctx, rawArgs) + if err != nil { + return nil, err } args["filter"] = arg0 return args, nil } +func (ec *executionContext) field_Query_getMyUnapprovedVersions_argsFilter( + ctx context.Context, + rawArgs map[string]interface{}, +) (map[string]interface{}, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["filter"] + if !ok { + var zeroVal map[string]interface{} + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) + if tmp, ok := rawArgs["filter"]; ok { + return ec.unmarshalOVersionFilter2map(ctx, tmp) + } + + var zeroVal map[string]interface{} + return zeroVal, nil +} func (ec *executionContext) field_Query_getMyVersions_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 map[string]interface{} - if tmp, ok := rawArgs["filter"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) - arg0, err = ec.unmarshalOVersionFilter2map(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Query_getMyVersions_argsFilter(ctx, rawArgs) + if err != nil { + return nil, err } args["filter"] = arg0 return args, nil } +func (ec *executionContext) field_Query_getMyVersions_argsFilter( + ctx context.Context, + rawArgs map[string]interface{}, +) (map[string]interface{}, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["filter"] + if !ok { + var zeroVal map[string]interface{} + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) + if tmp, ok := rawArgs["filter"]; ok { + return ec.unmarshalOVersionFilter2map(ctx, tmp) + } + + var zeroVal map[string]interface{} + return zeroVal, nil +} func (ec *executionContext) field_Query_getOAuthOptions_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["callback_url"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("callback_url")) - arg0, err = ec.unmarshalNString2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Query_getOAuthOptions_argsCallbackURL(ctx, rawArgs) + if err != nil { + return nil, err } args["callback_url"] = arg0 return args, nil } +func (ec *executionContext) field_Query_getOAuthOptions_argsCallbackURL( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["callback_url"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("callback_url")) + if tmp, ok := rawArgs["callback_url"]; ok { + return ec.unmarshalNString2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} func (ec *executionContext) field_Query_getSMLVersion_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["smlVersionID"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("smlVersionID")) - arg0, err = ec.unmarshalNSMLVersionID2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Query_getSMLVersion_argsSmlVersionID(ctx, rawArgs) + if err != nil { + return nil, err } args["smlVersionID"] = arg0 return args, nil } +func (ec *executionContext) field_Query_getSMLVersion_argsSmlVersionID( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["smlVersionID"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("smlVersionID")) + if tmp, ok := rawArgs["smlVersionID"]; ok { + return ec.unmarshalNSMLVersionID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} func (ec *executionContext) field_Query_getSMLVersions_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 map[string]interface{} - if tmp, ok := rawArgs["filter"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) - arg0, err = ec.unmarshalOSMLVersionFilter2map(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Query_getSMLVersions_argsFilter(ctx, rawArgs) + if err != nil { + return nil, err } args["filter"] = arg0 return args, nil } +func (ec *executionContext) field_Query_getSMLVersions_argsFilter( + ctx context.Context, + rawArgs map[string]interface{}, +) (map[string]interface{}, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["filter"] + if !ok { + var zeroVal map[string]interface{} + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) + if tmp, ok := rawArgs["filter"]; ok { + return ec.unmarshalOSMLVersionFilter2map(ctx, tmp) + } + + var zeroVal map[string]interface{} + return zeroVal, nil +} func (ec *executionContext) field_Query_getSatisfactoryVersion_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["id"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("id")) - arg0, err = ec.unmarshalNSatisfactoryVersionID2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Query_getSatisfactoryVersion_argsID(ctx, rawArgs) + if err != nil { + return nil, err } args["id"] = arg0 return args, nil } +func (ec *executionContext) field_Query_getSatisfactoryVersion_argsID( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["id"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("id")) + if tmp, ok := rawArgs["id"]; ok { + return ec.unmarshalNSatisfactoryVersionID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} func (ec *executionContext) field_Query_getTag_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["tagID"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("tagID")) - arg0, err = ec.unmarshalNTagID2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Query_getTag_argsTagID(ctx, rawArgs) + if err != nil { + return nil, err } args["tagID"] = arg0 return args, nil } +func (ec *executionContext) field_Query_getTag_argsTagID( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["tagID"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("tagID")) + if tmp, ok := rawArgs["tagID"]; ok { + return ec.unmarshalNTagID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} func (ec *executionContext) field_Query_getTags_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 *TagFilter - if tmp, ok := rawArgs["filter"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) - arg0, err = ec.unmarshalOTagFilter2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTagFilter(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Query_getTags_argsFilter(ctx, rawArgs) + if err != nil { + return nil, err } args["filter"] = arg0 return args, nil } +func (ec *executionContext) field_Query_getTags_argsFilter( + ctx context.Context, + rawArgs map[string]interface{}, +) (*TagFilter, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["filter"] + if !ok { + var zeroVal *TagFilter + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) + if tmp, ok := rawArgs["filter"]; ok { + return ec.unmarshalOTagFilter2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTagFilter(ctx, tmp) + } + + var zeroVal *TagFilter + return zeroVal, nil +} func (ec *executionContext) field_Query_getUnapprovedMods_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 map[string]interface{} - if tmp, ok := rawArgs["filter"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) - arg0, err = ec.unmarshalOModFilter2map(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Query_getUnapprovedMods_argsFilter(ctx, rawArgs) + if err != nil { + return nil, err } args["filter"] = arg0 return args, nil } +func (ec *executionContext) field_Query_getUnapprovedMods_argsFilter( + ctx context.Context, + rawArgs map[string]interface{}, +) (map[string]interface{}, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["filter"] + if !ok { + var zeroVal map[string]interface{} + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) + if tmp, ok := rawArgs["filter"]; ok { + return ec.unmarshalOModFilter2map(ctx, tmp) + } + + var zeroVal map[string]interface{} + return zeroVal, nil +} func (ec *executionContext) field_Query_getUnapprovedVersions_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 map[string]interface{} - if tmp, ok := rawArgs["filter"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) - arg0, err = ec.unmarshalOVersionFilter2map(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Query_getUnapprovedVersions_argsFilter(ctx, rawArgs) + if err != nil { + return nil, err } args["filter"] = arg0 return args, nil } +func (ec *executionContext) field_Query_getUnapprovedVersions_argsFilter( + ctx context.Context, + rawArgs map[string]interface{}, +) (map[string]interface{}, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["filter"] + if !ok { + var zeroVal map[string]interface{} + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) + if tmp, ok := rawArgs["filter"]; ok { + return ec.unmarshalOVersionFilter2map(ctx, tmp) + } + + var zeroVal map[string]interface{} + return zeroVal, nil +} func (ec *executionContext) field_Query_getUser_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["userId"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("userId")) - arg0, err = ec.unmarshalNUserID2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Query_getUser_argsUserID(ctx, rawArgs) + if err != nil { + return nil, err } args["userId"] = arg0 return args, nil } +func (ec *executionContext) field_Query_getUser_argsUserID( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["userId"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("userId")) + if tmp, ok := rawArgs["userId"]; ok { + return ec.unmarshalNUserID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} func (ec *executionContext) field_Query_getUsers_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 []string - if tmp, ok := rawArgs["userIds"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("userIds")) - arg0, err = ec.unmarshalNUserID2ᚕstringᚄ(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Query_getUsers_argsUserIds(ctx, rawArgs) + if err != nil { + return nil, err } args["userIds"] = arg0 return args, nil } +func (ec *executionContext) field_Query_getUsers_argsUserIds( + ctx context.Context, + rawArgs map[string]interface{}, +) ([]string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["userIds"] + if !ok { + var zeroVal []string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("userIds")) + if tmp, ok := rawArgs["userIds"]; ok { + return ec.unmarshalNUserID2ᚕstringᚄ(ctx, tmp) + } + + var zeroVal []string + return zeroVal, nil +} func (ec *executionContext) field_Query_getVersion_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 string - if tmp, ok := rawArgs["versionId"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) - arg0, err = ec.unmarshalNVersionID2string(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Query_getVersion_argsVersionID(ctx, rawArgs) + if err != nil { + return nil, err } args["versionId"] = arg0 return args, nil } +func (ec *executionContext) field_Query_getVersion_argsVersionID( + ctx context.Context, + rawArgs map[string]interface{}, +) (string, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["versionId"] + if !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) + if tmp, ok := rawArgs["versionId"]; ok { + return ec.unmarshalNVersionID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} func (ec *executionContext) field_Query_getVersions_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 map[string]interface{} - if tmp, ok := rawArgs["filter"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) - arg0, err = ec.unmarshalOVersionFilter2map(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Query_getVersions_argsFilter(ctx, rawArgs) + if err != nil { + return nil, err } args["filter"] = arg0 return args, nil } +func (ec *executionContext) field_Query_getVersions_argsFilter( + ctx context.Context, + rawArgs map[string]interface{}, +) (map[string]interface{}, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["filter"] + if !ok { + var zeroVal map[string]interface{} + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) + if tmp, ok := rawArgs["filter"]; ok { + return ec.unmarshalOVersionFilter2map(ctx, tmp) + } + + var zeroVal map[string]interface{} + return zeroVal, nil +} func (ec *executionContext) field_Query_resolveModVersions_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 []*ModVersionConstraint - if tmp, ok := rawArgs["filter"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) - arg0, err = ec.unmarshalNModVersionConstraint2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModVersionConstraintᚄ(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field_Query_resolveModVersions_argsFilter(ctx, rawArgs) + if err != nil { + return nil, err } args["filter"] = arg0 return args, nil } +func (ec *executionContext) field_Query_resolveModVersions_argsFilter( + ctx context.Context, + rawArgs map[string]interface{}, +) ([]*ModVersionConstraint, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["filter"] + if !ok { + var zeroVal []*ModVersionConstraint + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) + if tmp, ok := rawArgs["filter"]; ok { + return ec.unmarshalNModVersionConstraint2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModVersionConstraintᚄ(ctx, tmp) + } + + var zeroVal []*ModVersionConstraint + return zeroVal, nil +} func (ec *executionContext) field___Type_enumValues_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 bool - if tmp, ok := rawArgs["includeDeprecated"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("includeDeprecated")) - arg0, err = ec.unmarshalOBoolean2bool(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field___Type_enumValues_argsIncludeDeprecated(ctx, rawArgs) + if err != nil { + return nil, err } args["includeDeprecated"] = arg0 return args, nil } +func (ec *executionContext) field___Type_enumValues_argsIncludeDeprecated( + ctx context.Context, + rawArgs map[string]interface{}, +) (bool, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["includeDeprecated"] + if !ok { + var zeroVal bool + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("includeDeprecated")) + if tmp, ok := rawArgs["includeDeprecated"]; ok { + return ec.unmarshalOBoolean2bool(ctx, tmp) + } + + var zeroVal bool + return zeroVal, nil +} func (ec *executionContext) field___Type_fields_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { var err error args := map[string]interface{}{} - var arg0 bool - if tmp, ok := rawArgs["includeDeprecated"]; ok { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("includeDeprecated")) - arg0, err = ec.unmarshalOBoolean2bool(ctx, tmp) - if err != nil { - return nil, err - } + arg0, err := ec.field___Type_fields_argsIncludeDeprecated(ctx, rawArgs) + if err != nil { + return nil, err } args["includeDeprecated"] = arg0 return args, nil } +func (ec *executionContext) field___Type_fields_argsIncludeDeprecated( + ctx context.Context, + rawArgs map[string]interface{}, +) (bool, error) { + // We won't call the directive if the argument is null. + // Set call_argument_directives_with_null to true to call directives + // even if the argument is null. + _, ok := rawArgs["includeDeprecated"] + if !ok { + var zeroVal bool + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("includeDeprecated")) + if tmp, ok := rawArgs["includeDeprecated"]; ok { + return ec.unmarshalOBoolean2bool(ctx, tmp) + } + + var zeroVal bool + return zeroVal, nil +} // endregion ***************************** args.gotpl ***************************** @@ -8155,9 +9724,11 @@ func (ec *executionContext) _Mutation_discourseSSO(ctx context.Context, field gr ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().DiscourseSso(rctx, fc.Args["sso"].(string), fc.Args["sig"].(string)) } + directive1 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal *string + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive0) } @@ -8227,15 +9798,18 @@ func (ec *executionContext) _Mutation_createAnnouncement(ctx context.Context, fi ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().CreateAnnouncement(rctx, fc.Args["announcement"].(NewAnnouncement)) } + directive1 := func(ctx context.Context) (interface{}, error) { if ec.directives.CanEditAnnouncements == nil { - return nil, errors.New("directive canEditAnnouncements is not implemented") + var zeroVal *Announcement + return zeroVal, errors.New("directive canEditAnnouncements is not implemented") } return ec.directives.CanEditAnnouncements(ctx, nil, directive0) } directive2 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal *Announcement + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive1) } @@ -8313,15 +9887,18 @@ func (ec *executionContext) _Mutation_updateAnnouncement(ctx context.Context, fi ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().UpdateAnnouncement(rctx, fc.Args["announcementId"].(string), fc.Args["announcement"].(UpdateAnnouncement)) } + directive1 := func(ctx context.Context) (interface{}, error) { if ec.directives.CanEditAnnouncements == nil { - return nil, errors.New("directive canEditAnnouncements is not implemented") + var zeroVal *Announcement + return zeroVal, errors.New("directive canEditAnnouncements is not implemented") } return ec.directives.CanEditAnnouncements(ctx, nil, directive0) } directive2 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal *Announcement + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive1) } @@ -8402,15 +9979,18 @@ func (ec *executionContext) _Mutation_deleteAnnouncement(ctx context.Context, fi ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().DeleteAnnouncement(rctx, fc.Args["announcementId"].(string)) } + directive1 := func(ctx context.Context) (interface{}, error) { if ec.directives.CanEditAnnouncements == nil { - return nil, errors.New("directive canEditAnnouncements is not implemented") + var zeroVal bool + return zeroVal, errors.New("directive canEditAnnouncements is not implemented") } return ec.directives.CanEditAnnouncements(ctx, nil, directive0) } directive2 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal bool + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive1) } @@ -8483,19 +10063,23 @@ func (ec *executionContext) _Mutation_updateModCompatibility(ctx context.Context ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().UpdateModCompatibility(rctx, fc.Args["modId"].(string), fc.Args["compatibility"].(CompatibilityInfoInput)) } + directive1 := func(ctx context.Context) (interface{}, error) { field, err := ec.unmarshalOString2ᚖstring(ctx, "modId") if err != nil { - return nil, err + var zeroVal bool + return zeroVal, err } if ec.directives.CanEditModCompatibility == nil { - return nil, errors.New("directive canEditModCompatibility is not implemented") + var zeroVal bool + return zeroVal, errors.New("directive canEditModCompatibility is not implemented") } return ec.directives.CanEditModCompatibility(ctx, nil, directive0, field) } directive2 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal bool + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive1) } @@ -8568,15 +10152,18 @@ func (ec *executionContext) _Mutation_updateMultipleModCompatibilities(ctx conte ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().UpdateMultipleModCompatibilities(rctx, fc.Args["modIDs"].([]string), fc.Args["compatibility"].(CompatibilityInfoInput)) } + directive1 := func(ctx context.Context) (interface{}, error) { if ec.directives.CanEditModCompatibility == nil { - return nil, errors.New("directive canEditModCompatibility is not implemented") + var zeroVal bool + return zeroVal, errors.New("directive canEditModCompatibility is not implemented") } return ec.directives.CanEditModCompatibility(ctx, nil, directive0, nil) } directive2 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal bool + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive1) } @@ -8649,9 +10236,11 @@ func (ec *executionContext) _Mutation_createGuide(ctx context.Context, field gra ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().CreateGuide(rctx, fc.Args["guide"].(NewGuide)) } + directive1 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal *Guide + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive0) } @@ -8743,19 +10332,23 @@ func (ec *executionContext) _Mutation_updateGuide(ctx context.Context, field gra ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().UpdateGuide(rctx, fc.Args["guideId"].(string), fc.Args["guide"].(UpdateGuide)) } + directive1 := func(ctx context.Context) (interface{}, error) { field, err := ec.unmarshalNString2string(ctx, "guideId") if err != nil { - return nil, err + var zeroVal *Guide + return zeroVal, err } if ec.directives.CanEditGuide == nil { - return nil, errors.New("directive canEditGuide is not implemented") + var zeroVal *Guide + return zeroVal, errors.New("directive canEditGuide is not implemented") } return ec.directives.CanEditGuide(ctx, nil, directive0, field) } directive2 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal *Guide + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive1) } @@ -8850,19 +10443,23 @@ func (ec *executionContext) _Mutation_deleteGuide(ctx context.Context, field gra ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().DeleteGuide(rctx, fc.Args["guideId"].(string)) } + directive1 := func(ctx context.Context) (interface{}, error) { field, err := ec.unmarshalNString2string(ctx, "guideId") if err != nil { - return nil, err + var zeroVal bool + return zeroVal, err } if ec.directives.CanEditGuide == nil { - return nil, errors.New("directive canEditGuide is not implemented") + var zeroVal bool + return zeroVal, errors.New("directive canEditGuide is not implemented") } return ec.directives.CanEditGuide(ctx, nil, directive0, field) } directive2 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal bool + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive1) } @@ -8935,9 +10532,11 @@ func (ec *executionContext) _Mutation_createMod(ctx context.Context, field graph ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().CreateMod(rctx, fc.Args["mod"].(NewMod)) } + directive1 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal *Mod + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive0) } @@ -9063,19 +10662,23 @@ func (ec *executionContext) _Mutation_updateMod(ctx context.Context, field graph ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().UpdateMod(rctx, fc.Args["modId"].(string), fc.Args["mod"].(UpdateMod)) } + directive1 := func(ctx context.Context) (interface{}, error) { field, err := ec.unmarshalNString2string(ctx, "modId") if err != nil { - return nil, err + var zeroVal *Mod + return zeroVal, err } if ec.directives.CanEditMod == nil { - return nil, errors.New("directive canEditMod is not implemented") + var zeroVal *Mod + return zeroVal, errors.New("directive canEditMod is not implemented") } return ec.directives.CanEditMod(ctx, nil, directive0, field) } directive2 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal *Mod + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive1) } @@ -9204,19 +10807,23 @@ func (ec *executionContext) _Mutation_deleteMod(ctx context.Context, field graph ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().DeleteMod(rctx, fc.Args["modId"].(string)) } + directive1 := func(ctx context.Context) (interface{}, error) { field, err := ec.unmarshalNString2string(ctx, "modId") if err != nil { - return nil, err + var zeroVal bool + return zeroVal, err } if ec.directives.CanEditMod == nil { - return nil, errors.New("directive canEditMod is not implemented") + var zeroVal bool + return zeroVal, errors.New("directive canEditMod is not implemented") } return ec.directives.CanEditMod(ctx, nil, directive0, field) } directive2 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal bool + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive1) } @@ -9289,15 +10896,18 @@ func (ec *executionContext) _Mutation_approveMod(ctx context.Context, field grap ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().ApproveMod(rctx, fc.Args["modId"].(string)) } + directive1 := func(ctx context.Context) (interface{}, error) { if ec.directives.CanApproveMods == nil { - return nil, errors.New("directive canApproveMods is not implemented") + var zeroVal bool + return zeroVal, errors.New("directive canApproveMods is not implemented") } return ec.directives.CanApproveMods(ctx, nil, directive0) } directive2 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal bool + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive1) } @@ -9370,15 +10980,18 @@ func (ec *executionContext) _Mutation_denyMod(ctx context.Context, field graphql ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().DenyMod(rctx, fc.Args["modId"].(string)) } + directive1 := func(ctx context.Context) (interface{}, error) { if ec.directives.CanApproveMods == nil { - return nil, errors.New("directive canApproveMods is not implemented") + var zeroVal bool + return zeroVal, errors.New("directive canApproveMods is not implemented") } return ec.directives.CanApproveMods(ctx, nil, directive0) } directive2 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal bool + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive1) } @@ -9451,15 +11064,18 @@ func (ec *executionContext) _Mutation_createSatisfactoryVersion(ctx context.Cont ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().CreateSatisfactoryVersion(rctx, fc.Args["input"].(NewSatisfactoryVersion)) } + directive1 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal *SatisfactoryVersion + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive0) } directive2 := func(ctx context.Context) (interface{}, error) { if ec.directives.CanEditSatisfactoryVersions == nil { - return nil, errors.New("directive canEditSatisfactoryVersions is not implemented") + var zeroVal *SatisfactoryVersion + return zeroVal, errors.New("directive canEditSatisfactoryVersions is not implemented") } return ec.directives.CanEditSatisfactoryVersions(ctx, nil, directive1) } @@ -9540,15 +11156,18 @@ func (ec *executionContext) _Mutation_updateSatisfactoryVersion(ctx context.Cont ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().UpdateSatisfactoryVersion(rctx, fc.Args["id"].(string), fc.Args["input"].(UpdateSatisfactoryVersion)) } + directive1 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal *SatisfactoryVersion + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive0) } directive2 := func(ctx context.Context) (interface{}, error) { if ec.directives.CanEditSatisfactoryVersions == nil { - return nil, errors.New("directive canEditSatisfactoryVersions is not implemented") + var zeroVal *SatisfactoryVersion + return zeroVal, errors.New("directive canEditSatisfactoryVersions is not implemented") } return ec.directives.CanEditSatisfactoryVersions(ctx, nil, directive1) } @@ -9629,15 +11248,18 @@ func (ec *executionContext) _Mutation_deleteSatisfactoryVersion(ctx context.Cont ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().DeleteSatisfactoryVersion(rctx, fc.Args["id"].(string)) } + directive1 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal bool + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive0) } directive2 := func(ctx context.Context) (interface{}, error) { if ec.directives.CanEditSatisfactoryVersions == nil { - return nil, errors.New("directive canEditSatisfactoryVersions is not implemented") + var zeroVal bool + return zeroVal, errors.New("directive canEditSatisfactoryVersions is not implemented") } return ec.directives.CanEditSatisfactoryVersions(ctx, nil, directive1) } @@ -9710,15 +11332,18 @@ func (ec *executionContext) _Mutation_createTag(ctx context.Context, field graph ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().CreateTag(rctx, fc.Args["tagName"].(string), fc.Args["description"].(string)) } + directive1 := func(ctx context.Context) (interface{}, error) { if ec.directives.CanManageTags == nil { - return nil, errors.New("directive canManageTags is not implemented") + var zeroVal *Tag + return zeroVal, errors.New("directive canManageTags is not implemented") } return ec.directives.CanManageTags(ctx, nil, directive0) } directive2 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal *Tag + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive1) } @@ -9796,15 +11421,18 @@ func (ec *executionContext) _Mutation_createMultipleTags(ctx context.Context, fi ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().CreateMultipleTags(rctx, fc.Args["tagNames"].([]*NewTag)) } + directive1 := func(ctx context.Context) (interface{}, error) { if ec.directives.CanManageTags == nil { - return nil, errors.New("directive canManageTags is not implemented") + var zeroVal []*Tag + return zeroVal, errors.New("directive canManageTags is not implemented") } return ec.directives.CanManageTags(ctx, nil, directive0) } directive2 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal []*Tag + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive1) } @@ -9885,15 +11513,18 @@ func (ec *executionContext) _Mutation_updateTag(ctx context.Context, field graph ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().UpdateTag(rctx, fc.Args["tagID"].(string), fc.Args["NewName"].(string), fc.Args["description"].(string)) } + directive1 := func(ctx context.Context) (interface{}, error) { if ec.directives.CanManageTags == nil { - return nil, errors.New("directive canManageTags is not implemented") + var zeroVal *Tag + return zeroVal, errors.New("directive canManageTags is not implemented") } return ec.directives.CanManageTags(ctx, nil, directive0) } directive2 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal *Tag + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive1) } @@ -9974,15 +11605,18 @@ func (ec *executionContext) _Mutation_deleteTag(ctx context.Context, field graph ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().DeleteTag(rctx, fc.Args["tagID"].(string)) } + directive1 := func(ctx context.Context) (interface{}, error) { if ec.directives.CanManageTags == nil { - return nil, errors.New("directive canManageTags is not implemented") + var zeroVal bool + return zeroVal, errors.New("directive canManageTags is not implemented") } return ec.directives.CanManageTags(ctx, nil, directive0) } directive2 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal bool + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive1) } @@ -10055,23 +11689,28 @@ func (ec *executionContext) _Mutation_updateUser(ctx context.Context, field grap ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().UpdateUser(rctx, fc.Args["userId"].(string), fc.Args["input"].(UpdateUser)) } + directive1 := func(ctx context.Context) (interface{}, error) { field, err := ec.unmarshalNString2string(ctx, "userId") if err != nil { - return nil, err + var zeroVal *User + return zeroVal, err } object, err := ec.unmarshalNBoolean2bool(ctx, false) if err != nil { - return nil, err + var zeroVal *User + return zeroVal, err } if ec.directives.CanEditUser == nil { - return nil, errors.New("directive canEditUser is not implemented") + var zeroVal *User + return zeroVal, errors.New("directive canEditUser is not implemented") } return ec.directives.CanEditUser(ctx, nil, directive0, field, object) } directive2 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal *User + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive1) } @@ -10172,9 +11811,11 @@ func (ec *executionContext) _Mutation_logout(ctx context.Context, field graphql. ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().Logout(rctx) } + directive1 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal bool + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive0) } @@ -10236,9 +11877,11 @@ func (ec *executionContext) _Mutation_oAuthGithub(ctx context.Context, field gra ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().OAuthGithub(rctx, fc.Args["code"].(string), fc.Args["state"].(string)) } + directive1 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsNotLoggedIn == nil { - return nil, errors.New("directive isNotLoggedIn is not implemented") + var zeroVal *UserSession + return zeroVal, errors.New("directive isNotLoggedIn is not implemented") } return ec.directives.IsNotLoggedIn(ctx, nil, directive0) } @@ -10312,9 +11955,11 @@ func (ec *executionContext) _Mutation_oAuthGoogle(ctx context.Context, field gra ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().OAuthGoogle(rctx, fc.Args["code"].(string), fc.Args["state"].(string)) } + directive1 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsNotLoggedIn == nil { - return nil, errors.New("directive isNotLoggedIn is not implemented") + var zeroVal *UserSession + return zeroVal, errors.New("directive isNotLoggedIn is not implemented") } return ec.directives.IsNotLoggedIn(ctx, nil, directive0) } @@ -10388,9 +12033,11 @@ func (ec *executionContext) _Mutation_oAuthFacebook(ctx context.Context, field g ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().OAuthFacebook(rctx, fc.Args["code"].(string), fc.Args["state"].(string)) } + directive1 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsNotLoggedIn == nil { - return nil, errors.New("directive isNotLoggedIn is not implemented") + var zeroVal *UserSession + return zeroVal, errors.New("directive isNotLoggedIn is not implemented") } return ec.directives.IsNotLoggedIn(ctx, nil, directive0) } @@ -10464,19 +12111,23 @@ func (ec *executionContext) _Mutation_createVersion(ctx context.Context, field g ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().CreateVersion(rctx, fc.Args["modId"].(string)) } + directive1 := func(ctx context.Context) (interface{}, error) { field, err := ec.unmarshalNString2string(ctx, "modId") if err != nil { - return nil, err + var zeroVal string + return zeroVal, err } if ec.directives.CanEditMod == nil { - return nil, errors.New("directive canEditMod is not implemented") + var zeroVal string + return zeroVal, errors.New("directive canEditMod is not implemented") } return ec.directives.CanEditMod(ctx, nil, directive0, field) } directive2 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal string + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive1) } @@ -10549,19 +12200,23 @@ func (ec *executionContext) _Mutation_uploadVersionPart(ctx context.Context, fie ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().UploadVersionPart(rctx, fc.Args["modId"].(string), fc.Args["versionId"].(string), fc.Args["part"].(int), fc.Args["file"].(graphql.Upload)) } + directive1 := func(ctx context.Context) (interface{}, error) { field, err := ec.unmarshalNString2string(ctx, "modId") if err != nil { - return nil, err + var zeroVal bool + return zeroVal, err } if ec.directives.CanEditMod == nil { - return nil, errors.New("directive canEditMod is not implemented") + var zeroVal bool + return zeroVal, errors.New("directive canEditMod is not implemented") } return ec.directives.CanEditMod(ctx, nil, directive0, field) } directive2 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal bool + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive1) } @@ -10634,19 +12289,23 @@ func (ec *executionContext) _Mutation_finalizeCreateVersion(ctx context.Context, ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().FinalizeCreateVersion(rctx, fc.Args["modId"].(string), fc.Args["versionId"].(string), fc.Args["version"].(NewVersion)) } + directive1 := func(ctx context.Context) (interface{}, error) { field, err := ec.unmarshalNString2string(ctx, "modId") if err != nil { - return nil, err + var zeroVal bool + return zeroVal, err } if ec.directives.CanEditMod == nil { - return nil, errors.New("directive canEditMod is not implemented") + var zeroVal bool + return zeroVal, errors.New("directive canEditMod is not implemented") } return ec.directives.CanEditMod(ctx, nil, directive0, field) } directive2 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal bool + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive1) } @@ -10719,19 +12378,23 @@ func (ec *executionContext) _Mutation_updateVersion(ctx context.Context, field g ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().UpdateVersion(rctx, fc.Args["versionId"].(string), fc.Args["version"].(UpdateVersion)) } + directive1 := func(ctx context.Context) (interface{}, error) { field, err := ec.unmarshalNString2string(ctx, "versionId") if err != nil { - return nil, err + var zeroVal *Version + return zeroVal, err } if ec.directives.CanEditVersion == nil { - return nil, errors.New("directive canEditVersion is not implemented") + var zeroVal *Version + return zeroVal, errors.New("directive canEditVersion is not implemented") } return ec.directives.CanEditVersion(ctx, nil, directive0, field) } directive2 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal *Version + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive1) } @@ -10846,19 +12509,23 @@ func (ec *executionContext) _Mutation_deleteVersion(ctx context.Context, field g ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().DeleteVersion(rctx, fc.Args["versionId"].(string)) } + directive1 := func(ctx context.Context) (interface{}, error) { field, err := ec.unmarshalNString2string(ctx, "versionId") if err != nil { - return nil, err + var zeroVal bool + return zeroVal, err } if ec.directives.CanEditVersion == nil { - return nil, errors.New("directive canEditVersion is not implemented") + var zeroVal bool + return zeroVal, errors.New("directive canEditVersion is not implemented") } return ec.directives.CanEditVersion(ctx, nil, directive0, field) } directive2 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal bool + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive1) } @@ -10931,15 +12598,18 @@ func (ec *executionContext) _Mutation_approveVersion(ctx context.Context, field ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().ApproveVersion(rctx, fc.Args["versionId"].(string)) } + directive1 := func(ctx context.Context) (interface{}, error) { if ec.directives.CanApproveVersions == nil { - return nil, errors.New("directive canApproveVersions is not implemented") + var zeroVal bool + return zeroVal, errors.New("directive canApproveVersions is not implemented") } return ec.directives.CanApproveVersions(ctx, nil, directive0) } directive2 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal bool + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive1) } @@ -11012,15 +12682,18 @@ func (ec *executionContext) _Mutation_denyVersion(ctx context.Context, field gra ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().DenyVersion(rctx, fc.Args["versionId"].(string)) } + directive1 := func(ctx context.Context) (interface{}, error) { if ec.directives.CanApproveVersions == nil { - return nil, errors.New("directive canApproveVersions is not implemented") + var zeroVal bool + return zeroVal, errors.New("directive canApproveVersions is not implemented") } return ec.directives.CanApproveVersions(ctx, nil, directive0) } directive2 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal bool + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive1) } @@ -11983,15 +13656,18 @@ func (ec *executionContext) _Query_getUnapprovedMods(ctx context.Context, field ctx = rctx // use context from middleware stack in children return ec.resolvers.Query().GetUnapprovedMods(rctx, fc.Args["filter"].(map[string]interface{})) } + directive1 := func(ctx context.Context) (interface{}, error) { if ec.directives.CanApproveMods == nil { - return nil, errors.New("directive canApproveMods is not implemented") + var zeroVal *GetMods + return zeroVal, errors.New("directive canApproveMods is not implemented") } return ec.directives.CanApproveMods(ctx, nil, directive0) } directive2 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal *GetMods + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive1) } @@ -12070,9 +13746,11 @@ func (ec *executionContext) _Query_getMyMods(ctx context.Context, field graphql. ctx = rctx // use context from middleware stack in children return ec.resolvers.Query().GetMyMods(rctx, fc.Args["filter"].(map[string]interface{})) } + directive1 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal *GetMyMods + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive0) } @@ -12151,9 +13829,11 @@ func (ec *executionContext) _Query_getMyUnapprovedMods(ctx context.Context, fiel ctx = rctx // use context from middleware stack in children return ec.resolvers.Query().GetMyUnapprovedMods(rctx, fc.Args["filter"].(map[string]interface{})) } + directive1 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal *GetMyMods + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive0) } @@ -12724,9 +14404,11 @@ func (ec *executionContext) _Query_getMe(ctx context.Context, field graphql.Coll ctx = rctx // use context from middleware stack in children return ec.resolvers.Query().GetMe(rctx) } + directive1 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal *User + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive0) } @@ -13131,15 +14813,18 @@ func (ec *executionContext) _Query_getUnapprovedVersions(ctx context.Context, fi ctx = rctx // use context from middleware stack in children return ec.resolvers.Query().GetUnapprovedVersions(rctx, fc.Args["filter"].(map[string]interface{})) } + directive1 := func(ctx context.Context) (interface{}, error) { if ec.directives.CanApproveVersions == nil { - return nil, errors.New("directive canApproveVersions is not implemented") + var zeroVal *GetVersions + return zeroVal, errors.New("directive canApproveVersions is not implemented") } return ec.directives.CanApproveVersions(ctx, nil, directive0) } directive2 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal *GetVersions + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive1) } @@ -13218,19 +14903,23 @@ func (ec *executionContext) _Query_checkVersionUploadState(ctx context.Context, ctx = rctx // use context from middleware stack in children return ec.resolvers.Query().CheckVersionUploadState(rctx, fc.Args["modId"].(string), fc.Args["versionId"].(string)) } + directive1 := func(ctx context.Context) (interface{}, error) { field, err := ec.unmarshalNString2string(ctx, "modId") if err != nil { - return nil, err + var zeroVal *CreateVersionResponse + return zeroVal, err } if ec.directives.CanEditMod == nil { - return nil, errors.New("directive canEditMod is not implemented") + var zeroVal *CreateVersionResponse + return zeroVal, errors.New("directive canEditMod is not implemented") } return ec.directives.CanEditMod(ctx, nil, directive0, field) } directive2 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal *CreateVersionResponse + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive1) } @@ -13306,9 +14995,11 @@ func (ec *executionContext) _Query_getMyVersions(ctx context.Context, field grap ctx = rctx // use context from middleware stack in children return ec.resolvers.Query().GetMyVersions(rctx, fc.Args["filter"].(map[string]interface{})) } + directive1 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal *GetMyVersions + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive0) } @@ -13387,9 +15078,11 @@ func (ec *executionContext) _Query_getMyUnapprovedVersions(ctx context.Context, ctx = rctx // use context from middleware stack in children return ec.resolvers.Query().GetMyUnapprovedVersions(rctx, fc.Args["filter"].(map[string]interface{})) } + directive1 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal *GetMyVersions + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive0) } @@ -14570,23 +16263,28 @@ func (ec *executionContext) _User_email(ctx context.Context, field graphql.Colle ctx = rctx // use context from middleware stack in children return obj.Email, nil } + directive1 := func(ctx context.Context) (interface{}, error) { field, err := ec.unmarshalNString2string(ctx, "ID") if err != nil { - return nil, err + var zeroVal *string + return zeroVal, err } object, err := ec.unmarshalNBoolean2bool(ctx, true) if err != nil { - return nil, err + var zeroVal *string + return zeroVal, err } if ec.directives.CanEditUser == nil { - return nil, errors.New("directive canEditUser is not implemented") + var zeroVal *string + return zeroVal, errors.New("directive canEditUser is not implemented") } return ec.directives.CanEditUser(ctx, obj, directive0, field, object) } directive2 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal *string + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, obj, directive1) } @@ -14815,23 +16513,28 @@ func (ec *executionContext) _User_github_id(ctx context.Context, field graphql.C ctx = rctx // use context from middleware stack in children return obj.GithubID, nil } + directive1 := func(ctx context.Context) (interface{}, error) { field, err := ec.unmarshalNString2string(ctx, "ID") if err != nil { - return nil, err + var zeroVal *string + return zeroVal, err } object, err := ec.unmarshalNBoolean2bool(ctx, true) if err != nil { - return nil, err + var zeroVal *string + return zeroVal, err } if ec.directives.CanEditUser == nil { - return nil, errors.New("directive canEditUser is not implemented") + var zeroVal *string + return zeroVal, errors.New("directive canEditUser is not implemented") } return ec.directives.CanEditUser(ctx, obj, directive0, field, object) } directive2 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal *string + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, obj, directive1) } @@ -14890,23 +16593,28 @@ func (ec *executionContext) _User_google_id(ctx context.Context, field graphql.C ctx = rctx // use context from middleware stack in children return obj.GoogleID, nil } + directive1 := func(ctx context.Context) (interface{}, error) { field, err := ec.unmarshalNString2string(ctx, "ID") if err != nil { - return nil, err + var zeroVal *string + return zeroVal, err } object, err := ec.unmarshalNBoolean2bool(ctx, true) if err != nil { - return nil, err + var zeroVal *string + return zeroVal, err } if ec.directives.CanEditUser == nil { - return nil, errors.New("directive canEditUser is not implemented") + var zeroVal *string + return zeroVal, errors.New("directive canEditUser is not implemented") } return ec.directives.CanEditUser(ctx, obj, directive0, field, object) } directive2 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal *string + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, obj, directive1) } @@ -14965,23 +16673,28 @@ func (ec *executionContext) _User_facebook_id(ctx context.Context, field graphql ctx = rctx // use context from middleware stack in children return obj.FacebookID, nil } + directive1 := func(ctx context.Context) (interface{}, error) { field, err := ec.unmarshalNString2string(ctx, "ID") if err != nil { - return nil, err + var zeroVal *string + return zeroVal, err } object, err := ec.unmarshalNBoolean2bool(ctx, true) if err != nil { - return nil, err + var zeroVal *string + return zeroVal, err } if ec.directives.CanEditUser == nil { - return nil, errors.New("directive canEditUser is not implemented") + var zeroVal *string + return zeroVal, errors.New("directive canEditUser is not implemented") } return ec.directives.CanEditUser(ctx, obj, directive0, field, object) } directive2 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal *string + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, obj, directive1) } @@ -15040,23 +16753,28 @@ func (ec *executionContext) _User_roles(ctx context.Context, field graphql.Colle ctx = rctx // use context from middleware stack in children return ec.resolvers.User().Roles(rctx, obj) } + directive1 := func(ctx context.Context) (interface{}, error) { field, err := ec.unmarshalNString2string(ctx, "ID") if err != nil { - return nil, err + var zeroVal *UserRoles + return zeroVal, err } object, err := ec.unmarshalNBoolean2bool(ctx, true) if err != nil { - return nil, err + var zeroVal *UserRoles + return zeroVal, err } if ec.directives.CanEditUser == nil { - return nil, errors.New("directive canEditUser is not implemented") + var zeroVal *UserRoles + return zeroVal, errors.New("directive canEditUser is not implemented") } return ec.directives.CanEditUser(ctx, obj, directive0, field, object) } directive2 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal *UserRoles + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, obj, directive1) } @@ -15136,23 +16854,28 @@ func (ec *executionContext) _User_groups(ctx context.Context, field graphql.Coll ctx = rctx // use context from middleware stack in children return ec.resolvers.User().Groups(rctx, obj) } + directive1 := func(ctx context.Context) (interface{}, error) { field, err := ec.unmarshalNString2string(ctx, "ID") if err != nil { - return nil, err + var zeroVal []*Group + return zeroVal, err } object, err := ec.unmarshalNBoolean2bool(ctx, true) if err != nil { - return nil, err + var zeroVal []*Group + return zeroVal, err } if ec.directives.CanEditUser == nil { - return nil, errors.New("directive canEditUser is not implemented") + var zeroVal []*Group + return zeroVal, errors.New("directive canEditUser is not implemented") } return ec.directives.CanEditUser(ctx, obj, directive0, field, object) } directive2 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal []*Group + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, obj, directive1) } @@ -20622,15 +22345,18 @@ func (ec *executionContext) unmarshalInputUpdateUser(ctx context.Context, obj in case "groups": ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("groups")) directive0 := func(ctx context.Context) (interface{}, error) { return ec.unmarshalOString2ᚕstringᚄ(ctx, v) } + directive1 := func(ctx context.Context) (interface{}, error) { if ec.directives.CanEditUsers == nil { - return nil, errors.New("directive canEditUsers is not implemented") + var zeroVal []string + return zeroVal, errors.New("directive canEditUsers is not implemented") } return ec.directives.CanEditUsers(ctx, obj, directive0) } directive2 := func(ctx context.Context) (interface{}, error) { if ec.directives.IsLoggedIn == nil { - return nil, errors.New("directive isLoggedIn is not implemented") + var zeroVal []string + return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, obj, directive1) } diff --git a/gqlgen.yml b/gqlgen.yml index 545b7c22..f1e6d522 100755 --- a/gqlgen.yml +++ b/gqlgen.yml @@ -14,12 +14,18 @@ resolver: type: Resolver preserve_resolver: true + # https://github.com/99designs/gqlgen/issues/3321 + preserve_resolver: true + models: NewMod: model: github.com/satisfactorymodding/smr-api/generated.NewMod UpdateMod: model: github.com/satisfactorymodding/smr-api/generated.UpdateMod + fields: + network_use_disclosure: + omittable: true VersionFilter: model: "map[string]interface{}" From 7dc04bfedef6664d7e27fe4ee4ab58b5c9a3a833 Mon Sep 17 00:00:00 2001 From: Rob B Date: Fri, 11 Apr 2025 21:18:59 -0400 Subject: [PATCH 007/100] fix: setting mod network disclosure back to Unspecified --- cspell.json | 7 ++++++- generated/custom_models.go | 32 ++++++++++++++++++++++++++++++++ generated/generated.go | 2 +- gql/resolver_mods.go | 10 +++++++++- 4 files changed, 48 insertions(+), 3 deletions(-) create mode 100755 generated/custom_models.go diff --git a/cspell.json b/cspell.json index 7922dbe7..e3a24cb8 100644 --- a/cspell.json +++ b/cspell.json @@ -7,6 +7,7 @@ ], "words": [ "devbox", + "dgraph", "entcache", "entgo", "fenv", @@ -15,6 +16,8 @@ "golangci", "goverter", "gqlgen", + "INNF", + "INNOEF", "libwebp", "Mircea", "mtxr", @@ -25,8 +28,10 @@ "pasteo", "pgadmin", "protoc", + "ristretto", "slox", - "svcacct" + "svcacct", + "Webp" ], // cSpell:disable (don't complain about the words we listed here) "flagWords": [ diff --git a/generated/custom_models.go b/generated/custom_models.go new file mode 100755 index 00000000..e4bd354d --- /dev/null +++ b/generated/custom_models.go @@ -0,0 +1,32 @@ +package generated + +import "github.com/99designs/gqlgen/graphql" + +type NewMod struct { + Name string `json:"name" validate:"required,min=3,max=32"` + ShortDescription string `json:"short_description" validate:"required,min=16,max=128"` + FullDescription *string `json:"full_description"` + Logo *graphql.Upload `json:"logo"` + SourceURL *string `json:"source_url"` + ModReference string `json:"mod_reference"` + Hidden *bool `json:"hidden"` + TagIDs []string `json:"tagIDs" validate:"dive,min=3,max=24"` + ToggleNetworkUse *bool `json:"toggle_network_use"` + ToggleExplicitContent *bool `json:"toggle_explicit_content"` +} + +type UpdateMod struct { + Name *string `json:"name" validate:"omitempty,min=3,max=32"` + ShortDescription *string `json:"short_description" validate:"omitempty,min=16,max=128"` + FullDescription *string `json:"full_description"` + Logo *graphql.Upload `json:"logo"` + SourceURL *string `json:"source_url"` + ModReference *string `json:"mod_reference"` + Hidden *bool `json:"hidden"` + Compatibility *CompatibilityInfoInput `json:"compatibility"` + Authors []UpdateUserMod `json:"authors"` + TagIDs []string `json:"tagIDs" validate:"dive,min=3,max=24"` + ToggleNetworkUse *bool `json:"toggle_network_use"` + NetworkUseDisclosure graphql.Omittable[*string] `json:"network_use_disclosure"` + ToggleExplicitContent *bool `json:"toggle_explicit_content"` +} diff --git a/generated/generated.go b/generated/generated.go index fb2f9133..77d7fe13 100644 --- a/generated/generated.go +++ b/generated/generated.go @@ -22273,7 +22273,7 @@ func (ec *executionContext) unmarshalInputUpdateMod(ctx context.Context, obj int if err != nil { return it, err } - it.NetworkUseDisclosure = data + it.NetworkUseDisclosure = graphql.OmittableOf(data) case "toggle_explicit_content": ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("toggle_explicit_content")) data, err := ec.unmarshalOBoolean2ᚖbool(ctx, v) diff --git a/gql/resolver_mods.go b/gql/resolver_mods.go index 4cb29fea..e0ab82f6 100644 --- a/gql/resolver_mods.go +++ b/gql/resolver_mods.go @@ -188,7 +188,15 @@ func (r *mutationResolver) UpdateMod(ctx context.Context, modID string, updateMo SetINNF(updateMod.Hidden, dbUpdate.SetHidden) SetCompatibilityINNF(updateMod.Compatibility, dbUpdate.SetCompatibility) SetINNF(updateMod.ToggleNetworkUse, dbUpdate.SetToggleNetworkUse) - SetINNF(updateMod.NetworkUseDisclosure, dbUpdate.SetNetworkUseDisclosure) + + newNetworkDisclosure, isSet := updateMod.NetworkUseDisclosure.ValueOK() + if isSet { + if newNetworkDisclosure == nil { + dbUpdate.ClearNetworkUseDisclosure() + } else { + dbUpdate.SetNetworkUseDisclosure(*newNetworkDisclosure) + } + } // SetINNF(updateMod.AiUseDisclosure, dbUpdate.SetAiUseDisclosure) SetINNF(updateMod.ToggleExplicitContent, dbUpdate.SetToggleExplicitContent) From 8d1346e602c69ae93ec3ac2cea1702c945517686 Mon Sep 17 00:00:00 2001 From: Rob B Date: Sat, 10 Jan 2026 18:10:49 -0500 Subject: [PATCH 008/100] chore: regenerate generated files after rebase --- generated/conv/mod.go | 4 +- generated/generated.go | 2751 +++++++++++++++++++--------------------- gqlgen.yml | 2 - 3 files changed, 1325 insertions(+), 1432 deletions(-) diff --git a/generated/conv/mod.go b/generated/conv/mod.go index 16f60b48..d9ddeed6 100755 --- a/generated/conv/mod.go +++ b/generated/conv/mod.go @@ -47,12 +47,10 @@ func (c *ModImpl) Convert(source *ent.Mod) *generated.Mod { } generatedMod.Compatibility = c.pUtilCompatibilityInfoToPGeneratedCompatibilityInfo((*source).Compatibility) generatedMod.ToggleNetworkUse = (*source).ToggleNetworkUse - var pString5 *string if (*source).NetworkUseDisclosure != nil { xstring := *(*source).NetworkUseDisclosure - pString5 = &xstring + generatedMod.NetworkUseDisclosure = &xstring } - generatedMod.NetworkUseDisclosure = pString5 generatedMod.ToggleExplicitContent = (*source).ToggleExplicitContent pGeneratedMod = &generatedMod } diff --git a/generated/generated.go b/generated/generated.go index 77d7fe13..c492b4b7 100644 --- a/generated/generated.go +++ b/generated/generated.go @@ -57,19 +57,19 @@ type ResolverRoot interface { } type DirectiveRoot struct { - CanApproveMods func(ctx context.Context, obj interface{}, next graphql.Resolver) (res interface{}, err error) - CanApproveVersions func(ctx context.Context, obj interface{}, next graphql.Resolver) (res interface{}, err error) - CanEditAnnouncements func(ctx context.Context, obj interface{}, next graphql.Resolver) (res interface{}, err error) - CanEditGuide func(ctx context.Context, obj interface{}, next graphql.Resolver, field string) (res interface{}, err error) - CanEditMod func(ctx context.Context, obj interface{}, next graphql.Resolver, field string) (res interface{}, err error) - CanEditModCompatibility func(ctx context.Context, obj interface{}, next graphql.Resolver, field *string) (res interface{}, err error) - CanEditSatisfactoryVersions func(ctx context.Context, obj interface{}, next graphql.Resolver) (res interface{}, err error) - CanEditUser func(ctx context.Context, obj interface{}, next graphql.Resolver, field string, object bool) (res interface{}, err error) - CanEditUsers func(ctx context.Context, obj interface{}, next graphql.Resolver) (res interface{}, err error) - CanEditVersion func(ctx context.Context, obj interface{}, next graphql.Resolver, field string) (res interface{}, err error) - CanManageTags func(ctx context.Context, obj interface{}, next graphql.Resolver) (res interface{}, err error) - IsLoggedIn func(ctx context.Context, obj interface{}, next graphql.Resolver) (res interface{}, err error) - IsNotLoggedIn func(ctx context.Context, obj interface{}, next graphql.Resolver) (res interface{}, err error) + CanApproveMods func(ctx context.Context, obj any, next graphql.Resolver) (res any, err error) + CanApproveVersions func(ctx context.Context, obj any, next graphql.Resolver) (res any, err error) + CanEditAnnouncements func(ctx context.Context, obj any, next graphql.Resolver) (res any, err error) + CanEditGuide func(ctx context.Context, obj any, next graphql.Resolver, field string) (res any, err error) + CanEditMod func(ctx context.Context, obj any, next graphql.Resolver, field string) (res any, err error) + CanEditModCompatibility func(ctx context.Context, obj any, next graphql.Resolver, field *string) (res any, err error) + CanEditSatisfactoryVersions func(ctx context.Context, obj any, next graphql.Resolver) (res any, err error) + CanEditUser func(ctx context.Context, obj any, next graphql.Resolver, field string, object bool) (res any, err error) + CanEditUsers func(ctx context.Context, obj any, next graphql.Resolver) (res any, err error) + CanEditVersion func(ctx context.Context, obj any, next graphql.Resolver, field string) (res any, err error) + CanManageTags func(ctx context.Context, obj any, next graphql.Resolver) (res any, err error) + IsLoggedIn func(ctx context.Context, obj any, next graphql.Resolver) (res any, err error) + IsNotLoggedIn func(ctx context.Context, obj any, next graphql.Resolver) (res any, err error) } type ComplexityRoot struct { @@ -540,7 +540,7 @@ func (e *executableSchema) Schema() *ast.Schema { return parsedSchema } -func (e *executableSchema) Complexity(typeName, field string, childComplexity int, rawArgs map[string]interface{}) (int, bool) { +func (e *executableSchema) Complexity(ctx context.Context, typeName, field string, childComplexity int, rawArgs map[string]any) (int, bool) { ec := executionContext{nil, e, 0, 0, nil} _ = ec switch typeName + "." + field { @@ -991,7 +991,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Mod_version_args(context.TODO(), rawArgs) + args, err := ec.field_Mod_version_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1003,7 +1003,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Mod_versions_args(context.TODO(), rawArgs) + args, err := ec.field_Mod_versions_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1043,7 +1043,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Mutation_approveMod_args(context.TODO(), rawArgs) + args, err := ec.field_Mutation_approveMod_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1055,7 +1055,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Mutation_approveVersion_args(context.TODO(), rawArgs) + args, err := ec.field_Mutation_approveVersion_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1067,7 +1067,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Mutation_createAnnouncement_args(context.TODO(), rawArgs) + args, err := ec.field_Mutation_createAnnouncement_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1079,7 +1079,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Mutation_createGuide_args(context.TODO(), rawArgs) + args, err := ec.field_Mutation_createGuide_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1091,7 +1091,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Mutation_createMod_args(context.TODO(), rawArgs) + args, err := ec.field_Mutation_createMod_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1103,7 +1103,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Mutation_createMultipleTags_args(context.TODO(), rawArgs) + args, err := ec.field_Mutation_createMultipleTags_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1115,7 +1115,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Mutation_createSatisfactoryVersion_args(context.TODO(), rawArgs) + args, err := ec.field_Mutation_createSatisfactoryVersion_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1127,7 +1127,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Mutation_createTag_args(context.TODO(), rawArgs) + args, err := ec.field_Mutation_createTag_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1139,7 +1139,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Mutation_createVersion_args(context.TODO(), rawArgs) + args, err := ec.field_Mutation_createVersion_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1151,7 +1151,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Mutation_deleteAnnouncement_args(context.TODO(), rawArgs) + args, err := ec.field_Mutation_deleteAnnouncement_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1163,7 +1163,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Mutation_deleteGuide_args(context.TODO(), rawArgs) + args, err := ec.field_Mutation_deleteGuide_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1175,7 +1175,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Mutation_deleteMod_args(context.TODO(), rawArgs) + args, err := ec.field_Mutation_deleteMod_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1187,7 +1187,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Mutation_deleteSatisfactoryVersion_args(context.TODO(), rawArgs) + args, err := ec.field_Mutation_deleteSatisfactoryVersion_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1199,7 +1199,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Mutation_deleteTag_args(context.TODO(), rawArgs) + args, err := ec.field_Mutation_deleteTag_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1211,7 +1211,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Mutation_deleteVersion_args(context.TODO(), rawArgs) + args, err := ec.field_Mutation_deleteVersion_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1223,7 +1223,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Mutation_denyMod_args(context.TODO(), rawArgs) + args, err := ec.field_Mutation_denyMod_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1235,7 +1235,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Mutation_denyVersion_args(context.TODO(), rawArgs) + args, err := ec.field_Mutation_denyVersion_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1247,7 +1247,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Mutation_discourseSSO_args(context.TODO(), rawArgs) + args, err := ec.field_Mutation_discourseSSO_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1259,7 +1259,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Mutation_finalizeCreateVersion_args(context.TODO(), rawArgs) + args, err := ec.field_Mutation_finalizeCreateVersion_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1278,7 +1278,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Mutation_oAuthFacebook_args(context.TODO(), rawArgs) + args, err := ec.field_Mutation_oAuthFacebook_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1290,7 +1290,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Mutation_oAuthGithub_args(context.TODO(), rawArgs) + args, err := ec.field_Mutation_oAuthGithub_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1302,7 +1302,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Mutation_oAuthGoogle_args(context.TODO(), rawArgs) + args, err := ec.field_Mutation_oAuthGoogle_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1314,7 +1314,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Mutation_updateAnnouncement_args(context.TODO(), rawArgs) + args, err := ec.field_Mutation_updateAnnouncement_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1326,7 +1326,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Mutation_updateGuide_args(context.TODO(), rawArgs) + args, err := ec.field_Mutation_updateGuide_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1338,7 +1338,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Mutation_updateMod_args(context.TODO(), rawArgs) + args, err := ec.field_Mutation_updateMod_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1350,7 +1350,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Mutation_updateModCompatibility_args(context.TODO(), rawArgs) + args, err := ec.field_Mutation_updateModCompatibility_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1362,7 +1362,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Mutation_updateMultipleModCompatibilities_args(context.TODO(), rawArgs) + args, err := ec.field_Mutation_updateMultipleModCompatibilities_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1374,7 +1374,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Mutation_updateSatisfactoryVersion_args(context.TODO(), rawArgs) + args, err := ec.field_Mutation_updateSatisfactoryVersion_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1386,7 +1386,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Mutation_updateTag_args(context.TODO(), rawArgs) + args, err := ec.field_Mutation_updateTag_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1398,7 +1398,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Mutation_updateUser_args(context.TODO(), rawArgs) + args, err := ec.field_Mutation_updateUser_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1410,7 +1410,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Mutation_updateVersion_args(context.TODO(), rawArgs) + args, err := ec.field_Mutation_updateVersion_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1422,7 +1422,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Mutation_uploadVersionPart_args(context.TODO(), rawArgs) + args, err := ec.field_Mutation_uploadVersionPart_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1455,7 +1455,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Query_checkVersionUploadState_args(context.TODO(), rawArgs) + args, err := ec.field_Query_checkVersionUploadState_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1467,7 +1467,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Query_getAnnouncement_args(context.TODO(), rawArgs) + args, err := ec.field_Query_getAnnouncement_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1486,7 +1486,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Query_getAnnouncementsByImportance_args(context.TODO(), rawArgs) + args, err := ec.field_Query_getAnnouncementsByImportance_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1498,7 +1498,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Query_getGuide_args(context.TODO(), rawArgs) + args, err := ec.field_Query_getGuide_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1510,7 +1510,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Query_getGuides_args(context.TODO(), rawArgs) + args, err := ec.field_Query_getGuides_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1529,7 +1529,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Query_getMod_args(context.TODO(), rawArgs) + args, err := ec.field_Query_getMod_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1541,7 +1541,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Query_getModAssetList_args(context.TODO(), rawArgs) + args, err := ec.field_Query_getModAssetList_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1553,7 +1553,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Query_getModByIdOrReference_args(context.TODO(), rawArgs) + args, err := ec.field_Query_getModByIdOrReference_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1565,7 +1565,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Query_getModByReference_args(context.TODO(), rawArgs) + args, err := ec.field_Query_getModByReference_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1577,7 +1577,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Query_getMods_args(context.TODO(), rawArgs) + args, err := ec.field_Query_getMods_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1589,7 +1589,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Query_getMyMods_args(context.TODO(), rawArgs) + args, err := ec.field_Query_getMyMods_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1601,7 +1601,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Query_getMyUnapprovedMods_args(context.TODO(), rawArgs) + args, err := ec.field_Query_getMyUnapprovedMods_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1613,7 +1613,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Query_getMyUnapprovedVersions_args(context.TODO(), rawArgs) + args, err := ec.field_Query_getMyUnapprovedVersions_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1625,7 +1625,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Query_getMyVersions_args(context.TODO(), rawArgs) + args, err := ec.field_Query_getMyVersions_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1637,7 +1637,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Query_getOAuthOptions_args(context.TODO(), rawArgs) + args, err := ec.field_Query_getOAuthOptions_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1649,7 +1649,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Query_getSMLVersion_args(context.TODO(), rawArgs) + args, err := ec.field_Query_getSMLVersion_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1661,7 +1661,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Query_getSMLVersions_args(context.TODO(), rawArgs) + args, err := ec.field_Query_getSMLVersions_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1673,7 +1673,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Query_getSatisfactoryVersion_args(context.TODO(), rawArgs) + args, err := ec.field_Query_getSatisfactoryVersion_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1692,7 +1692,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Query_getTag_args(context.TODO(), rawArgs) + args, err := ec.field_Query_getTag_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1704,7 +1704,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Query_getTags_args(context.TODO(), rawArgs) + args, err := ec.field_Query_getTags_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1716,7 +1716,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Query_getUnapprovedMods_args(context.TODO(), rawArgs) + args, err := ec.field_Query_getUnapprovedMods_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1728,7 +1728,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Query_getUnapprovedVersions_args(context.TODO(), rawArgs) + args, err := ec.field_Query_getUnapprovedVersions_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1740,7 +1740,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Query_getUser_args(context.TODO(), rawArgs) + args, err := ec.field_Query_getUser_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1752,7 +1752,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Query_getUsers_args(context.TODO(), rawArgs) + args, err := ec.field_Query_getUsers_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1764,7 +1764,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Query_getVersion_args(context.TODO(), rawArgs) + args, err := ec.field_Query_getVersion_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1776,7 +1776,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Query_getVersions_args(context.TODO(), rawArgs) + args, err := ec.field_Query_getVersions_args(ctx, rawArgs) if err != nil { return 0, false } @@ -1788,7 +1788,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in break } - args, err := ec.field_Query_resolveModVersions_args(context.TODO(), rawArgs) + args, err := ec.field_Query_resolveModVersions_args(ctx, rawArgs) if err != nil { return 0, false } @@ -3256,9 +3256,9 @@ var parsedSchema = gqlparser.MustLoadSchema(sources...) // region ***************************** args.gotpl ***************************** -func (ec *executionContext) dir_canEditGuide_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) dir_canEditGuide_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.dir_canEditGuide_argsField(ctx, rawArgs) if err != nil { return nil, err @@ -3268,13 +3268,9 @@ func (ec *executionContext) dir_canEditGuide_args(ctx context.Context, rawArgs m } func (ec *executionContext) dir_canEditGuide_argsField( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["field"] - if !ok { + if _, ok := rawArgs["field"]; !ok { var zeroVal string return zeroVal, nil } @@ -3288,9 +3284,9 @@ func (ec *executionContext) dir_canEditGuide_argsField( return zeroVal, nil } -func (ec *executionContext) dir_canEditModCompatibility_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) dir_canEditModCompatibility_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.dir_canEditModCompatibility_argsField(ctx, rawArgs) if err != nil { return nil, err @@ -3300,13 +3296,9 @@ func (ec *executionContext) dir_canEditModCompatibility_args(ctx context.Context } func (ec *executionContext) dir_canEditModCompatibility_argsField( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (*string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["field"] - if !ok { + if _, ok := rawArgs["field"]; !ok { var zeroVal *string return zeroVal, nil } @@ -3320,9 +3312,9 @@ func (ec *executionContext) dir_canEditModCompatibility_argsField( return zeroVal, nil } -func (ec *executionContext) dir_canEditMod_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) dir_canEditMod_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.dir_canEditMod_argsField(ctx, rawArgs) if err != nil { return nil, err @@ -3332,13 +3324,9 @@ func (ec *executionContext) dir_canEditMod_args(ctx context.Context, rawArgs map } func (ec *executionContext) dir_canEditMod_argsField( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["field"] - if !ok { + if _, ok := rawArgs["field"]; !ok { var zeroVal string return zeroVal, nil } @@ -3352,9 +3340,9 @@ func (ec *executionContext) dir_canEditMod_argsField( return zeroVal, nil } -func (ec *executionContext) dir_canEditUser_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) dir_canEditUser_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.dir_canEditUser_argsField(ctx, rawArgs) if err != nil { return nil, err @@ -3369,13 +3357,9 @@ func (ec *executionContext) dir_canEditUser_args(ctx context.Context, rawArgs ma } func (ec *executionContext) dir_canEditUser_argsField( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["field"] - if !ok { + if _, ok := rawArgs["field"]; !ok { var zeroVal string return zeroVal, nil } @@ -3391,13 +3375,9 @@ func (ec *executionContext) dir_canEditUser_argsField( func (ec *executionContext) dir_canEditUser_argsObject( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (bool, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["object"] - if !ok { + if _, ok := rawArgs["object"]; !ok { var zeroVal bool return zeroVal, nil } @@ -3411,9 +3391,9 @@ func (ec *executionContext) dir_canEditUser_argsObject( return zeroVal, nil } -func (ec *executionContext) dir_canEditVersion_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) dir_canEditVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.dir_canEditVersion_argsField(ctx, rawArgs) if err != nil { return nil, err @@ -3423,13 +3403,9 @@ func (ec *executionContext) dir_canEditVersion_args(ctx context.Context, rawArgs } func (ec *executionContext) dir_canEditVersion_argsField( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["field"] - if !ok { + if _, ok := rawArgs["field"]; !ok { var zeroVal string return zeroVal, nil } @@ -3443,9 +3419,9 @@ func (ec *executionContext) dir_canEditVersion_argsField( return zeroVal, nil } -func (ec *executionContext) field_Mod_version_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Mod_version_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Mod_version_argsVersion(ctx, rawArgs) if err != nil { return nil, err @@ -3455,13 +3431,9 @@ func (ec *executionContext) field_Mod_version_args(ctx context.Context, rawArgs } func (ec *executionContext) field_Mod_version_argsVersion( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["version"] - if !ok { + if _, ok := rawArgs["version"]; !ok { var zeroVal string return zeroVal, nil } @@ -3475,9 +3447,9 @@ func (ec *executionContext) field_Mod_version_argsVersion( return zeroVal, nil } -func (ec *executionContext) field_Mod_versions_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Mod_versions_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Mod_versions_argsFilter(ctx, rawArgs) if err != nil { return nil, err @@ -3487,14 +3459,10 @@ func (ec *executionContext) field_Mod_versions_args(ctx context.Context, rawArgs } func (ec *executionContext) field_Mod_versions_argsFilter( ctx context.Context, - rawArgs map[string]interface{}, -) (map[string]interface{}, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["filter"] - if !ok { - var zeroVal map[string]interface{} + rawArgs map[string]any, +) (map[string]any, error) { + if _, ok := rawArgs["filter"]; !ok { + var zeroVal map[string]any return zeroVal, nil } @@ -3503,13 +3471,13 @@ func (ec *executionContext) field_Mod_versions_argsFilter( return ec.unmarshalOVersionFilter2map(ctx, tmp) } - var zeroVal map[string]interface{} + var zeroVal map[string]any return zeroVal, nil } -func (ec *executionContext) field_Mutation_approveMod_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Mutation_approveMod_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Mutation_approveMod_argsModID(ctx, rawArgs) if err != nil { return nil, err @@ -3519,13 +3487,9 @@ func (ec *executionContext) field_Mutation_approveMod_args(ctx context.Context, } func (ec *executionContext) field_Mutation_approveMod_argsModID( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["modId"] - if !ok { + if _, ok := rawArgs["modId"]; !ok { var zeroVal string return zeroVal, nil } @@ -3539,9 +3503,9 @@ func (ec *executionContext) field_Mutation_approveMod_argsModID( return zeroVal, nil } -func (ec *executionContext) field_Mutation_approveVersion_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Mutation_approveVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Mutation_approveVersion_argsVersionID(ctx, rawArgs) if err != nil { return nil, err @@ -3551,13 +3515,9 @@ func (ec *executionContext) field_Mutation_approveVersion_args(ctx context.Conte } func (ec *executionContext) field_Mutation_approveVersion_argsVersionID( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["versionId"] - if !ok { + if _, ok := rawArgs["versionId"]; !ok { var zeroVal string return zeroVal, nil } @@ -3571,9 +3531,9 @@ func (ec *executionContext) field_Mutation_approveVersion_argsVersionID( return zeroVal, nil } -func (ec *executionContext) field_Mutation_createAnnouncement_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Mutation_createAnnouncement_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Mutation_createAnnouncement_argsAnnouncement(ctx, rawArgs) if err != nil { return nil, err @@ -3583,13 +3543,9 @@ func (ec *executionContext) field_Mutation_createAnnouncement_args(ctx context.C } func (ec *executionContext) field_Mutation_createAnnouncement_argsAnnouncement( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (NewAnnouncement, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["announcement"] - if !ok { + if _, ok := rawArgs["announcement"]; !ok { var zeroVal NewAnnouncement return zeroVal, nil } @@ -3603,9 +3559,9 @@ func (ec *executionContext) field_Mutation_createAnnouncement_argsAnnouncement( return zeroVal, nil } -func (ec *executionContext) field_Mutation_createGuide_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Mutation_createGuide_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Mutation_createGuide_argsGuide(ctx, rawArgs) if err != nil { return nil, err @@ -3615,13 +3571,9 @@ func (ec *executionContext) field_Mutation_createGuide_args(ctx context.Context, } func (ec *executionContext) field_Mutation_createGuide_argsGuide( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (NewGuide, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["guide"] - if !ok { + if _, ok := rawArgs["guide"]; !ok { var zeroVal NewGuide return zeroVal, nil } @@ -3635,9 +3587,9 @@ func (ec *executionContext) field_Mutation_createGuide_argsGuide( return zeroVal, nil } -func (ec *executionContext) field_Mutation_createMod_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Mutation_createMod_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Mutation_createMod_argsMod(ctx, rawArgs) if err != nil { return nil, err @@ -3647,13 +3599,9 @@ func (ec *executionContext) field_Mutation_createMod_args(ctx context.Context, r } func (ec *executionContext) field_Mutation_createMod_argsMod( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (NewMod, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["mod"] - if !ok { + if _, ok := rawArgs["mod"]; !ok { var zeroVal NewMod return zeroVal, nil } @@ -3667,9 +3615,9 @@ func (ec *executionContext) field_Mutation_createMod_argsMod( return zeroVal, nil } -func (ec *executionContext) field_Mutation_createMultipleTags_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Mutation_createMultipleTags_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Mutation_createMultipleTags_argsTagNames(ctx, rawArgs) if err != nil { return nil, err @@ -3679,13 +3627,9 @@ func (ec *executionContext) field_Mutation_createMultipleTags_args(ctx context.C } func (ec *executionContext) field_Mutation_createMultipleTags_argsTagNames( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) ([]*NewTag, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["tagNames"] - if !ok { + if _, ok := rawArgs["tagNames"]; !ok { var zeroVal []*NewTag return zeroVal, nil } @@ -3699,9 +3643,9 @@ func (ec *executionContext) field_Mutation_createMultipleTags_argsTagNames( return zeroVal, nil } -func (ec *executionContext) field_Mutation_createSatisfactoryVersion_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Mutation_createSatisfactoryVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Mutation_createSatisfactoryVersion_argsInput(ctx, rawArgs) if err != nil { return nil, err @@ -3711,13 +3655,9 @@ func (ec *executionContext) field_Mutation_createSatisfactoryVersion_args(ctx co } func (ec *executionContext) field_Mutation_createSatisfactoryVersion_argsInput( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (NewSatisfactoryVersion, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["input"] - if !ok { + if _, ok := rawArgs["input"]; !ok { var zeroVal NewSatisfactoryVersion return zeroVal, nil } @@ -3731,9 +3671,9 @@ func (ec *executionContext) field_Mutation_createSatisfactoryVersion_argsInput( return zeroVal, nil } -func (ec *executionContext) field_Mutation_createTag_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Mutation_createTag_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Mutation_createTag_argsTagName(ctx, rawArgs) if err != nil { return nil, err @@ -3748,13 +3688,9 @@ func (ec *executionContext) field_Mutation_createTag_args(ctx context.Context, r } func (ec *executionContext) field_Mutation_createTag_argsTagName( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["tagName"] - if !ok { + if _, ok := rawArgs["tagName"]; !ok { var zeroVal string return zeroVal, nil } @@ -3770,13 +3706,9 @@ func (ec *executionContext) field_Mutation_createTag_argsTagName( func (ec *executionContext) field_Mutation_createTag_argsDescription( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["description"] - if !ok { + if _, ok := rawArgs["description"]; !ok { var zeroVal string return zeroVal, nil } @@ -3790,9 +3722,9 @@ func (ec *executionContext) field_Mutation_createTag_argsDescription( return zeroVal, nil } -func (ec *executionContext) field_Mutation_createVersion_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Mutation_createVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Mutation_createVersion_argsModID(ctx, rawArgs) if err != nil { return nil, err @@ -3802,13 +3734,9 @@ func (ec *executionContext) field_Mutation_createVersion_args(ctx context.Contex } func (ec *executionContext) field_Mutation_createVersion_argsModID( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["modId"] - if !ok { + if _, ok := rawArgs["modId"]; !ok { var zeroVal string return zeroVal, nil } @@ -3822,9 +3750,9 @@ func (ec *executionContext) field_Mutation_createVersion_argsModID( return zeroVal, nil } -func (ec *executionContext) field_Mutation_deleteAnnouncement_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Mutation_deleteAnnouncement_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Mutation_deleteAnnouncement_argsAnnouncementID(ctx, rawArgs) if err != nil { return nil, err @@ -3834,13 +3762,9 @@ func (ec *executionContext) field_Mutation_deleteAnnouncement_args(ctx context.C } func (ec *executionContext) field_Mutation_deleteAnnouncement_argsAnnouncementID( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["announcementId"] - if !ok { + if _, ok := rawArgs["announcementId"]; !ok { var zeroVal string return zeroVal, nil } @@ -3854,9 +3778,9 @@ func (ec *executionContext) field_Mutation_deleteAnnouncement_argsAnnouncementID return zeroVal, nil } -func (ec *executionContext) field_Mutation_deleteGuide_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Mutation_deleteGuide_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Mutation_deleteGuide_argsGuideID(ctx, rawArgs) if err != nil { return nil, err @@ -3866,13 +3790,9 @@ func (ec *executionContext) field_Mutation_deleteGuide_args(ctx context.Context, } func (ec *executionContext) field_Mutation_deleteGuide_argsGuideID( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["guideId"] - if !ok { + if _, ok := rawArgs["guideId"]; !ok { var zeroVal string return zeroVal, nil } @@ -3886,9 +3806,9 @@ func (ec *executionContext) field_Mutation_deleteGuide_argsGuideID( return zeroVal, nil } -func (ec *executionContext) field_Mutation_deleteMod_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Mutation_deleteMod_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Mutation_deleteMod_argsModID(ctx, rawArgs) if err != nil { return nil, err @@ -3898,13 +3818,9 @@ func (ec *executionContext) field_Mutation_deleteMod_args(ctx context.Context, r } func (ec *executionContext) field_Mutation_deleteMod_argsModID( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["modId"] - if !ok { + if _, ok := rawArgs["modId"]; !ok { var zeroVal string return zeroVal, nil } @@ -3918,9 +3834,9 @@ func (ec *executionContext) field_Mutation_deleteMod_argsModID( return zeroVal, nil } -func (ec *executionContext) field_Mutation_deleteSatisfactoryVersion_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Mutation_deleteSatisfactoryVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Mutation_deleteSatisfactoryVersion_argsID(ctx, rawArgs) if err != nil { return nil, err @@ -3930,13 +3846,9 @@ func (ec *executionContext) field_Mutation_deleteSatisfactoryVersion_args(ctx co } func (ec *executionContext) field_Mutation_deleteSatisfactoryVersion_argsID( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["id"] - if !ok { + if _, ok := rawArgs["id"]; !ok { var zeroVal string return zeroVal, nil } @@ -3950,9 +3862,9 @@ func (ec *executionContext) field_Mutation_deleteSatisfactoryVersion_argsID( return zeroVal, nil } -func (ec *executionContext) field_Mutation_deleteTag_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Mutation_deleteTag_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Mutation_deleteTag_argsTagID(ctx, rawArgs) if err != nil { return nil, err @@ -3962,13 +3874,9 @@ func (ec *executionContext) field_Mutation_deleteTag_args(ctx context.Context, r } func (ec *executionContext) field_Mutation_deleteTag_argsTagID( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["tagID"] - if !ok { + if _, ok := rawArgs["tagID"]; !ok { var zeroVal string return zeroVal, nil } @@ -3982,9 +3890,9 @@ func (ec *executionContext) field_Mutation_deleteTag_argsTagID( return zeroVal, nil } -func (ec *executionContext) field_Mutation_deleteVersion_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Mutation_deleteVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Mutation_deleteVersion_argsVersionID(ctx, rawArgs) if err != nil { return nil, err @@ -3994,13 +3902,9 @@ func (ec *executionContext) field_Mutation_deleteVersion_args(ctx context.Contex } func (ec *executionContext) field_Mutation_deleteVersion_argsVersionID( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["versionId"] - if !ok { + if _, ok := rawArgs["versionId"]; !ok { var zeroVal string return zeroVal, nil } @@ -4014,9 +3918,9 @@ func (ec *executionContext) field_Mutation_deleteVersion_argsVersionID( return zeroVal, nil } -func (ec *executionContext) field_Mutation_denyMod_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Mutation_denyMod_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Mutation_denyMod_argsModID(ctx, rawArgs) if err != nil { return nil, err @@ -4026,13 +3930,9 @@ func (ec *executionContext) field_Mutation_denyMod_args(ctx context.Context, raw } func (ec *executionContext) field_Mutation_denyMod_argsModID( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["modId"] - if !ok { + if _, ok := rawArgs["modId"]; !ok { var zeroVal string return zeroVal, nil } @@ -4046,9 +3946,9 @@ func (ec *executionContext) field_Mutation_denyMod_argsModID( return zeroVal, nil } -func (ec *executionContext) field_Mutation_denyVersion_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Mutation_denyVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Mutation_denyVersion_argsVersionID(ctx, rawArgs) if err != nil { return nil, err @@ -4058,13 +3958,9 @@ func (ec *executionContext) field_Mutation_denyVersion_args(ctx context.Context, } func (ec *executionContext) field_Mutation_denyVersion_argsVersionID( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["versionId"] - if !ok { + if _, ok := rawArgs["versionId"]; !ok { var zeroVal string return zeroVal, nil } @@ -4078,9 +3974,9 @@ func (ec *executionContext) field_Mutation_denyVersion_argsVersionID( return zeroVal, nil } -func (ec *executionContext) field_Mutation_discourseSSO_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Mutation_discourseSSO_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Mutation_discourseSSO_argsSso(ctx, rawArgs) if err != nil { return nil, err @@ -4095,13 +3991,9 @@ func (ec *executionContext) field_Mutation_discourseSSO_args(ctx context.Context } func (ec *executionContext) field_Mutation_discourseSSO_argsSso( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["sso"] - if !ok { + if _, ok := rawArgs["sso"]; !ok { var zeroVal string return zeroVal, nil } @@ -4117,13 +4009,9 @@ func (ec *executionContext) field_Mutation_discourseSSO_argsSso( func (ec *executionContext) field_Mutation_discourseSSO_argsSig( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["sig"] - if !ok { + if _, ok := rawArgs["sig"]; !ok { var zeroVal string return zeroVal, nil } @@ -4137,9 +4025,9 @@ func (ec *executionContext) field_Mutation_discourseSSO_argsSig( return zeroVal, nil } -func (ec *executionContext) field_Mutation_finalizeCreateVersion_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Mutation_finalizeCreateVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Mutation_finalizeCreateVersion_argsModID(ctx, rawArgs) if err != nil { return nil, err @@ -4159,13 +4047,9 @@ func (ec *executionContext) field_Mutation_finalizeCreateVersion_args(ctx contex } func (ec *executionContext) field_Mutation_finalizeCreateVersion_argsModID( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["modId"] - if !ok { + if _, ok := rawArgs["modId"]; !ok { var zeroVal string return zeroVal, nil } @@ -4181,13 +4065,9 @@ func (ec *executionContext) field_Mutation_finalizeCreateVersion_argsModID( func (ec *executionContext) field_Mutation_finalizeCreateVersion_argsVersionID( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["versionId"] - if !ok { + if _, ok := rawArgs["versionId"]; !ok { var zeroVal string return zeroVal, nil } @@ -4203,13 +4083,9 @@ func (ec *executionContext) field_Mutation_finalizeCreateVersion_argsVersionID( func (ec *executionContext) field_Mutation_finalizeCreateVersion_argsVersion( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (NewVersion, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["version"] - if !ok { + if _, ok := rawArgs["version"]; !ok { var zeroVal NewVersion return zeroVal, nil } @@ -4223,9 +4099,9 @@ func (ec *executionContext) field_Mutation_finalizeCreateVersion_argsVersion( return zeroVal, nil } -func (ec *executionContext) field_Mutation_oAuthFacebook_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Mutation_oAuthFacebook_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Mutation_oAuthFacebook_argsCode(ctx, rawArgs) if err != nil { return nil, err @@ -4240,13 +4116,9 @@ func (ec *executionContext) field_Mutation_oAuthFacebook_args(ctx context.Contex } func (ec *executionContext) field_Mutation_oAuthFacebook_argsCode( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["code"] - if !ok { + if _, ok := rawArgs["code"]; !ok { var zeroVal string return zeroVal, nil } @@ -4262,13 +4134,9 @@ func (ec *executionContext) field_Mutation_oAuthFacebook_argsCode( func (ec *executionContext) field_Mutation_oAuthFacebook_argsState( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["state"] - if !ok { + if _, ok := rawArgs["state"]; !ok { var zeroVal string return zeroVal, nil } @@ -4282,9 +4150,9 @@ func (ec *executionContext) field_Mutation_oAuthFacebook_argsState( return zeroVal, nil } -func (ec *executionContext) field_Mutation_oAuthGithub_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Mutation_oAuthGithub_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Mutation_oAuthGithub_argsCode(ctx, rawArgs) if err != nil { return nil, err @@ -4299,13 +4167,9 @@ func (ec *executionContext) field_Mutation_oAuthGithub_args(ctx context.Context, } func (ec *executionContext) field_Mutation_oAuthGithub_argsCode( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["code"] - if !ok { + if _, ok := rawArgs["code"]; !ok { var zeroVal string return zeroVal, nil } @@ -4321,13 +4185,9 @@ func (ec *executionContext) field_Mutation_oAuthGithub_argsCode( func (ec *executionContext) field_Mutation_oAuthGithub_argsState( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["state"] - if !ok { + if _, ok := rawArgs["state"]; !ok { var zeroVal string return zeroVal, nil } @@ -4341,9 +4201,9 @@ func (ec *executionContext) field_Mutation_oAuthGithub_argsState( return zeroVal, nil } -func (ec *executionContext) field_Mutation_oAuthGoogle_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Mutation_oAuthGoogle_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Mutation_oAuthGoogle_argsCode(ctx, rawArgs) if err != nil { return nil, err @@ -4358,13 +4218,9 @@ func (ec *executionContext) field_Mutation_oAuthGoogle_args(ctx context.Context, } func (ec *executionContext) field_Mutation_oAuthGoogle_argsCode( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["code"] - if !ok { + if _, ok := rawArgs["code"]; !ok { var zeroVal string return zeroVal, nil } @@ -4380,13 +4236,9 @@ func (ec *executionContext) field_Mutation_oAuthGoogle_argsCode( func (ec *executionContext) field_Mutation_oAuthGoogle_argsState( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["state"] - if !ok { + if _, ok := rawArgs["state"]; !ok { var zeroVal string return zeroVal, nil } @@ -4400,9 +4252,9 @@ func (ec *executionContext) field_Mutation_oAuthGoogle_argsState( return zeroVal, nil } -func (ec *executionContext) field_Mutation_updateAnnouncement_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Mutation_updateAnnouncement_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Mutation_updateAnnouncement_argsAnnouncementID(ctx, rawArgs) if err != nil { return nil, err @@ -4417,13 +4269,9 @@ func (ec *executionContext) field_Mutation_updateAnnouncement_args(ctx context.C } func (ec *executionContext) field_Mutation_updateAnnouncement_argsAnnouncementID( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["announcementId"] - if !ok { + if _, ok := rawArgs["announcementId"]; !ok { var zeroVal string return zeroVal, nil } @@ -4439,13 +4287,9 @@ func (ec *executionContext) field_Mutation_updateAnnouncement_argsAnnouncementID func (ec *executionContext) field_Mutation_updateAnnouncement_argsAnnouncement( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (UpdateAnnouncement, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["announcement"] - if !ok { + if _, ok := rawArgs["announcement"]; !ok { var zeroVal UpdateAnnouncement return zeroVal, nil } @@ -4459,9 +4303,9 @@ func (ec *executionContext) field_Mutation_updateAnnouncement_argsAnnouncement( return zeroVal, nil } -func (ec *executionContext) field_Mutation_updateGuide_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Mutation_updateGuide_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Mutation_updateGuide_argsGuideID(ctx, rawArgs) if err != nil { return nil, err @@ -4476,13 +4320,9 @@ func (ec *executionContext) field_Mutation_updateGuide_args(ctx context.Context, } func (ec *executionContext) field_Mutation_updateGuide_argsGuideID( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["guideId"] - if !ok { + if _, ok := rawArgs["guideId"]; !ok { var zeroVal string return zeroVal, nil } @@ -4498,13 +4338,9 @@ func (ec *executionContext) field_Mutation_updateGuide_argsGuideID( func (ec *executionContext) field_Mutation_updateGuide_argsGuide( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (UpdateGuide, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["guide"] - if !ok { + if _, ok := rawArgs["guide"]; !ok { var zeroVal UpdateGuide return zeroVal, nil } @@ -4518,9 +4354,9 @@ func (ec *executionContext) field_Mutation_updateGuide_argsGuide( return zeroVal, nil } -func (ec *executionContext) field_Mutation_updateModCompatibility_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Mutation_updateModCompatibility_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Mutation_updateModCompatibility_argsModID(ctx, rawArgs) if err != nil { return nil, err @@ -4535,13 +4371,9 @@ func (ec *executionContext) field_Mutation_updateModCompatibility_args(ctx conte } func (ec *executionContext) field_Mutation_updateModCompatibility_argsModID( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["modId"] - if !ok { + if _, ok := rawArgs["modId"]; !ok { var zeroVal string return zeroVal, nil } @@ -4557,13 +4389,9 @@ func (ec *executionContext) field_Mutation_updateModCompatibility_argsModID( func (ec *executionContext) field_Mutation_updateModCompatibility_argsCompatibility( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (CompatibilityInfoInput, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["compatibility"] - if !ok { + if _, ok := rawArgs["compatibility"]; !ok { var zeroVal CompatibilityInfoInput return zeroVal, nil } @@ -4577,9 +4405,9 @@ func (ec *executionContext) field_Mutation_updateModCompatibility_argsCompatibil return zeroVal, nil } -func (ec *executionContext) field_Mutation_updateMod_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Mutation_updateMod_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Mutation_updateMod_argsModID(ctx, rawArgs) if err != nil { return nil, err @@ -4594,13 +4422,9 @@ func (ec *executionContext) field_Mutation_updateMod_args(ctx context.Context, r } func (ec *executionContext) field_Mutation_updateMod_argsModID( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["modId"] - if !ok { + if _, ok := rawArgs["modId"]; !ok { var zeroVal string return zeroVal, nil } @@ -4616,13 +4440,9 @@ func (ec *executionContext) field_Mutation_updateMod_argsModID( func (ec *executionContext) field_Mutation_updateMod_argsMod( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (UpdateMod, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["mod"] - if !ok { + if _, ok := rawArgs["mod"]; !ok { var zeroVal UpdateMod return zeroVal, nil } @@ -4636,9 +4456,9 @@ func (ec *executionContext) field_Mutation_updateMod_argsMod( return zeroVal, nil } -func (ec *executionContext) field_Mutation_updateMultipleModCompatibilities_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Mutation_updateMultipleModCompatibilities_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Mutation_updateMultipleModCompatibilities_argsModIDs(ctx, rawArgs) if err != nil { return nil, err @@ -4653,13 +4473,9 @@ func (ec *executionContext) field_Mutation_updateMultipleModCompatibilities_args } func (ec *executionContext) field_Mutation_updateMultipleModCompatibilities_argsModIDs( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) ([]string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["modIDs"] - if !ok { + if _, ok := rawArgs["modIDs"]; !ok { var zeroVal []string return zeroVal, nil } @@ -4675,13 +4491,9 @@ func (ec *executionContext) field_Mutation_updateMultipleModCompatibilities_args func (ec *executionContext) field_Mutation_updateMultipleModCompatibilities_argsCompatibility( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (CompatibilityInfoInput, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["compatibility"] - if !ok { + if _, ok := rawArgs["compatibility"]; !ok { var zeroVal CompatibilityInfoInput return zeroVal, nil } @@ -4695,9 +4507,9 @@ func (ec *executionContext) field_Mutation_updateMultipleModCompatibilities_args return zeroVal, nil } -func (ec *executionContext) field_Mutation_updateSatisfactoryVersion_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Mutation_updateSatisfactoryVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Mutation_updateSatisfactoryVersion_argsID(ctx, rawArgs) if err != nil { return nil, err @@ -4712,13 +4524,9 @@ func (ec *executionContext) field_Mutation_updateSatisfactoryVersion_args(ctx co } func (ec *executionContext) field_Mutation_updateSatisfactoryVersion_argsID( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["id"] - if !ok { + if _, ok := rawArgs["id"]; !ok { var zeroVal string return zeroVal, nil } @@ -4734,13 +4542,9 @@ func (ec *executionContext) field_Mutation_updateSatisfactoryVersion_argsID( func (ec *executionContext) field_Mutation_updateSatisfactoryVersion_argsInput( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (UpdateSatisfactoryVersion, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["input"] - if !ok { + if _, ok := rawArgs["input"]; !ok { var zeroVal UpdateSatisfactoryVersion return zeroVal, nil } @@ -4754,9 +4558,9 @@ func (ec *executionContext) field_Mutation_updateSatisfactoryVersion_argsInput( return zeroVal, nil } -func (ec *executionContext) field_Mutation_updateTag_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Mutation_updateTag_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Mutation_updateTag_argsTagID(ctx, rawArgs) if err != nil { return nil, err @@ -4776,13 +4580,9 @@ func (ec *executionContext) field_Mutation_updateTag_args(ctx context.Context, r } func (ec *executionContext) field_Mutation_updateTag_argsTagID( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["tagID"] - if !ok { + if _, ok := rawArgs["tagID"]; !ok { var zeroVal string return zeroVal, nil } @@ -4798,13 +4598,9 @@ func (ec *executionContext) field_Mutation_updateTag_argsTagID( func (ec *executionContext) field_Mutation_updateTag_argsNewName( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["NewName"] - if !ok { + if _, ok := rawArgs["NewName"]; !ok { var zeroVal string return zeroVal, nil } @@ -4820,13 +4616,9 @@ func (ec *executionContext) field_Mutation_updateTag_argsNewName( func (ec *executionContext) field_Mutation_updateTag_argsDescription( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["description"] - if !ok { + if _, ok := rawArgs["description"]; !ok { var zeroVal string return zeroVal, nil } @@ -4840,9 +4632,9 @@ func (ec *executionContext) field_Mutation_updateTag_argsDescription( return zeroVal, nil } -func (ec *executionContext) field_Mutation_updateUser_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Mutation_updateUser_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Mutation_updateUser_argsUserID(ctx, rawArgs) if err != nil { return nil, err @@ -4857,13 +4649,9 @@ func (ec *executionContext) field_Mutation_updateUser_args(ctx context.Context, } func (ec *executionContext) field_Mutation_updateUser_argsUserID( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["userId"] - if !ok { + if _, ok := rawArgs["userId"]; !ok { var zeroVal string return zeroVal, nil } @@ -4879,13 +4667,9 @@ func (ec *executionContext) field_Mutation_updateUser_argsUserID( func (ec *executionContext) field_Mutation_updateUser_argsInput( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (UpdateUser, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["input"] - if !ok { + if _, ok := rawArgs["input"]; !ok { var zeroVal UpdateUser return zeroVal, nil } @@ -4899,9 +4683,9 @@ func (ec *executionContext) field_Mutation_updateUser_argsInput( return zeroVal, nil } -func (ec *executionContext) field_Mutation_updateVersion_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Mutation_updateVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Mutation_updateVersion_argsVersionID(ctx, rawArgs) if err != nil { return nil, err @@ -4916,13 +4700,9 @@ func (ec *executionContext) field_Mutation_updateVersion_args(ctx context.Contex } func (ec *executionContext) field_Mutation_updateVersion_argsVersionID( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["versionId"] - if !ok { + if _, ok := rawArgs["versionId"]; !ok { var zeroVal string return zeroVal, nil } @@ -4938,13 +4718,9 @@ func (ec *executionContext) field_Mutation_updateVersion_argsVersionID( func (ec *executionContext) field_Mutation_updateVersion_argsVersion( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (UpdateVersion, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["version"] - if !ok { + if _, ok := rawArgs["version"]; !ok { var zeroVal UpdateVersion return zeroVal, nil } @@ -4958,9 +4734,9 @@ func (ec *executionContext) field_Mutation_updateVersion_argsVersion( return zeroVal, nil } -func (ec *executionContext) field_Mutation_uploadVersionPart_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Mutation_uploadVersionPart_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Mutation_uploadVersionPart_argsModID(ctx, rawArgs) if err != nil { return nil, err @@ -4985,13 +4761,9 @@ func (ec *executionContext) field_Mutation_uploadVersionPart_args(ctx context.Co } func (ec *executionContext) field_Mutation_uploadVersionPart_argsModID( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["modId"] - if !ok { + if _, ok := rawArgs["modId"]; !ok { var zeroVal string return zeroVal, nil } @@ -5007,13 +4779,9 @@ func (ec *executionContext) field_Mutation_uploadVersionPart_argsModID( func (ec *executionContext) field_Mutation_uploadVersionPart_argsVersionID( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["versionId"] - if !ok { + if _, ok := rawArgs["versionId"]; !ok { var zeroVal string return zeroVal, nil } @@ -5029,13 +4797,9 @@ func (ec *executionContext) field_Mutation_uploadVersionPart_argsVersionID( func (ec *executionContext) field_Mutation_uploadVersionPart_argsPart( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (int, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["part"] - if !ok { + if _, ok := rawArgs["part"]; !ok { var zeroVal int return zeroVal, nil } @@ -5051,13 +4815,9 @@ func (ec *executionContext) field_Mutation_uploadVersionPart_argsPart( func (ec *executionContext) field_Mutation_uploadVersionPart_argsFile( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (graphql.Upload, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["file"] - if !ok { + if _, ok := rawArgs["file"]; !ok { var zeroVal graphql.Upload return zeroVal, nil } @@ -5071,9 +4831,9 @@ func (ec *executionContext) field_Mutation_uploadVersionPart_argsFile( return zeroVal, nil } -func (ec *executionContext) field_Query___type_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Query___type_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Query___type_argsName(ctx, rawArgs) if err != nil { return nil, err @@ -5083,13 +4843,9 @@ func (ec *executionContext) field_Query___type_args(ctx context.Context, rawArgs } func (ec *executionContext) field_Query___type_argsName( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["name"] - if !ok { + if _, ok := rawArgs["name"]; !ok { var zeroVal string return zeroVal, nil } @@ -5103,9 +4859,9 @@ func (ec *executionContext) field_Query___type_argsName( return zeroVal, nil } -func (ec *executionContext) field_Query_checkVersionUploadState_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Query_checkVersionUploadState_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Query_checkVersionUploadState_argsModID(ctx, rawArgs) if err != nil { return nil, err @@ -5120,13 +4876,9 @@ func (ec *executionContext) field_Query_checkVersionUploadState_args(ctx context } func (ec *executionContext) field_Query_checkVersionUploadState_argsModID( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["modId"] - if !ok { + if _, ok := rawArgs["modId"]; !ok { var zeroVal string return zeroVal, nil } @@ -5142,13 +4894,9 @@ func (ec *executionContext) field_Query_checkVersionUploadState_argsModID( func (ec *executionContext) field_Query_checkVersionUploadState_argsVersionID( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["versionId"] - if !ok { + if _, ok := rawArgs["versionId"]; !ok { var zeroVal string return zeroVal, nil } @@ -5162,9 +4910,9 @@ func (ec *executionContext) field_Query_checkVersionUploadState_argsVersionID( return zeroVal, nil } -func (ec *executionContext) field_Query_getAnnouncement_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Query_getAnnouncement_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Query_getAnnouncement_argsAnnouncementID(ctx, rawArgs) if err != nil { return nil, err @@ -5174,13 +4922,9 @@ func (ec *executionContext) field_Query_getAnnouncement_args(ctx context.Context } func (ec *executionContext) field_Query_getAnnouncement_argsAnnouncementID( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["announcementId"] - if !ok { + if _, ok := rawArgs["announcementId"]; !ok { var zeroVal string return zeroVal, nil } @@ -5194,9 +4938,9 @@ func (ec *executionContext) field_Query_getAnnouncement_argsAnnouncementID( return zeroVal, nil } -func (ec *executionContext) field_Query_getAnnouncementsByImportance_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Query_getAnnouncementsByImportance_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Query_getAnnouncementsByImportance_argsImportance(ctx, rawArgs) if err != nil { return nil, err @@ -5206,13 +4950,9 @@ func (ec *executionContext) field_Query_getAnnouncementsByImportance_args(ctx co } func (ec *executionContext) field_Query_getAnnouncementsByImportance_argsImportance( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (AnnouncementImportance, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["importance"] - if !ok { + if _, ok := rawArgs["importance"]; !ok { var zeroVal AnnouncementImportance return zeroVal, nil } @@ -5226,9 +4966,9 @@ func (ec *executionContext) field_Query_getAnnouncementsByImportance_argsImporta return zeroVal, nil } -func (ec *executionContext) field_Query_getGuide_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Query_getGuide_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Query_getGuide_argsGuideID(ctx, rawArgs) if err != nil { return nil, err @@ -5238,13 +4978,9 @@ func (ec *executionContext) field_Query_getGuide_args(ctx context.Context, rawAr } func (ec *executionContext) field_Query_getGuide_argsGuideID( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["guideId"] - if !ok { + if _, ok := rawArgs["guideId"]; !ok { var zeroVal string return zeroVal, nil } @@ -5258,9 +4994,9 @@ func (ec *executionContext) field_Query_getGuide_argsGuideID( return zeroVal, nil } -func (ec *executionContext) field_Query_getGuides_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Query_getGuides_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Query_getGuides_argsFilter(ctx, rawArgs) if err != nil { return nil, err @@ -5270,14 +5006,10 @@ func (ec *executionContext) field_Query_getGuides_args(ctx context.Context, rawA } func (ec *executionContext) field_Query_getGuides_argsFilter( ctx context.Context, - rawArgs map[string]interface{}, -) (map[string]interface{}, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["filter"] - if !ok { - var zeroVal map[string]interface{} + rawArgs map[string]any, +) (map[string]any, error) { + if _, ok := rawArgs["filter"]; !ok { + var zeroVal map[string]any return zeroVal, nil } @@ -5286,13 +5018,13 @@ func (ec *executionContext) field_Query_getGuides_argsFilter( return ec.unmarshalOGuideFilter2map(ctx, tmp) } - var zeroVal map[string]interface{} + var zeroVal map[string]any return zeroVal, nil } -func (ec *executionContext) field_Query_getModAssetList_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Query_getModAssetList_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Query_getModAssetList_argsModReference(ctx, rawArgs) if err != nil { return nil, err @@ -5302,13 +5034,9 @@ func (ec *executionContext) field_Query_getModAssetList_args(ctx context.Context } func (ec *executionContext) field_Query_getModAssetList_argsModReference( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["modReference"] - if !ok { + if _, ok := rawArgs["modReference"]; !ok { var zeroVal string return zeroVal, nil } @@ -5322,9 +5050,9 @@ func (ec *executionContext) field_Query_getModAssetList_argsModReference( return zeroVal, nil } -func (ec *executionContext) field_Query_getModByIdOrReference_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Query_getModByIdOrReference_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Query_getModByIdOrReference_argsModIDOrReference(ctx, rawArgs) if err != nil { return nil, err @@ -5334,13 +5062,9 @@ func (ec *executionContext) field_Query_getModByIdOrReference_args(ctx context.C } func (ec *executionContext) field_Query_getModByIdOrReference_argsModIDOrReference( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["modIdOrReference"] - if !ok { + if _, ok := rawArgs["modIdOrReference"]; !ok { var zeroVal string return zeroVal, nil } @@ -5354,9 +5078,9 @@ func (ec *executionContext) field_Query_getModByIdOrReference_argsModIDOrReferen return zeroVal, nil } -func (ec *executionContext) field_Query_getModByReference_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Query_getModByReference_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Query_getModByReference_argsModReference(ctx, rawArgs) if err != nil { return nil, err @@ -5366,13 +5090,9 @@ func (ec *executionContext) field_Query_getModByReference_args(ctx context.Conte } func (ec *executionContext) field_Query_getModByReference_argsModReference( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["modReference"] - if !ok { + if _, ok := rawArgs["modReference"]; !ok { var zeroVal string return zeroVal, nil } @@ -5386,9 +5106,9 @@ func (ec *executionContext) field_Query_getModByReference_argsModReference( return zeroVal, nil } -func (ec *executionContext) field_Query_getMod_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Query_getMod_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Query_getMod_argsModID(ctx, rawArgs) if err != nil { return nil, err @@ -5398,13 +5118,9 @@ func (ec *executionContext) field_Query_getMod_args(ctx context.Context, rawArgs } func (ec *executionContext) field_Query_getMod_argsModID( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["modId"] - if !ok { + if _, ok := rawArgs["modId"]; !ok { var zeroVal string return zeroVal, nil } @@ -5418,9 +5134,9 @@ func (ec *executionContext) field_Query_getMod_argsModID( return zeroVal, nil } -func (ec *executionContext) field_Query_getMods_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Query_getMods_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Query_getMods_argsFilter(ctx, rawArgs) if err != nil { return nil, err @@ -5430,14 +5146,10 @@ func (ec *executionContext) field_Query_getMods_args(ctx context.Context, rawArg } func (ec *executionContext) field_Query_getMods_argsFilter( ctx context.Context, - rawArgs map[string]interface{}, -) (map[string]interface{}, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["filter"] - if !ok { - var zeroVal map[string]interface{} + rawArgs map[string]any, +) (map[string]any, error) { + if _, ok := rawArgs["filter"]; !ok { + var zeroVal map[string]any return zeroVal, nil } @@ -5446,13 +5158,13 @@ func (ec *executionContext) field_Query_getMods_argsFilter( return ec.unmarshalOModFilter2map(ctx, tmp) } - var zeroVal map[string]interface{} + var zeroVal map[string]any return zeroVal, nil } -func (ec *executionContext) field_Query_getMyMods_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Query_getMyMods_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Query_getMyMods_argsFilter(ctx, rawArgs) if err != nil { return nil, err @@ -5462,14 +5174,10 @@ func (ec *executionContext) field_Query_getMyMods_args(ctx context.Context, rawA } func (ec *executionContext) field_Query_getMyMods_argsFilter( ctx context.Context, - rawArgs map[string]interface{}, -) (map[string]interface{}, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["filter"] - if !ok { - var zeroVal map[string]interface{} + rawArgs map[string]any, +) (map[string]any, error) { + if _, ok := rawArgs["filter"]; !ok { + var zeroVal map[string]any return zeroVal, nil } @@ -5478,13 +5186,13 @@ func (ec *executionContext) field_Query_getMyMods_argsFilter( return ec.unmarshalOModFilter2map(ctx, tmp) } - var zeroVal map[string]interface{} + var zeroVal map[string]any return zeroVal, nil } -func (ec *executionContext) field_Query_getMyUnapprovedMods_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Query_getMyUnapprovedMods_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Query_getMyUnapprovedMods_argsFilter(ctx, rawArgs) if err != nil { return nil, err @@ -5494,14 +5202,10 @@ func (ec *executionContext) field_Query_getMyUnapprovedMods_args(ctx context.Con } func (ec *executionContext) field_Query_getMyUnapprovedMods_argsFilter( ctx context.Context, - rawArgs map[string]interface{}, -) (map[string]interface{}, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["filter"] - if !ok { - var zeroVal map[string]interface{} + rawArgs map[string]any, +) (map[string]any, error) { + if _, ok := rawArgs["filter"]; !ok { + var zeroVal map[string]any return zeroVal, nil } @@ -5510,13 +5214,13 @@ func (ec *executionContext) field_Query_getMyUnapprovedMods_argsFilter( return ec.unmarshalOModFilter2map(ctx, tmp) } - var zeroVal map[string]interface{} + var zeroVal map[string]any return zeroVal, nil } -func (ec *executionContext) field_Query_getMyUnapprovedVersions_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Query_getMyUnapprovedVersions_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Query_getMyUnapprovedVersions_argsFilter(ctx, rawArgs) if err != nil { return nil, err @@ -5526,14 +5230,10 @@ func (ec *executionContext) field_Query_getMyUnapprovedVersions_args(ctx context } func (ec *executionContext) field_Query_getMyUnapprovedVersions_argsFilter( ctx context.Context, - rawArgs map[string]interface{}, -) (map[string]interface{}, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["filter"] - if !ok { - var zeroVal map[string]interface{} + rawArgs map[string]any, +) (map[string]any, error) { + if _, ok := rawArgs["filter"]; !ok { + var zeroVal map[string]any return zeroVal, nil } @@ -5542,13 +5242,13 @@ func (ec *executionContext) field_Query_getMyUnapprovedVersions_argsFilter( return ec.unmarshalOVersionFilter2map(ctx, tmp) } - var zeroVal map[string]interface{} + var zeroVal map[string]any return zeroVal, nil } -func (ec *executionContext) field_Query_getMyVersions_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Query_getMyVersions_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Query_getMyVersions_argsFilter(ctx, rawArgs) if err != nil { return nil, err @@ -5558,14 +5258,10 @@ func (ec *executionContext) field_Query_getMyVersions_args(ctx context.Context, } func (ec *executionContext) field_Query_getMyVersions_argsFilter( ctx context.Context, - rawArgs map[string]interface{}, -) (map[string]interface{}, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["filter"] - if !ok { - var zeroVal map[string]interface{} + rawArgs map[string]any, +) (map[string]any, error) { + if _, ok := rawArgs["filter"]; !ok { + var zeroVal map[string]any return zeroVal, nil } @@ -5574,13 +5270,13 @@ func (ec *executionContext) field_Query_getMyVersions_argsFilter( return ec.unmarshalOVersionFilter2map(ctx, tmp) } - var zeroVal map[string]interface{} + var zeroVal map[string]any return zeroVal, nil } -func (ec *executionContext) field_Query_getOAuthOptions_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Query_getOAuthOptions_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Query_getOAuthOptions_argsCallbackURL(ctx, rawArgs) if err != nil { return nil, err @@ -5590,13 +5286,9 @@ func (ec *executionContext) field_Query_getOAuthOptions_args(ctx context.Context } func (ec *executionContext) field_Query_getOAuthOptions_argsCallbackURL( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["callback_url"] - if !ok { + if _, ok := rawArgs["callback_url"]; !ok { var zeroVal string return zeroVal, nil } @@ -5610,9 +5302,9 @@ func (ec *executionContext) field_Query_getOAuthOptions_argsCallbackURL( return zeroVal, nil } -func (ec *executionContext) field_Query_getSMLVersion_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Query_getSMLVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Query_getSMLVersion_argsSmlVersionID(ctx, rawArgs) if err != nil { return nil, err @@ -5622,13 +5314,9 @@ func (ec *executionContext) field_Query_getSMLVersion_args(ctx context.Context, } func (ec *executionContext) field_Query_getSMLVersion_argsSmlVersionID( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["smlVersionID"] - if !ok { + if _, ok := rawArgs["smlVersionID"]; !ok { var zeroVal string return zeroVal, nil } @@ -5642,9 +5330,9 @@ func (ec *executionContext) field_Query_getSMLVersion_argsSmlVersionID( return zeroVal, nil } -func (ec *executionContext) field_Query_getSMLVersions_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Query_getSMLVersions_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Query_getSMLVersions_argsFilter(ctx, rawArgs) if err != nil { return nil, err @@ -5654,14 +5342,10 @@ func (ec *executionContext) field_Query_getSMLVersions_args(ctx context.Context, } func (ec *executionContext) field_Query_getSMLVersions_argsFilter( ctx context.Context, - rawArgs map[string]interface{}, -) (map[string]interface{}, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["filter"] - if !ok { - var zeroVal map[string]interface{} + rawArgs map[string]any, +) (map[string]any, error) { + if _, ok := rawArgs["filter"]; !ok { + var zeroVal map[string]any return zeroVal, nil } @@ -5670,13 +5354,13 @@ func (ec *executionContext) field_Query_getSMLVersions_argsFilter( return ec.unmarshalOSMLVersionFilter2map(ctx, tmp) } - var zeroVal map[string]interface{} + var zeroVal map[string]any return zeroVal, nil } -func (ec *executionContext) field_Query_getSatisfactoryVersion_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Query_getSatisfactoryVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Query_getSatisfactoryVersion_argsID(ctx, rawArgs) if err != nil { return nil, err @@ -5686,13 +5370,9 @@ func (ec *executionContext) field_Query_getSatisfactoryVersion_args(ctx context. } func (ec *executionContext) field_Query_getSatisfactoryVersion_argsID( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["id"] - if !ok { + if _, ok := rawArgs["id"]; !ok { var zeroVal string return zeroVal, nil } @@ -5706,9 +5386,9 @@ func (ec *executionContext) field_Query_getSatisfactoryVersion_argsID( return zeroVal, nil } -func (ec *executionContext) field_Query_getTag_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Query_getTag_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Query_getTag_argsTagID(ctx, rawArgs) if err != nil { return nil, err @@ -5718,13 +5398,9 @@ func (ec *executionContext) field_Query_getTag_args(ctx context.Context, rawArgs } func (ec *executionContext) field_Query_getTag_argsTagID( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["tagID"] - if !ok { + if _, ok := rawArgs["tagID"]; !ok { var zeroVal string return zeroVal, nil } @@ -5738,9 +5414,9 @@ func (ec *executionContext) field_Query_getTag_argsTagID( return zeroVal, nil } -func (ec *executionContext) field_Query_getTags_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Query_getTags_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Query_getTags_argsFilter(ctx, rawArgs) if err != nil { return nil, err @@ -5750,13 +5426,9 @@ func (ec *executionContext) field_Query_getTags_args(ctx context.Context, rawArg } func (ec *executionContext) field_Query_getTags_argsFilter( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (*TagFilter, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["filter"] - if !ok { + if _, ok := rawArgs["filter"]; !ok { var zeroVal *TagFilter return zeroVal, nil } @@ -5770,9 +5442,9 @@ func (ec *executionContext) field_Query_getTags_argsFilter( return zeroVal, nil } -func (ec *executionContext) field_Query_getUnapprovedMods_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Query_getUnapprovedMods_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Query_getUnapprovedMods_argsFilter(ctx, rawArgs) if err != nil { return nil, err @@ -5782,14 +5454,10 @@ func (ec *executionContext) field_Query_getUnapprovedMods_args(ctx context.Conte } func (ec *executionContext) field_Query_getUnapprovedMods_argsFilter( ctx context.Context, - rawArgs map[string]interface{}, -) (map[string]interface{}, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["filter"] - if !ok { - var zeroVal map[string]interface{} + rawArgs map[string]any, +) (map[string]any, error) { + if _, ok := rawArgs["filter"]; !ok { + var zeroVal map[string]any return zeroVal, nil } @@ -5798,13 +5466,13 @@ func (ec *executionContext) field_Query_getUnapprovedMods_argsFilter( return ec.unmarshalOModFilter2map(ctx, tmp) } - var zeroVal map[string]interface{} + var zeroVal map[string]any return zeroVal, nil } -func (ec *executionContext) field_Query_getUnapprovedVersions_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Query_getUnapprovedVersions_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Query_getUnapprovedVersions_argsFilter(ctx, rawArgs) if err != nil { return nil, err @@ -5814,14 +5482,10 @@ func (ec *executionContext) field_Query_getUnapprovedVersions_args(ctx context.C } func (ec *executionContext) field_Query_getUnapprovedVersions_argsFilter( ctx context.Context, - rawArgs map[string]interface{}, -) (map[string]interface{}, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["filter"] - if !ok { - var zeroVal map[string]interface{} + rawArgs map[string]any, +) (map[string]any, error) { + if _, ok := rawArgs["filter"]; !ok { + var zeroVal map[string]any return zeroVal, nil } @@ -5830,13 +5494,13 @@ func (ec *executionContext) field_Query_getUnapprovedVersions_argsFilter( return ec.unmarshalOVersionFilter2map(ctx, tmp) } - var zeroVal map[string]interface{} + var zeroVal map[string]any return zeroVal, nil } -func (ec *executionContext) field_Query_getUser_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Query_getUser_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Query_getUser_argsUserID(ctx, rawArgs) if err != nil { return nil, err @@ -5846,13 +5510,9 @@ func (ec *executionContext) field_Query_getUser_args(ctx context.Context, rawArg } func (ec *executionContext) field_Query_getUser_argsUserID( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["userId"] - if !ok { + if _, ok := rawArgs["userId"]; !ok { var zeroVal string return zeroVal, nil } @@ -5866,9 +5526,9 @@ func (ec *executionContext) field_Query_getUser_argsUserID( return zeroVal, nil } -func (ec *executionContext) field_Query_getUsers_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Query_getUsers_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Query_getUsers_argsUserIds(ctx, rawArgs) if err != nil { return nil, err @@ -5878,13 +5538,9 @@ func (ec *executionContext) field_Query_getUsers_args(ctx context.Context, rawAr } func (ec *executionContext) field_Query_getUsers_argsUserIds( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) ([]string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["userIds"] - if !ok { + if _, ok := rawArgs["userIds"]; !ok { var zeroVal []string return zeroVal, nil } @@ -5898,9 +5554,9 @@ func (ec *executionContext) field_Query_getUsers_argsUserIds( return zeroVal, nil } -func (ec *executionContext) field_Query_getVersion_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Query_getVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Query_getVersion_argsVersionID(ctx, rawArgs) if err != nil { return nil, err @@ -5910,13 +5566,9 @@ func (ec *executionContext) field_Query_getVersion_args(ctx context.Context, raw } func (ec *executionContext) field_Query_getVersion_argsVersionID( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (string, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["versionId"] - if !ok { + if _, ok := rawArgs["versionId"]; !ok { var zeroVal string return zeroVal, nil } @@ -5930,9 +5582,9 @@ func (ec *executionContext) field_Query_getVersion_argsVersionID( return zeroVal, nil } -func (ec *executionContext) field_Query_getVersions_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Query_getVersions_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Query_getVersions_argsFilter(ctx, rawArgs) if err != nil { return nil, err @@ -5942,14 +5594,10 @@ func (ec *executionContext) field_Query_getVersions_args(ctx context.Context, ra } func (ec *executionContext) field_Query_getVersions_argsFilter( ctx context.Context, - rawArgs map[string]interface{}, -) (map[string]interface{}, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["filter"] - if !ok { - var zeroVal map[string]interface{} + rawArgs map[string]any, +) (map[string]any, error) { + if _, ok := rawArgs["filter"]; !ok { + var zeroVal map[string]any return zeroVal, nil } @@ -5958,13 +5606,13 @@ func (ec *executionContext) field_Query_getVersions_argsFilter( return ec.unmarshalOVersionFilter2map(ctx, tmp) } - var zeroVal map[string]interface{} + var zeroVal map[string]any return zeroVal, nil } -func (ec *executionContext) field_Query_resolveModVersions_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field_Query_resolveModVersions_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field_Query_resolveModVersions_argsFilter(ctx, rawArgs) if err != nil { return nil, err @@ -5974,13 +5622,9 @@ func (ec *executionContext) field_Query_resolveModVersions_args(ctx context.Cont } func (ec *executionContext) field_Query_resolveModVersions_argsFilter( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) ([]*ModVersionConstraint, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["filter"] - if !ok { + if _, ok := rawArgs["filter"]; !ok { var zeroVal []*ModVersionConstraint return zeroVal, nil } @@ -5994,9 +5638,65 @@ func (ec *executionContext) field_Query_resolveModVersions_argsFilter( return zeroVal, nil } -func (ec *executionContext) field___Type_enumValues_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field___Directive_args_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} + arg0, err := ec.field___Directive_args_argsIncludeDeprecated(ctx, rawArgs) + if err != nil { + return nil, err + } + args["includeDeprecated"] = arg0 + return args, nil +} +func (ec *executionContext) field___Directive_args_argsIncludeDeprecated( + ctx context.Context, + rawArgs map[string]any, +) (*bool, error) { + if _, ok := rawArgs["includeDeprecated"]; !ok { + var zeroVal *bool + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("includeDeprecated")) + if tmp, ok := rawArgs["includeDeprecated"]; ok { + return ec.unmarshalOBoolean2ᚖbool(ctx, tmp) + } + + var zeroVal *bool + return zeroVal, nil +} + +func (ec *executionContext) field___Field_args_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field___Field_args_argsIncludeDeprecated(ctx, rawArgs) + if err != nil { + return nil, err + } + args["includeDeprecated"] = arg0 + return args, nil +} +func (ec *executionContext) field___Field_args_argsIncludeDeprecated( + ctx context.Context, + rawArgs map[string]any, +) (*bool, error) { + if _, ok := rawArgs["includeDeprecated"]; !ok { + var zeroVal *bool + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("includeDeprecated")) + if tmp, ok := rawArgs["includeDeprecated"]; ok { + return ec.unmarshalOBoolean2ᚖbool(ctx, tmp) + } + + var zeroVal *bool + return zeroVal, nil +} + +func (ec *executionContext) field___Type_enumValues_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} arg0, err := ec.field___Type_enumValues_argsIncludeDeprecated(ctx, rawArgs) if err != nil { return nil, err @@ -6006,13 +5706,9 @@ func (ec *executionContext) field___Type_enumValues_args(ctx context.Context, ra } func (ec *executionContext) field___Type_enumValues_argsIncludeDeprecated( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (bool, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["includeDeprecated"] - if !ok { + if _, ok := rawArgs["includeDeprecated"]; !ok { var zeroVal bool return zeroVal, nil } @@ -6026,9 +5722,9 @@ func (ec *executionContext) field___Type_enumValues_argsIncludeDeprecated( return zeroVal, nil } -func (ec *executionContext) field___Type_fields_args(ctx context.Context, rawArgs map[string]interface{}) (map[string]interface{}, error) { +func (ec *executionContext) field___Type_fields_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { var err error - args := map[string]interface{}{} + args := map[string]any{} arg0, err := ec.field___Type_fields_argsIncludeDeprecated(ctx, rawArgs) if err != nil { return nil, err @@ -6038,13 +5734,9 @@ func (ec *executionContext) field___Type_fields_args(ctx context.Context, rawArg } func (ec *executionContext) field___Type_fields_argsIncludeDeprecated( ctx context.Context, - rawArgs map[string]interface{}, + rawArgs map[string]any, ) (bool, error) { - // We won't call the directive if the argument is null. - // Set call_argument_directives_with_null to true to call directives - // even if the argument is null. - _, ok := rawArgs["includeDeprecated"] - if !ok { + if _, ok := rawArgs["includeDeprecated"]; !ok { var zeroVal bool return zeroVal, nil } @@ -6078,7 +5770,7 @@ func (ec *executionContext) _Announcement_id(ctx context.Context, field graphql. ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.ID, nil }) @@ -6122,7 +5814,7 @@ func (ec *executionContext) _Announcement_message(ctx context.Context, field gra ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Message, nil }) @@ -6166,7 +5858,7 @@ func (ec *executionContext) _Announcement_importance(ctx context.Context, field ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Importance, nil }) @@ -6210,7 +5902,7 @@ func (ec *executionContext) _Compatibility_state(ctx context.Context, field grap ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.State, nil }) @@ -6254,7 +5946,7 @@ func (ec *executionContext) _Compatibility_note(ctx context.Context, field graph ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Note, nil }) @@ -6295,7 +5987,7 @@ func (ec *executionContext) _CompatibilityInfo_EA(ctx context.Context, field gra ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Ea, nil }) @@ -6345,7 +6037,7 @@ func (ec *executionContext) _CompatibilityInfo_EXP(ctx context.Context, field gr ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Exp, nil }) @@ -6395,7 +6087,7 @@ func (ec *executionContext) _CompatibilityInfo_Controller(ctx context.Context, f ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Controller, nil }) @@ -6445,7 +6137,7 @@ func (ec *executionContext) _ControllerCompatibility_state(ctx context.Context, ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.State, nil }) @@ -6489,7 +6181,7 @@ func (ec *executionContext) _ControllerCompatibility_note(ctx context.Context, f ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Note, nil }) @@ -6530,7 +6222,7 @@ func (ec *executionContext) _CreateVersionResponse_auto_approved(ctx context.Con ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.AutoApproved, nil }) @@ -6574,7 +6266,7 @@ func (ec *executionContext) _CreateVersionResponse_version(ctx context.Context, ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Version, nil }) @@ -6657,7 +6349,7 @@ func (ec *executionContext) _GetGuides_guides(ctx context.Context, field graphql ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.GetGuides().Guides(rctx, obj) }) @@ -6723,7 +6415,7 @@ func (ec *executionContext) _GetGuides_count(ctx context.Context, field graphql. ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.GetGuides().Count(rctx, obj) }) @@ -6767,7 +6459,7 @@ func (ec *executionContext) _GetMods_mods(ctx context.Context, field graphql.Col ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.GetMods().Mods(rctx, obj) }) @@ -6867,7 +6559,7 @@ func (ec *executionContext) _GetMods_count(ctx context.Context, field graphql.Co ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.GetMods().Count(rctx, obj) }) @@ -6911,7 +6603,7 @@ func (ec *executionContext) _GetMyMods_mods(ctx context.Context, field graphql.C ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.GetMyMods().Mods(rctx, obj) }) @@ -7011,7 +6703,7 @@ func (ec *executionContext) _GetMyMods_count(ctx context.Context, field graphql. ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.GetMyMods().Count(rctx, obj) }) @@ -7055,7 +6747,7 @@ func (ec *executionContext) _GetMyVersions_versions(ctx context.Context, field g ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.GetMyVersions().Versions(rctx, obj) }) @@ -7141,7 +6833,7 @@ func (ec *executionContext) _GetMyVersions_count(ctx context.Context, field grap ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.GetMyVersions().Count(rctx, obj) }) @@ -7185,7 +6877,7 @@ func (ec *executionContext) _GetSMLVersions_sml_versions(ctx context.Context, fi ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.GetSMLVersions().SmlVersions(rctx, obj) }) @@ -7255,7 +6947,7 @@ func (ec *executionContext) _GetSMLVersions_count(ctx context.Context, field gra ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.GetSMLVersions().Count(rctx, obj) }) @@ -7299,7 +6991,7 @@ func (ec *executionContext) _GetVersions_versions(ctx context.Context, field gra ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.GetVersions().Versions(rctx, obj) }) @@ -7385,7 +7077,7 @@ func (ec *executionContext) _GetVersions_count(ctx context.Context, field graphq ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.GetVersions().Count(rctx, obj) }) @@ -7429,7 +7121,7 @@ func (ec *executionContext) _Group_id(ctx context.Context, field graphql.Collect ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.ID, nil }) @@ -7473,7 +7165,7 @@ func (ec *executionContext) _Group_name(ctx context.Context, field graphql.Colle ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Name, nil }) @@ -7517,7 +7209,7 @@ func (ec *executionContext) _Guide_id(ctx context.Context, field graphql.Collect ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.ID, nil }) @@ -7561,7 +7253,7 @@ func (ec *executionContext) _Guide_name(ctx context.Context, field graphql.Colle ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Name, nil }) @@ -7605,7 +7297,7 @@ func (ec *executionContext) _Guide_short_description(ctx context.Context, field ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.ShortDescription, nil }) @@ -7649,7 +7341,7 @@ func (ec *executionContext) _Guide_guide(ctx context.Context, field graphql.Coll ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Guide, nil }) @@ -7693,7 +7385,7 @@ func (ec *executionContext) _Guide_views(ctx context.Context, field graphql.Coll ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Views, nil }) @@ -7737,7 +7429,7 @@ func (ec *executionContext) _Guide_user_id(ctx context.Context, field graphql.Co ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.UserID, nil }) @@ -7781,7 +7473,7 @@ func (ec *executionContext) _Guide_updated_at(ctx context.Context, field graphql ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.UpdatedAt, nil }) @@ -7825,7 +7517,7 @@ func (ec *executionContext) _Guide_created_at(ctx context.Context, field graphql ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.CreatedAt, nil }) @@ -7869,7 +7561,7 @@ func (ec *executionContext) _Guide_tags(ctx context.Context, field graphql.Colle ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Tags, nil }) @@ -7921,7 +7613,7 @@ func (ec *executionContext) _Guide_user(ctx context.Context, field graphql.Colle ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Guide().User(rctx, obj) }) @@ -7993,7 +7685,7 @@ func (ec *executionContext) _LatestVersions_alpha(ctx context.Context, field gra ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Alpha, nil }) @@ -8076,7 +7768,7 @@ func (ec *executionContext) _LatestVersions_beta(ctx context.Context, field grap ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Beta, nil }) @@ -8159,7 +7851,7 @@ func (ec *executionContext) _LatestVersions_release(ctx context.Context, field g ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Release, nil }) @@ -8242,7 +7934,7 @@ func (ec *executionContext) _Mod_id(ctx context.Context, field graphql.Collected ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.ID, nil }) @@ -8286,7 +7978,7 @@ func (ec *executionContext) _Mod_name(ctx context.Context, field graphql.Collect ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Name, nil }) @@ -8330,7 +8022,7 @@ func (ec *executionContext) _Mod_short_description(ctx context.Context, field gr ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.ShortDescription, nil }) @@ -8374,7 +8066,7 @@ func (ec *executionContext) _Mod_full_description(ctx context.Context, field gra ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.FullDescription, nil }) @@ -8415,7 +8107,7 @@ func (ec *executionContext) _Mod_logo(ctx context.Context, field graphql.Collect ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Logo, nil }) @@ -8456,7 +8148,7 @@ func (ec *executionContext) _Mod_logo_thumbhash(ctx context.Context, field graph ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.LogoThumbhash, nil }) @@ -8497,7 +8189,7 @@ func (ec *executionContext) _Mod_source_url(ctx context.Context, field graphql.C ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.SourceURL, nil }) @@ -8538,7 +8230,7 @@ func (ec *executionContext) _Mod_creator_id(ctx context.Context, field graphql.C ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.CreatorID, nil }) @@ -8582,7 +8274,7 @@ func (ec *executionContext) _Mod_approved(ctx context.Context, field graphql.Col ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Approved, nil }) @@ -8626,7 +8318,7 @@ func (ec *executionContext) _Mod_views(ctx context.Context, field graphql.Collec ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Views, nil }) @@ -8670,7 +8362,7 @@ func (ec *executionContext) _Mod_downloads(ctx context.Context, field graphql.Co ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Downloads, nil }) @@ -8714,7 +8406,7 @@ func (ec *executionContext) _Mod_hotness(ctx context.Context, field graphql.Coll ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Hotness, nil }) @@ -8758,7 +8450,7 @@ func (ec *executionContext) _Mod_popularity(ctx context.Context, field graphql.C ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Popularity, nil }) @@ -8802,7 +8494,7 @@ func (ec *executionContext) _Mod_updated_at(ctx context.Context, field graphql.C ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.UpdatedAt, nil }) @@ -8846,7 +8538,7 @@ func (ec *executionContext) _Mod_created_at(ctx context.Context, field graphql.C ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.CreatedAt, nil }) @@ -8890,7 +8582,7 @@ func (ec *executionContext) _Mod_last_version_date(ctx context.Context, field gr ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.LastVersionDate, nil }) @@ -8931,7 +8623,7 @@ func (ec *executionContext) _Mod_mod_reference(ctx context.Context, field graphq ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.ModReference, nil }) @@ -8975,7 +8667,7 @@ func (ec *executionContext) _Mod_hidden(ctx context.Context, field graphql.Colle ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Hidden, nil }) @@ -9019,7 +8711,7 @@ func (ec *executionContext) _Mod_tags(ctx context.Context, field graphql.Collect ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Tags, nil }) @@ -9068,7 +8760,7 @@ func (ec *executionContext) _Mod_compatibility(ctx context.Context, field graphq ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Compatibility, nil }) @@ -9117,7 +8809,7 @@ func (ec *executionContext) _Mod_toggle_network_use(ctx context.Context, field g ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.ToggleNetworkUse, nil }) @@ -9161,7 +8853,7 @@ func (ec *executionContext) _Mod_network_use_disclosure(ctx context.Context, fie ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.NetworkUseDisclosure, nil }) @@ -9202,7 +8894,7 @@ func (ec *executionContext) _Mod_toggle_explicit_content(ctx context.Context, fi ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.ToggleExplicitContent, nil }) @@ -9246,7 +8938,7 @@ func (ec *executionContext) _Mod_authors(ctx context.Context, field graphql.Coll ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Mod().Authors(rctx, obj) }) @@ -9302,7 +8994,7 @@ func (ec *executionContext) _Mod_version(ctx context.Context, field graphql.Coll ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Mod().Version(rctx, obj, fc.Args["version"].(string)) }) @@ -9396,7 +9088,7 @@ func (ec *executionContext) _Mod_versions(ctx context.Context, field graphql.Col ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Mod().Versions(rctx, obj, fc.Args["filter"].(map[string]interface{})) }) @@ -9493,7 +9185,7 @@ func (ec *executionContext) _Mod_latestVersions(ctx context.Context, field graph ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Mod().LatestVersions(rctx, obj) }) @@ -9545,7 +9237,7 @@ func (ec *executionContext) _ModVersion_id(ctx context.Context, field graphql.Co ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.ID, nil }) @@ -9589,7 +9281,7 @@ func (ec *executionContext) _ModVersion_mod_reference(ctx context.Context, field ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.ModReference, nil }) @@ -9633,7 +9325,7 @@ func (ec *executionContext) _ModVersion_versions(ctx context.Context, field grap ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Versions, nil }) @@ -9719,13 +9411,13 @@ func (ec *executionContext) _Mutation_discourseSSO(ctx context.Context, field gr ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().DiscourseSso(rctx, fc.Args["sso"].(string), fc.Args["sig"].(string)) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal *string return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -9793,20 +9485,20 @@ func (ec *executionContext) _Mutation_createAnnouncement(ctx context.Context, fi ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().CreateAnnouncement(rctx, fc.Args["announcement"].(NewAnnouncement)) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { if ec.directives.CanEditAnnouncements == nil { var zeroVal *Announcement return zeroVal, errors.New("directive canEditAnnouncements is not implemented") } return ec.directives.CanEditAnnouncements(ctx, nil, directive0) } - directive2 := func(ctx context.Context) (interface{}, error) { + directive2 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal *Announcement return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -9882,20 +9574,20 @@ func (ec *executionContext) _Mutation_updateAnnouncement(ctx context.Context, fi ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().UpdateAnnouncement(rctx, fc.Args["announcementId"].(string), fc.Args["announcement"].(UpdateAnnouncement)) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { if ec.directives.CanEditAnnouncements == nil { var zeroVal *Announcement return zeroVal, errors.New("directive canEditAnnouncements is not implemented") } return ec.directives.CanEditAnnouncements(ctx, nil, directive0) } - directive2 := func(ctx context.Context) (interface{}, error) { + directive2 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal *Announcement return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -9974,20 +9666,20 @@ func (ec *executionContext) _Mutation_deleteAnnouncement(ctx context.Context, fi ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().DeleteAnnouncement(rctx, fc.Args["announcementId"].(string)) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { if ec.directives.CanEditAnnouncements == nil { var zeroVal bool return zeroVal, errors.New("directive canEditAnnouncements is not implemented") } return ec.directives.CanEditAnnouncements(ctx, nil, directive0) } - directive2 := func(ctx context.Context) (interface{}, error) { + directive2 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal bool return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -10058,13 +9750,13 @@ func (ec *executionContext) _Mutation_updateModCompatibility(ctx context.Context ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().UpdateModCompatibility(rctx, fc.Args["modId"].(string), fc.Args["compatibility"].(CompatibilityInfoInput)) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { field, err := ec.unmarshalOString2ᚖstring(ctx, "modId") if err != nil { var zeroVal bool @@ -10076,7 +9768,7 @@ func (ec *executionContext) _Mutation_updateModCompatibility(ctx context.Context } return ec.directives.CanEditModCompatibility(ctx, nil, directive0, field) } - directive2 := func(ctx context.Context) (interface{}, error) { + directive2 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal bool return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -10147,20 +9839,20 @@ func (ec *executionContext) _Mutation_updateMultipleModCompatibilities(ctx conte ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().UpdateMultipleModCompatibilities(rctx, fc.Args["modIDs"].([]string), fc.Args["compatibility"].(CompatibilityInfoInput)) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { if ec.directives.CanEditModCompatibility == nil { var zeroVal bool return zeroVal, errors.New("directive canEditModCompatibility is not implemented") } return ec.directives.CanEditModCompatibility(ctx, nil, directive0, nil) } - directive2 := func(ctx context.Context) (interface{}, error) { + directive2 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal bool return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -10231,13 +9923,13 @@ func (ec *executionContext) _Mutation_createGuide(ctx context.Context, field gra ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().CreateGuide(rctx, fc.Args["guide"].(NewGuide)) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal *Guide return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -10327,13 +10019,13 @@ func (ec *executionContext) _Mutation_updateGuide(ctx context.Context, field gra ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().UpdateGuide(rctx, fc.Args["guideId"].(string), fc.Args["guide"].(UpdateGuide)) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { field, err := ec.unmarshalNString2string(ctx, "guideId") if err != nil { var zeroVal *Guide @@ -10345,7 +10037,7 @@ func (ec *executionContext) _Mutation_updateGuide(ctx context.Context, field gra } return ec.directives.CanEditGuide(ctx, nil, directive0, field) } - directive2 := func(ctx context.Context) (interface{}, error) { + directive2 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal *Guide return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -10438,13 +10130,13 @@ func (ec *executionContext) _Mutation_deleteGuide(ctx context.Context, field gra ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().DeleteGuide(rctx, fc.Args["guideId"].(string)) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { field, err := ec.unmarshalNString2string(ctx, "guideId") if err != nil { var zeroVal bool @@ -10456,7 +10148,7 @@ func (ec *executionContext) _Mutation_deleteGuide(ctx context.Context, field gra } return ec.directives.CanEditGuide(ctx, nil, directive0, field) } - directive2 := func(ctx context.Context) (interface{}, error) { + directive2 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal bool return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -10527,13 +10219,13 @@ func (ec *executionContext) _Mutation_createMod(ctx context.Context, field graph ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().CreateMod(rctx, fc.Args["mod"].(NewMod)) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal *Mod return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -10657,13 +10349,13 @@ func (ec *executionContext) _Mutation_updateMod(ctx context.Context, field graph ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().UpdateMod(rctx, fc.Args["modId"].(string), fc.Args["mod"].(UpdateMod)) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { field, err := ec.unmarshalNString2string(ctx, "modId") if err != nil { var zeroVal *Mod @@ -10675,7 +10367,7 @@ func (ec *executionContext) _Mutation_updateMod(ctx context.Context, field graph } return ec.directives.CanEditMod(ctx, nil, directive0, field) } - directive2 := func(ctx context.Context) (interface{}, error) { + directive2 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal *Mod return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -10802,13 +10494,13 @@ func (ec *executionContext) _Mutation_deleteMod(ctx context.Context, field graph ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().DeleteMod(rctx, fc.Args["modId"].(string)) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { field, err := ec.unmarshalNString2string(ctx, "modId") if err != nil { var zeroVal bool @@ -10820,7 +10512,7 @@ func (ec *executionContext) _Mutation_deleteMod(ctx context.Context, field graph } return ec.directives.CanEditMod(ctx, nil, directive0, field) } - directive2 := func(ctx context.Context) (interface{}, error) { + directive2 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal bool return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -10891,20 +10583,20 @@ func (ec *executionContext) _Mutation_approveMod(ctx context.Context, field grap ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().ApproveMod(rctx, fc.Args["modId"].(string)) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { if ec.directives.CanApproveMods == nil { var zeroVal bool return zeroVal, errors.New("directive canApproveMods is not implemented") } return ec.directives.CanApproveMods(ctx, nil, directive0) } - directive2 := func(ctx context.Context) (interface{}, error) { + directive2 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal bool return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -10975,20 +10667,20 @@ func (ec *executionContext) _Mutation_denyMod(ctx context.Context, field graphql ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().DenyMod(rctx, fc.Args["modId"].(string)) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { if ec.directives.CanApproveMods == nil { var zeroVal bool return zeroVal, errors.New("directive canApproveMods is not implemented") } return ec.directives.CanApproveMods(ctx, nil, directive0) } - directive2 := func(ctx context.Context) (interface{}, error) { + directive2 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal bool return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -11059,20 +10751,20 @@ func (ec *executionContext) _Mutation_createSatisfactoryVersion(ctx context.Cont ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().CreateSatisfactoryVersion(rctx, fc.Args["input"].(NewSatisfactoryVersion)) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal *SatisfactoryVersion return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive0) } - directive2 := func(ctx context.Context) (interface{}, error) { + directive2 := func(ctx context.Context) (any, error) { if ec.directives.CanEditSatisfactoryVersions == nil { var zeroVal *SatisfactoryVersion return zeroVal, errors.New("directive canEditSatisfactoryVersions is not implemented") @@ -11151,20 +10843,20 @@ func (ec *executionContext) _Mutation_updateSatisfactoryVersion(ctx context.Cont ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().UpdateSatisfactoryVersion(rctx, fc.Args["id"].(string), fc.Args["input"].(UpdateSatisfactoryVersion)) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal *SatisfactoryVersion return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive0) } - directive2 := func(ctx context.Context) (interface{}, error) { + directive2 := func(ctx context.Context) (any, error) { if ec.directives.CanEditSatisfactoryVersions == nil { var zeroVal *SatisfactoryVersion return zeroVal, errors.New("directive canEditSatisfactoryVersions is not implemented") @@ -11243,20 +10935,20 @@ func (ec *executionContext) _Mutation_deleteSatisfactoryVersion(ctx context.Cont ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().DeleteSatisfactoryVersion(rctx, fc.Args["id"].(string)) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal bool return zeroVal, errors.New("directive isLoggedIn is not implemented") } return ec.directives.IsLoggedIn(ctx, nil, directive0) } - directive2 := func(ctx context.Context) (interface{}, error) { + directive2 := func(ctx context.Context) (any, error) { if ec.directives.CanEditSatisfactoryVersions == nil { var zeroVal bool return zeroVal, errors.New("directive canEditSatisfactoryVersions is not implemented") @@ -11327,20 +11019,20 @@ func (ec *executionContext) _Mutation_createTag(ctx context.Context, field graph ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().CreateTag(rctx, fc.Args["tagName"].(string), fc.Args["description"].(string)) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { if ec.directives.CanManageTags == nil { var zeroVal *Tag return zeroVal, errors.New("directive canManageTags is not implemented") } return ec.directives.CanManageTags(ctx, nil, directive0) } - directive2 := func(ctx context.Context) (interface{}, error) { + directive2 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal *Tag return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -11416,20 +11108,20 @@ func (ec *executionContext) _Mutation_createMultipleTags(ctx context.Context, fi ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().CreateMultipleTags(rctx, fc.Args["tagNames"].([]*NewTag)) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { if ec.directives.CanManageTags == nil { var zeroVal []*Tag return zeroVal, errors.New("directive canManageTags is not implemented") } return ec.directives.CanManageTags(ctx, nil, directive0) } - directive2 := func(ctx context.Context) (interface{}, error) { + directive2 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal []*Tag return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -11508,20 +11200,20 @@ func (ec *executionContext) _Mutation_updateTag(ctx context.Context, field graph ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().UpdateTag(rctx, fc.Args["tagID"].(string), fc.Args["NewName"].(string), fc.Args["description"].(string)) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { if ec.directives.CanManageTags == nil { var zeroVal *Tag return zeroVal, errors.New("directive canManageTags is not implemented") } return ec.directives.CanManageTags(ctx, nil, directive0) } - directive2 := func(ctx context.Context) (interface{}, error) { + directive2 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal *Tag return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -11600,20 +11292,20 @@ func (ec *executionContext) _Mutation_deleteTag(ctx context.Context, field graph ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().DeleteTag(rctx, fc.Args["tagID"].(string)) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { if ec.directives.CanManageTags == nil { var zeroVal bool return zeroVal, errors.New("directive canManageTags is not implemented") } return ec.directives.CanManageTags(ctx, nil, directive0) } - directive2 := func(ctx context.Context) (interface{}, error) { + directive2 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal bool return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -11684,13 +11376,13 @@ func (ec *executionContext) _Mutation_updateUser(ctx context.Context, field grap ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().UpdateUser(rctx, fc.Args["userId"].(string), fc.Args["input"].(UpdateUser)) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { field, err := ec.unmarshalNString2string(ctx, "userId") if err != nil { var zeroVal *User @@ -11707,7 +11399,7 @@ func (ec *executionContext) _Mutation_updateUser(ctx context.Context, field grap } return ec.directives.CanEditUser(ctx, nil, directive0, field, object) } - directive2 := func(ctx context.Context) (interface{}, error) { + directive2 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal *User return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -11806,13 +11498,13 @@ func (ec *executionContext) _Mutation_logout(ctx context.Context, field graphql. ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().Logout(rctx) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal bool return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -11872,13 +11564,13 @@ func (ec *executionContext) _Mutation_oAuthGithub(ctx context.Context, field gra ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().OAuthGithub(rctx, fc.Args["code"].(string), fc.Args["state"].(string)) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { if ec.directives.IsNotLoggedIn == nil { var zeroVal *UserSession return zeroVal, errors.New("directive isNotLoggedIn is not implemented") @@ -11950,13 +11642,13 @@ func (ec *executionContext) _Mutation_oAuthGoogle(ctx context.Context, field gra ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().OAuthGoogle(rctx, fc.Args["code"].(string), fc.Args["state"].(string)) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { if ec.directives.IsNotLoggedIn == nil { var zeroVal *UserSession return zeroVal, errors.New("directive isNotLoggedIn is not implemented") @@ -12028,13 +11720,13 @@ func (ec *executionContext) _Mutation_oAuthFacebook(ctx context.Context, field g ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().OAuthFacebook(rctx, fc.Args["code"].(string), fc.Args["state"].(string)) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { if ec.directives.IsNotLoggedIn == nil { var zeroVal *UserSession return zeroVal, errors.New("directive isNotLoggedIn is not implemented") @@ -12106,13 +11798,13 @@ func (ec *executionContext) _Mutation_createVersion(ctx context.Context, field g ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().CreateVersion(rctx, fc.Args["modId"].(string)) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { field, err := ec.unmarshalNString2string(ctx, "modId") if err != nil { var zeroVal string @@ -12124,7 +11816,7 @@ func (ec *executionContext) _Mutation_createVersion(ctx context.Context, field g } return ec.directives.CanEditMod(ctx, nil, directive0, field) } - directive2 := func(ctx context.Context) (interface{}, error) { + directive2 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal string return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -12195,13 +11887,13 @@ func (ec *executionContext) _Mutation_uploadVersionPart(ctx context.Context, fie ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().UploadVersionPart(rctx, fc.Args["modId"].(string), fc.Args["versionId"].(string), fc.Args["part"].(int), fc.Args["file"].(graphql.Upload)) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { field, err := ec.unmarshalNString2string(ctx, "modId") if err != nil { var zeroVal bool @@ -12213,7 +11905,7 @@ func (ec *executionContext) _Mutation_uploadVersionPart(ctx context.Context, fie } return ec.directives.CanEditMod(ctx, nil, directive0, field) } - directive2 := func(ctx context.Context) (interface{}, error) { + directive2 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal bool return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -12284,13 +11976,13 @@ func (ec *executionContext) _Mutation_finalizeCreateVersion(ctx context.Context, ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().FinalizeCreateVersion(rctx, fc.Args["modId"].(string), fc.Args["versionId"].(string), fc.Args["version"].(NewVersion)) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { field, err := ec.unmarshalNString2string(ctx, "modId") if err != nil { var zeroVal bool @@ -12302,7 +11994,7 @@ func (ec *executionContext) _Mutation_finalizeCreateVersion(ctx context.Context, } return ec.directives.CanEditMod(ctx, nil, directive0, field) } - directive2 := func(ctx context.Context) (interface{}, error) { + directive2 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal bool return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -12373,13 +12065,13 @@ func (ec *executionContext) _Mutation_updateVersion(ctx context.Context, field g ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().UpdateVersion(rctx, fc.Args["versionId"].(string), fc.Args["version"].(UpdateVersion)) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { field, err := ec.unmarshalNString2string(ctx, "versionId") if err != nil { var zeroVal *Version @@ -12391,7 +12083,7 @@ func (ec *executionContext) _Mutation_updateVersion(ctx context.Context, field g } return ec.directives.CanEditVersion(ctx, nil, directive0, field) } - directive2 := func(ctx context.Context) (interface{}, error) { + directive2 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal *Version return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -12504,13 +12196,13 @@ func (ec *executionContext) _Mutation_deleteVersion(ctx context.Context, field g ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().DeleteVersion(rctx, fc.Args["versionId"].(string)) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { field, err := ec.unmarshalNString2string(ctx, "versionId") if err != nil { var zeroVal bool @@ -12522,7 +12214,7 @@ func (ec *executionContext) _Mutation_deleteVersion(ctx context.Context, field g } return ec.directives.CanEditVersion(ctx, nil, directive0, field) } - directive2 := func(ctx context.Context) (interface{}, error) { + directive2 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal bool return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -12593,20 +12285,20 @@ func (ec *executionContext) _Mutation_approveVersion(ctx context.Context, field ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().ApproveVersion(rctx, fc.Args["versionId"].(string)) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { if ec.directives.CanApproveVersions == nil { var zeroVal bool return zeroVal, errors.New("directive canApproveVersions is not implemented") } return ec.directives.CanApproveVersions(ctx, nil, directive0) } - directive2 := func(ctx context.Context) (interface{}, error) { + directive2 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal bool return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -12677,20 +12369,20 @@ func (ec *executionContext) _Mutation_denyVersion(ctx context.Context, field gra ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Mutation().DenyVersion(rctx, fc.Args["versionId"].(string)) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { if ec.directives.CanApproveVersions == nil { var zeroVal bool return zeroVal, errors.New("directive canApproveVersions is not implemented") } return ec.directives.CanApproveVersions(ctx, nil, directive0) } - directive2 := func(ctx context.Context) (interface{}, error) { + directive2 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal bool return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -12761,7 +12453,7 @@ func (ec *executionContext) _OAuthOptions_github(ctx context.Context, field grap ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Github, nil }) @@ -12805,7 +12497,7 @@ func (ec *executionContext) _OAuthOptions_google(ctx context.Context, field grap ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Google, nil }) @@ -12849,7 +12541,7 @@ func (ec *executionContext) _OAuthOptions_facebook(ctx context.Context, field gr ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Facebook, nil }) @@ -12893,7 +12585,7 @@ func (ec *executionContext) _Query_getOAuthOptions(ctx context.Context, field gr ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Query().GetOAuthOptions(rctx, fc.Args["callback_url"].(string)) }) @@ -12956,7 +12648,7 @@ func (ec *executionContext) _Query_getAnnouncement(ctx context.Context, field gr ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Query().GetAnnouncement(rctx, fc.Args["announcementId"].(string)) }) @@ -13016,7 +12708,7 @@ func (ec *executionContext) _Query_getAnnouncements(ctx context.Context, field g ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Query().GetAnnouncements(rctx) }) @@ -13068,7 +12760,7 @@ func (ec *executionContext) _Query_getAnnouncementsByImportance(ctx context.Cont ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Query().GetAnnouncementsByImportance(rctx, fc.Args["importance"].(AnnouncementImportance)) }) @@ -13131,7 +12823,7 @@ func (ec *executionContext) _Query_getGuide(ctx context.Context, field graphql.C ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Query().GetGuide(rctx, fc.Args["guideId"].(string)) }) @@ -13205,7 +12897,7 @@ func (ec *executionContext) _Query_getGuides(ctx context.Context, field graphql. ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Query().GetGuides(rctx, fc.Args["filter"].(map[string]interface{})) }) @@ -13266,7 +12958,7 @@ func (ec *executionContext) _Query_getMod(ctx context.Context, field graphql.Col ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Query().GetMod(rctx, fc.Args["modId"].(string)) }) @@ -13374,7 +13066,7 @@ func (ec *executionContext) _Query_getModByReference(ctx context.Context, field ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Query().GetModByReference(rctx, fc.Args["modReference"].(string)) }) @@ -13482,7 +13174,7 @@ func (ec *executionContext) _Query_getModByIdOrReference(ctx context.Context, fi ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Query().GetModByIDOrReference(rctx, fc.Args["modIdOrReference"].(string)) }) @@ -13590,7 +13282,7 @@ func (ec *executionContext) _Query_getMods(ctx context.Context, field graphql.Co ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Query().GetMods(rctx, fc.Args["filter"].(map[string]interface{})) }) @@ -13651,20 +13343,20 @@ func (ec *executionContext) _Query_getUnapprovedMods(ctx context.Context, field ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Query().GetUnapprovedMods(rctx, fc.Args["filter"].(map[string]interface{})) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { if ec.directives.CanApproveMods == nil { var zeroVal *GetMods return zeroVal, errors.New("directive canApproveMods is not implemented") } return ec.directives.CanApproveMods(ctx, nil, directive0) } - directive2 := func(ctx context.Context) (interface{}, error) { + directive2 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal *GetMods return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -13741,13 +13433,13 @@ func (ec *executionContext) _Query_getMyMods(ctx context.Context, field graphql. ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Query().GetMyMods(rctx, fc.Args["filter"].(map[string]interface{})) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal *GetMyMods return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -13824,13 +13516,13 @@ func (ec *executionContext) _Query_getMyUnapprovedMods(ctx context.Context, fiel ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Query().GetMyUnapprovedMods(rctx, fc.Args["filter"].(map[string]interface{})) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal *GetMyMods return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -13907,7 +13599,7 @@ func (ec *executionContext) _Query_resolveModVersions(ctx context.Context, field ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Query().ResolveModVersions(rctx, fc.Args["filter"].([]*ModVersionConstraint)) }) @@ -13970,7 +13662,7 @@ func (ec *executionContext) _Query_getModAssetList(ctx context.Context, field gr ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Query().GetModAssetList(rctx, fc.Args["modReference"].(string)) }) @@ -14025,7 +13717,7 @@ func (ec *executionContext) _Query_getSatisfactoryVersions(ctx context.Context, ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Query().GetSatisfactoryVersions(rctx) }) @@ -14077,7 +13769,7 @@ func (ec *executionContext) _Query_getSatisfactoryVersion(ctx context.Context, f ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Query().GetSatisfactoryVersion(rctx, fc.Args["id"].(string)) }) @@ -14137,7 +13829,7 @@ func (ec *executionContext) _Query_getSMLVersion(ctx context.Context, field grap ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Query().GetSMLVersion(rctx, fc.Args["smlVersionID"].(string)) }) @@ -14215,7 +13907,7 @@ func (ec *executionContext) _Query_getSMLVersions(ctx context.Context, field gra ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Query().GetSMLVersions(rctx, fc.Args["filter"].(map[string]interface{})) }) @@ -14276,7 +13968,7 @@ func (ec *executionContext) _Query_getTag(ctx context.Context, field graphql.Col ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Query().GetTag(rctx, fc.Args["tagID"].(string)) }) @@ -14336,7 +14028,7 @@ func (ec *executionContext) _Query_getTags(ctx context.Context, field graphql.Co ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Query().GetTags(rctx, fc.Args["filter"].(*TagFilter)) }) @@ -14399,13 +14091,13 @@ func (ec *executionContext) _Query_getMe(ctx context.Context, field graphql.Coll ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Query().GetMe(rctx) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal *User return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -14490,7 +14182,7 @@ func (ec *executionContext) _Query_getUser(ctx context.Context, field graphql.Co ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Query().GetUser(rctx, fc.Args["userId"].(string)) }) @@ -14570,7 +14262,7 @@ func (ec *executionContext) _Query_getUsers(ctx context.Context, field graphql.C ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Query().GetUsers(rctx, fc.Args["userIds"].([]string)) }) @@ -14653,7 +14345,7 @@ func (ec *executionContext) _Query_getVersion(ctx context.Context, field graphql ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Query().GetVersion(rctx, fc.Args["versionId"].(string)) }) @@ -14747,7 +14439,7 @@ func (ec *executionContext) _Query_getVersions(ctx context.Context, field graphq ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Query().GetVersions(rctx, fc.Args["filter"].(map[string]interface{})) }) @@ -14808,20 +14500,20 @@ func (ec *executionContext) _Query_getUnapprovedVersions(ctx context.Context, fi ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Query().GetUnapprovedVersions(rctx, fc.Args["filter"].(map[string]interface{})) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { if ec.directives.CanApproveVersions == nil { var zeroVal *GetVersions return zeroVal, errors.New("directive canApproveVersions is not implemented") } return ec.directives.CanApproveVersions(ctx, nil, directive0) } - directive2 := func(ctx context.Context) (interface{}, error) { + directive2 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal *GetVersions return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -14898,13 +14590,13 @@ func (ec *executionContext) _Query_checkVersionUploadState(ctx context.Context, ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Query().CheckVersionUploadState(rctx, fc.Args["modId"].(string), fc.Args["versionId"].(string)) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { field, err := ec.unmarshalNString2string(ctx, "modId") if err != nil { var zeroVal *CreateVersionResponse @@ -14916,7 +14608,7 @@ func (ec *executionContext) _Query_checkVersionUploadState(ctx context.Context, } return ec.directives.CanEditMod(ctx, nil, directive0, field) } - directive2 := func(ctx context.Context) (interface{}, error) { + directive2 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal *CreateVersionResponse return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -14990,13 +14682,13 @@ func (ec *executionContext) _Query_getMyVersions(ctx context.Context, field grap ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Query().GetMyVersions(rctx, fc.Args["filter"].(map[string]interface{})) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal *GetMyVersions return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -15073,13 +14765,13 @@ func (ec *executionContext) _Query_getMyUnapprovedVersions(ctx context.Context, ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Query().GetMyUnapprovedVersions(rctx, fc.Args["filter"].(map[string]interface{})) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal *GetMyVersions return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -15156,7 +14848,7 @@ func (ec *executionContext) _Query___type(ctx context.Context, field graphql.Col ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.introspectType(fc.Args["name"].(string)) }) @@ -15186,6 +14878,8 @@ func (ec *executionContext) fieldContext_Query___type(ctx context.Context, field return ec.fieldContext___Type_name(ctx, field) case "description": return ec.fieldContext___Type_description(ctx, field) + case "specifiedByURL": + return ec.fieldContext___Type_specifiedByURL(ctx, field) case "fields": return ec.fieldContext___Type_fields(ctx, field) case "interfaces": @@ -15198,8 +14892,8 @@ func (ec *executionContext) fieldContext_Query___type(ctx context.Context, field return ec.fieldContext___Type_inputFields(ctx, field) case "ofType": return ec.fieldContext___Type_ofType(ctx, field) - case "specifiedByURL": - return ec.fieldContext___Type_specifiedByURL(ctx, field) + case "isOneOf": + return ec.fieldContext___Type_isOneOf(ctx, field) } return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) }, @@ -15230,7 +14924,7 @@ func (ec *executionContext) _Query___schema(ctx context.Context, field graphql.C ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.introspectSchema() }) @@ -15285,7 +14979,7 @@ func (ec *executionContext) _SMLVersion_id(ctx context.Context, field graphql.Co ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.ID, nil }) @@ -15329,7 +15023,7 @@ func (ec *executionContext) _SMLVersion_version(ctx context.Context, field graph ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Version, nil }) @@ -15373,7 +15067,7 @@ func (ec *executionContext) _SMLVersion_satisfactory_version(ctx context.Context ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.SatisfactoryVersion, nil }) @@ -15417,7 +15111,7 @@ func (ec *executionContext) _SMLVersion_stability(ctx context.Context, field gra ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Stability, nil }) @@ -15461,7 +15155,7 @@ func (ec *executionContext) _SMLVersion_link(ctx context.Context, field graphql. ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.SMLVersion().Link(rctx, obj) }) @@ -15505,7 +15199,7 @@ func (ec *executionContext) _SMLVersion_targets(ctx context.Context, field graph ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Targets, nil }) @@ -15557,7 +15251,7 @@ func (ec *executionContext) _SMLVersion_changelog(ctx context.Context, field gra ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Changelog, nil }) @@ -15601,7 +15295,7 @@ func (ec *executionContext) _SMLVersion_date(ctx context.Context, field graphql. ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Date, nil }) @@ -15645,7 +15339,7 @@ func (ec *executionContext) _SMLVersion_bootstrap_version(ctx context.Context, f ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.SMLVersion().BootstrapVersion(rctx, obj) }) @@ -15686,7 +15380,7 @@ func (ec *executionContext) _SMLVersion_engine_version(ctx context.Context, fiel ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.SMLVersion().EngineVersion(rctx, obj) }) @@ -15730,7 +15424,7 @@ func (ec *executionContext) _SMLVersion_updated_at(ctx context.Context, field gr ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.UpdatedAt, nil }) @@ -15774,7 +15468,7 @@ func (ec *executionContext) _SMLVersion_created_at(ctx context.Context, field gr ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.CreatedAt, nil }) @@ -15818,7 +15512,7 @@ func (ec *executionContext) _SMLVersionTarget_VersionID(ctx context.Context, fie ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.VersionID, nil }) @@ -15862,7 +15556,7 @@ func (ec *executionContext) _SMLVersionTarget_targetName(ctx context.Context, fi ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.TargetName, nil }) @@ -15906,7 +15600,7 @@ func (ec *executionContext) _SMLVersionTarget_link(ctx context.Context, field gr ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.SMLVersionTarget().Link(rctx, obj) }) @@ -15950,7 +15644,7 @@ func (ec *executionContext) _SatisfactoryVersion_id(ctx context.Context, field g ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.ID, nil }) @@ -15994,7 +15688,7 @@ func (ec *executionContext) _SatisfactoryVersion_version(ctx context.Context, fi ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Version, nil }) @@ -16038,7 +15732,7 @@ func (ec *executionContext) _SatisfactoryVersion_engine_version(ctx context.Cont ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.EngineVersion, nil }) @@ -16082,7 +15776,7 @@ func (ec *executionContext) _Tag_id(ctx context.Context, field graphql.Collected ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.ID, nil }) @@ -16126,7 +15820,7 @@ func (ec *executionContext) _Tag_name(ctx context.Context, field graphql.Collect ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Name, nil }) @@ -16170,7 +15864,7 @@ func (ec *executionContext) _Tag_description(ctx context.Context, field graphql. ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Description, nil }) @@ -16214,7 +15908,7 @@ func (ec *executionContext) _User_id(ctx context.Context, field graphql.Collecte ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.ID, nil }) @@ -16258,13 +15952,13 @@ func (ec *executionContext) _User_email(ctx context.Context, field graphql.Colle ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Email, nil } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { field, err := ec.unmarshalNString2string(ctx, "ID") if err != nil { var zeroVal *string @@ -16281,7 +15975,7 @@ func (ec *executionContext) _User_email(ctx context.Context, field graphql.Colle } return ec.directives.CanEditUser(ctx, obj, directive0, field, object) } - directive2 := func(ctx context.Context) (interface{}, error) { + directive2 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal *string return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -16338,7 +16032,7 @@ func (ec *executionContext) _User_username(ctx context.Context, field graphql.Co ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Username, nil }) @@ -16382,7 +16076,7 @@ func (ec *executionContext) _User_avatar(ctx context.Context, field graphql.Coll ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Avatar, nil }) @@ -16423,7 +16117,7 @@ func (ec *executionContext) _User_avatar_thumbhash(ctx context.Context, field gr ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.AvatarThumbhash, nil }) @@ -16464,7 +16158,7 @@ func (ec *executionContext) _User_created_at(ctx context.Context, field graphql. ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.CreatedAt, nil }) @@ -16508,13 +16202,13 @@ func (ec *executionContext) _User_github_id(ctx context.Context, field graphql.C ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.GithubID, nil } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { field, err := ec.unmarshalNString2string(ctx, "ID") if err != nil { var zeroVal *string @@ -16531,7 +16225,7 @@ func (ec *executionContext) _User_github_id(ctx context.Context, field graphql.C } return ec.directives.CanEditUser(ctx, obj, directive0, field, object) } - directive2 := func(ctx context.Context) (interface{}, error) { + directive2 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal *string return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -16588,13 +16282,13 @@ func (ec *executionContext) _User_google_id(ctx context.Context, field graphql.C ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.GoogleID, nil } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { field, err := ec.unmarshalNString2string(ctx, "ID") if err != nil { var zeroVal *string @@ -16611,7 +16305,7 @@ func (ec *executionContext) _User_google_id(ctx context.Context, field graphql.C } return ec.directives.CanEditUser(ctx, obj, directive0, field, object) } - directive2 := func(ctx context.Context) (interface{}, error) { + directive2 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal *string return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -16668,13 +16362,13 @@ func (ec *executionContext) _User_facebook_id(ctx context.Context, field graphql ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.FacebookID, nil } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { field, err := ec.unmarshalNString2string(ctx, "ID") if err != nil { var zeroVal *string @@ -16691,7 +16385,7 @@ func (ec *executionContext) _User_facebook_id(ctx context.Context, field graphql } return ec.directives.CanEditUser(ctx, obj, directive0, field, object) } - directive2 := func(ctx context.Context) (interface{}, error) { + directive2 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal *string return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -16748,13 +16442,13 @@ func (ec *executionContext) _User_roles(ctx context.Context, field graphql.Colle ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.User().Roles(rctx, obj) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { field, err := ec.unmarshalNString2string(ctx, "ID") if err != nil { var zeroVal *UserRoles @@ -16771,7 +16465,7 @@ func (ec *executionContext) _User_roles(ctx context.Context, field graphql.Colle } return ec.directives.CanEditUser(ctx, obj, directive0, field, object) } - directive2 := func(ctx context.Context) (interface{}, error) { + directive2 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal *UserRoles return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -16849,13 +16543,13 @@ func (ec *executionContext) _User_groups(ctx context.Context, field graphql.Coll ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { - directive0 := func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.User().Groups(rctx, obj) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { field, err := ec.unmarshalNString2string(ctx, "ID") if err != nil { var zeroVal []*Group @@ -16872,7 +16566,7 @@ func (ec *executionContext) _User_groups(ctx context.Context, field graphql.Coll } return ec.directives.CanEditUser(ctx, obj, directive0, field, object) } - directive2 := func(ctx context.Context) (interface{}, error) { + directive2 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal []*Group return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -16938,7 +16632,7 @@ func (ec *executionContext) _User_mods(ctx context.Context, field graphql.Collec ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.User().Mods(rctx, obj) }) @@ -16994,7 +16688,7 @@ func (ec *executionContext) _User_guides(ctx context.Context, field graphql.Coll ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.User().Guides(rctx, obj) }) @@ -17060,7 +16754,7 @@ func (ec *executionContext) _UserMod_user_id(ctx context.Context, field graphql. ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.UserID, nil }) @@ -17104,7 +16798,7 @@ func (ec *executionContext) _UserMod_mod_id(ctx context.Context, field graphql.C ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.ModID, nil }) @@ -17148,7 +16842,7 @@ func (ec *executionContext) _UserMod_role(ctx context.Context, field graphql.Col ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Role, nil }) @@ -17192,7 +16886,7 @@ func (ec *executionContext) _UserMod_user(ctx context.Context, field graphql.Col ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.UserMod().User(rctx, obj) }) @@ -17264,7 +16958,7 @@ func (ec *executionContext) _UserMod_mod(ctx context.Context, field graphql.Coll ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.UserMod().Mod(rctx, obj) }) @@ -17364,7 +17058,7 @@ func (ec *executionContext) _UserRoles_approveMods(ctx context.Context, field gr ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.ApproveMods, nil }) @@ -17408,7 +17102,7 @@ func (ec *executionContext) _UserRoles_approveVersions(ctx context.Context, fiel ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.ApproveVersions, nil }) @@ -17452,7 +17146,7 @@ func (ec *executionContext) _UserRoles_deleteContent(ctx context.Context, field ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.DeleteContent, nil }) @@ -17496,7 +17190,7 @@ func (ec *executionContext) _UserRoles_editContent(ctx context.Context, field gr ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.EditContent, nil }) @@ -17540,7 +17234,7 @@ func (ec *executionContext) _UserRoles_editUsers(ctx context.Context, field grap ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.EditUsers, nil }) @@ -17584,7 +17278,7 @@ func (ec *executionContext) _UserRoles_editSatisfactoryVersions(ctx context.Cont ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.EditSatisfactoryVersions, nil }) @@ -17628,7 +17322,7 @@ func (ec *executionContext) _UserRoles_editBootstrapVersions(ctx context.Context ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.EditBootstrapVersions, nil }) @@ -17672,7 +17366,7 @@ func (ec *executionContext) _UserRoles_editAnyModCompatibility(ctx context.Conte ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.EditAnyModCompatibility, nil }) @@ -17716,7 +17410,7 @@ func (ec *executionContext) _UserSession_token(ctx context.Context, field graphq ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Token, nil }) @@ -17760,7 +17454,7 @@ func (ec *executionContext) _Version_id(ctx context.Context, field graphql.Colle ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.ID, nil }) @@ -17804,7 +17498,7 @@ func (ec *executionContext) _Version_mod_id(ctx context.Context, field graphql.C ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.ModID, nil }) @@ -17848,7 +17542,7 @@ func (ec *executionContext) _Version_version(ctx context.Context, field graphql. ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Version, nil }) @@ -17892,7 +17586,7 @@ func (ec *executionContext) _Version_sml_version(ctx context.Context, field grap ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Version().SmlVersion(rctx, obj) }) @@ -17936,7 +17630,7 @@ func (ec *executionContext) _Version_game_version(ctx context.Context, field gra ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.GameVersion, nil }) @@ -17980,7 +17674,7 @@ func (ec *executionContext) _Version_required_on_remote(ctx context.Context, fie ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.RequiredOnRemote, nil }) @@ -18024,7 +17718,7 @@ func (ec *executionContext) _Version_changelog(ctx context.Context, field graphq ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Changelog, nil }) @@ -18068,7 +17762,7 @@ func (ec *executionContext) _Version_downloads(ctx context.Context, field graphq ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Downloads, nil }) @@ -18112,7 +17806,7 @@ func (ec *executionContext) _Version_stability(ctx context.Context, field graphq ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Stability, nil }) @@ -18156,7 +17850,7 @@ func (ec *executionContext) _Version_approved(ctx context.Context, field graphql ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Approved, nil }) @@ -18200,7 +17894,7 @@ func (ec *executionContext) _Version_updated_at(ctx context.Context, field graph ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.UpdatedAt, nil }) @@ -18244,7 +17938,7 @@ func (ec *executionContext) _Version_created_at(ctx context.Context, field graph ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.CreatedAt, nil }) @@ -18288,7 +17982,7 @@ func (ec *executionContext) _Version_link(ctx context.Context, field graphql.Col ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Version().Link(rctx, obj) }) @@ -18332,7 +18026,7 @@ func (ec *executionContext) _Version_targets(ctx context.Context, field graphql. ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Targets, nil }) @@ -18388,7 +18082,7 @@ func (ec *executionContext) _Version_metadata(ctx context.Context, field graphql ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Metadata, nil }) @@ -18429,7 +18123,7 @@ func (ec *executionContext) _Version_size(ctx context.Context, field graphql.Col ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Version().Size(rctx, obj) }) @@ -18470,7 +18164,7 @@ func (ec *executionContext) _Version_hash(ctx context.Context, field graphql.Col ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Version().Hash(rctx, obj) }) @@ -18511,7 +18205,7 @@ func (ec *executionContext) _Version_mod(ctx context.Context, field graphql.Coll ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Version().Mod(rctx, obj) }) @@ -18611,7 +18305,7 @@ func (ec *executionContext) _Version_dependencies(ctx context.Context, field gra ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Version().Dependencies(rctx, obj) }) @@ -18671,7 +18365,7 @@ func (ec *executionContext) _Version_virustotal_results(ctx context.Context, fie ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.Version().VirustotalResults(rctx, obj) }) @@ -18731,7 +18425,7 @@ func (ec *executionContext) _VersionDependency_version_id(ctx context.Context, f ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.VersionID, nil }) @@ -18775,7 +18469,7 @@ func (ec *executionContext) _VersionDependency_mod_id(ctx context.Context, field ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.ModID, nil }) @@ -18819,7 +18513,7 @@ func (ec *executionContext) _VersionDependency_condition(ctx context.Context, fi ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Condition, nil }) @@ -18863,7 +18557,7 @@ func (ec *executionContext) _VersionDependency_optional(ctx context.Context, fie ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Optional, nil }) @@ -18907,7 +18601,7 @@ func (ec *executionContext) _VersionDependency_mod_reference(ctx context.Context ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.ModReference, nil }) @@ -18951,7 +18645,7 @@ func (ec *executionContext) _VersionDependency_mod(ctx context.Context, field gr ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.VersionDependency().Mod(rctx, obj) }) @@ -19048,7 +18742,7 @@ func (ec *executionContext) _VersionDependency_version(ctx context.Context, fiel ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Version, nil }) @@ -19131,7 +18825,7 @@ func (ec *executionContext) _VersionTarget_VersionID(ctx context.Context, field ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.VersionID, nil }) @@ -19175,7 +18869,7 @@ func (ec *executionContext) _VersionTarget_targetName(ctx context.Context, field ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.TargetName, nil }) @@ -19219,7 +18913,7 @@ func (ec *executionContext) _VersionTarget_link(ctx context.Context, field graph ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return ec.resolvers.VersionTarget().Link(rctx, obj) }) @@ -19263,7 +18957,7 @@ func (ec *executionContext) _VersionTarget_size(ctx context.Context, field graph ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Size, nil }) @@ -19304,7 +18998,7 @@ func (ec *executionContext) _VersionTarget_hash(ctx context.Context, field graph ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Hash, nil }) @@ -19345,7 +19039,7 @@ func (ec *executionContext) _VirustotalResult_id(ctx context.Context, field grap ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.ID, nil }) @@ -19386,7 +19080,7 @@ func (ec *executionContext) _VirustotalResult_hash(ctx context.Context, field gr ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Hash, nil }) @@ -19430,7 +19124,7 @@ func (ec *executionContext) _VirustotalResult_safe(ctx context.Context, field gr ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Safe, nil }) @@ -19474,7 +19168,7 @@ func (ec *executionContext) _VirustotalResult_file_name(ctx context.Context, fie ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.FileName, nil }) @@ -19518,7 +19212,7 @@ func (ec *executionContext) _VirustotalResult_version_id(ctx context.Context, fi ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.VersionID, nil }) @@ -19562,7 +19256,7 @@ func (ec *executionContext) _VirustotalResult_created_at(ctx context.Context, fi ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.CreatedAt, nil }) @@ -19606,7 +19300,7 @@ func (ec *executionContext) _VirustotalResult_updated_at(ctx context.Context, fi ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.UpdatedAt, nil }) @@ -19647,7 +19341,7 @@ func (ec *executionContext) ___Directive_name(ctx context.Context, field graphql ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Name, nil }) @@ -19691,7 +19385,7 @@ func (ec *executionContext) ___Directive_description(ctx context.Context, field ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Description(), nil }) @@ -19720,8 +19414,8 @@ func (ec *executionContext) fieldContext___Directive_description(_ context.Conte return fc, nil } -func (ec *executionContext) ___Directive_locations(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Directive_locations(ctx, field) +func (ec *executionContext) ___Directive_isRepeatable(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Directive_isRepeatable(ctx, field) if err != nil { return graphql.Null } @@ -19732,9 +19426,9 @@ func (ec *executionContext) ___Directive_locations(ctx context.Context, field gr ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children - return obj.Locations, nil + return obj.IsRepeatable, nil }) if err != nil { ec.Error(ctx, err) @@ -19746,26 +19440,26 @@ func (ec *executionContext) ___Directive_locations(ctx context.Context, field gr } return graphql.Null } - res := resTmp.([]string) + res := resTmp.(bool) fc.Result = res - return ec.marshalN__DirectiveLocation2ᚕstringᚄ(ctx, field.Selections, res) + return ec.marshalNBoolean2bool(ctx, field.Selections, res) } -func (ec *executionContext) fieldContext___Directive_locations(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { +func (ec *executionContext) fieldContext___Directive_isRepeatable(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { fc = &graphql.FieldContext{ Object: "__Directive", Field: field, IsMethod: false, IsResolver: false, Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type __DirectiveLocation does not have child fields") + return nil, errors.New("field of type Boolean does not have child fields") }, } return fc, nil } -func (ec *executionContext) ___Directive_args(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Directive_args(ctx, field) +func (ec *executionContext) ___Directive_locations(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Directive_locations(ctx, field) if err != nil { return graphql.Null } @@ -19776,9 +19470,9 @@ func (ec *executionContext) ___Directive_args(ctx context.Context, field graphql ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children - return obj.Args, nil + return obj.Locations, nil }) if err != nil { ec.Error(ctx, err) @@ -19790,36 +19484,26 @@ func (ec *executionContext) ___Directive_args(ctx context.Context, field graphql } return graphql.Null } - res := resTmp.([]introspection.InputValue) + res := resTmp.([]string) fc.Result = res - return ec.marshalN__InputValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValueᚄ(ctx, field.Selections, res) + return ec.marshalN__DirectiveLocation2ᚕstringᚄ(ctx, field.Selections, res) } -func (ec *executionContext) fieldContext___Directive_args(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { +func (ec *executionContext) fieldContext___Directive_locations(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { fc = &graphql.FieldContext{ Object: "__Directive", Field: field, IsMethod: false, IsResolver: false, Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "name": - return ec.fieldContext___InputValue_name(ctx, field) - case "description": - return ec.fieldContext___InputValue_description(ctx, field) - case "type": - return ec.fieldContext___InputValue_type(ctx, field) - case "defaultValue": - return ec.fieldContext___InputValue_defaultValue(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type __InputValue", field.Name) + return nil, errors.New("field of type __DirectiveLocation does not have child fields") }, } return fc, nil } -func (ec *executionContext) ___Directive_isRepeatable(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Directive_isRepeatable(ctx, field) +func (ec *executionContext) ___Directive_args(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Directive_args(ctx, field) if err != nil { return graphql.Null } @@ -19830,9 +19514,9 @@ func (ec *executionContext) ___Directive_isRepeatable(ctx context.Context, field ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children - return obj.IsRepeatable, nil + return obj.Args, nil }) if err != nil { ec.Error(ctx, err) @@ -19844,21 +19528,46 @@ func (ec *executionContext) ___Directive_isRepeatable(ctx context.Context, field } return graphql.Null } - res := resTmp.(bool) + res := resTmp.([]introspection.InputValue) fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) + return ec.marshalN__InputValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValueᚄ(ctx, field.Selections, res) } -func (ec *executionContext) fieldContext___Directive_isRepeatable(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { +func (ec *executionContext) fieldContext___Directive_args(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { fc = &graphql.FieldContext{ Object: "__Directive", Field: field, IsMethod: false, IsResolver: false, Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") + switch field.Name { + case "name": + return ec.fieldContext___InputValue_name(ctx, field) + case "description": + return ec.fieldContext___InputValue_description(ctx, field) + case "type": + return ec.fieldContext___InputValue_type(ctx, field) + case "defaultValue": + return ec.fieldContext___InputValue_defaultValue(ctx, field) + case "isDeprecated": + return ec.fieldContext___InputValue_isDeprecated(ctx, field) + case "deprecationReason": + return ec.fieldContext___InputValue_deprecationReason(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type __InputValue", field.Name) }, } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field___Directive_args_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } return fc, nil } @@ -19874,7 +19583,7 @@ func (ec *executionContext) ___EnumValue_name(ctx context.Context, field graphql ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Name, nil }) @@ -19918,7 +19627,7 @@ func (ec *executionContext) ___EnumValue_description(ctx context.Context, field ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Description(), nil }) @@ -19959,7 +19668,7 @@ func (ec *executionContext) ___EnumValue_isDeprecated(ctx context.Context, field ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.IsDeprecated(), nil }) @@ -20003,7 +19712,7 @@ func (ec *executionContext) ___EnumValue_deprecationReason(ctx context.Context, ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.DeprecationReason(), nil }) @@ -20044,7 +19753,7 @@ func (ec *executionContext) ___Field_name(ctx context.Context, field graphql.Col ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Name, nil }) @@ -20088,7 +19797,7 @@ func (ec *executionContext) ___Field_description(ctx context.Context, field grap ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Description(), nil }) @@ -20129,7 +19838,7 @@ func (ec *executionContext) ___Field_args(ctx context.Context, field graphql.Col ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Args, nil }) @@ -20148,7 +19857,7 @@ func (ec *executionContext) ___Field_args(ctx context.Context, field graphql.Col return ec.marshalN__InputValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValueᚄ(ctx, field.Selections, res) } -func (ec *executionContext) fieldContext___Field_args(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { +func (ec *executionContext) fieldContext___Field_args(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { fc = &graphql.FieldContext{ Object: "__Field", Field: field, @@ -20164,10 +19873,25 @@ func (ec *executionContext) fieldContext___Field_args(_ context.Context, field g return ec.fieldContext___InputValue_type(ctx, field) case "defaultValue": return ec.fieldContext___InputValue_defaultValue(ctx, field) + case "isDeprecated": + return ec.fieldContext___InputValue_isDeprecated(ctx, field) + case "deprecationReason": + return ec.fieldContext___InputValue_deprecationReason(ctx, field) } return nil, fmt.Errorf("no field named %q was found under type __InputValue", field.Name) }, } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field___Field_args_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } return fc, nil } @@ -20183,7 +19907,7 @@ func (ec *executionContext) ___Field_type(ctx context.Context, field graphql.Col ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Type, nil }) @@ -20216,6 +19940,8 @@ func (ec *executionContext) fieldContext___Field_type(_ context.Context, field g return ec.fieldContext___Type_name(ctx, field) case "description": return ec.fieldContext___Type_description(ctx, field) + case "specifiedByURL": + return ec.fieldContext___Type_specifiedByURL(ctx, field) case "fields": return ec.fieldContext___Type_fields(ctx, field) case "interfaces": @@ -20228,8 +19954,8 @@ func (ec *executionContext) fieldContext___Field_type(_ context.Context, field g return ec.fieldContext___Type_inputFields(ctx, field) case "ofType": return ec.fieldContext___Type_ofType(ctx, field) - case "specifiedByURL": - return ec.fieldContext___Type_specifiedByURL(ctx, field) + case "isOneOf": + return ec.fieldContext___Type_isOneOf(ctx, field) } return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) }, @@ -20249,7 +19975,7 @@ func (ec *executionContext) ___Field_isDeprecated(ctx context.Context, field gra ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.IsDeprecated(), nil }) @@ -20293,7 +20019,7 @@ func (ec *executionContext) ___Field_deprecationReason(ctx context.Context, fiel ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.DeprecationReason(), nil }) @@ -20334,7 +20060,7 @@ func (ec *executionContext) ___InputValue_name(ctx context.Context, field graphq ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Name, nil }) @@ -20378,7 +20104,7 @@ func (ec *executionContext) ___InputValue_description(ctx context.Context, field ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Description(), nil }) @@ -20419,7 +20145,7 @@ func (ec *executionContext) ___InputValue_type(ctx context.Context, field graphq ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Type, nil }) @@ -20452,6 +20178,8 @@ func (ec *executionContext) fieldContext___InputValue_type(_ context.Context, fi return ec.fieldContext___Type_name(ctx, field) case "description": return ec.fieldContext___Type_description(ctx, field) + case "specifiedByURL": + return ec.fieldContext___Type_specifiedByURL(ctx, field) case "fields": return ec.fieldContext___Type_fields(ctx, field) case "interfaces": @@ -20464,8 +20192,8 @@ func (ec *executionContext) fieldContext___InputValue_type(_ context.Context, fi return ec.fieldContext___Type_inputFields(ctx, field) case "ofType": return ec.fieldContext___Type_ofType(ctx, field) - case "specifiedByURL": - return ec.fieldContext___Type_specifiedByURL(ctx, field) + case "isOneOf": + return ec.fieldContext___Type_isOneOf(ctx, field) } return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) }, @@ -20485,7 +20213,7 @@ func (ec *executionContext) ___InputValue_defaultValue(ctx context.Context, fiel ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.DefaultValue, nil }) @@ -20514,6 +20242,91 @@ func (ec *executionContext) fieldContext___InputValue_defaultValue(_ context.Con return fc, nil } +func (ec *executionContext) ___InputValue_isDeprecated(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___InputValue_isDeprecated(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.IsDeprecated(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___InputValue_isDeprecated(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__InputValue", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___InputValue_deprecationReason(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___InputValue_deprecationReason(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.DeprecationReason(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___InputValue_deprecationReason(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__InputValue", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + func (ec *executionContext) ___Schema_description(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) (ret graphql.Marshaler) { fc, err := ec.fieldContext___Schema_description(ctx, field) if err != nil { @@ -20526,7 +20339,7 @@ func (ec *executionContext) ___Schema_description(ctx context.Context, field gra ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Description(), nil }) @@ -20567,7 +20380,7 @@ func (ec *executionContext) ___Schema_types(ctx context.Context, field graphql.C ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Types(), nil }) @@ -20600,6 +20413,8 @@ func (ec *executionContext) fieldContext___Schema_types(_ context.Context, field return ec.fieldContext___Type_name(ctx, field) case "description": return ec.fieldContext___Type_description(ctx, field) + case "specifiedByURL": + return ec.fieldContext___Type_specifiedByURL(ctx, field) case "fields": return ec.fieldContext___Type_fields(ctx, field) case "interfaces": @@ -20612,8 +20427,8 @@ func (ec *executionContext) fieldContext___Schema_types(_ context.Context, field return ec.fieldContext___Type_inputFields(ctx, field) case "ofType": return ec.fieldContext___Type_ofType(ctx, field) - case "specifiedByURL": - return ec.fieldContext___Type_specifiedByURL(ctx, field) + case "isOneOf": + return ec.fieldContext___Type_isOneOf(ctx, field) } return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) }, @@ -20633,7 +20448,7 @@ func (ec *executionContext) ___Schema_queryType(ctx context.Context, field graph ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.QueryType(), nil }) @@ -20666,6 +20481,8 @@ func (ec *executionContext) fieldContext___Schema_queryType(_ context.Context, f return ec.fieldContext___Type_name(ctx, field) case "description": return ec.fieldContext___Type_description(ctx, field) + case "specifiedByURL": + return ec.fieldContext___Type_specifiedByURL(ctx, field) case "fields": return ec.fieldContext___Type_fields(ctx, field) case "interfaces": @@ -20678,8 +20495,8 @@ func (ec *executionContext) fieldContext___Schema_queryType(_ context.Context, f return ec.fieldContext___Type_inputFields(ctx, field) case "ofType": return ec.fieldContext___Type_ofType(ctx, field) - case "specifiedByURL": - return ec.fieldContext___Type_specifiedByURL(ctx, field) + case "isOneOf": + return ec.fieldContext___Type_isOneOf(ctx, field) } return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) }, @@ -20699,7 +20516,7 @@ func (ec *executionContext) ___Schema_mutationType(ctx context.Context, field gr ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.MutationType(), nil }) @@ -20729,6 +20546,8 @@ func (ec *executionContext) fieldContext___Schema_mutationType(_ context.Context return ec.fieldContext___Type_name(ctx, field) case "description": return ec.fieldContext___Type_description(ctx, field) + case "specifiedByURL": + return ec.fieldContext___Type_specifiedByURL(ctx, field) case "fields": return ec.fieldContext___Type_fields(ctx, field) case "interfaces": @@ -20741,8 +20560,8 @@ func (ec *executionContext) fieldContext___Schema_mutationType(_ context.Context return ec.fieldContext___Type_inputFields(ctx, field) case "ofType": return ec.fieldContext___Type_ofType(ctx, field) - case "specifiedByURL": - return ec.fieldContext___Type_specifiedByURL(ctx, field) + case "isOneOf": + return ec.fieldContext___Type_isOneOf(ctx, field) } return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) }, @@ -20762,7 +20581,7 @@ func (ec *executionContext) ___Schema_subscriptionType(ctx context.Context, fiel ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.SubscriptionType(), nil }) @@ -20792,6 +20611,8 @@ func (ec *executionContext) fieldContext___Schema_subscriptionType(_ context.Con return ec.fieldContext___Type_name(ctx, field) case "description": return ec.fieldContext___Type_description(ctx, field) + case "specifiedByURL": + return ec.fieldContext___Type_specifiedByURL(ctx, field) case "fields": return ec.fieldContext___Type_fields(ctx, field) case "interfaces": @@ -20804,8 +20625,8 @@ func (ec *executionContext) fieldContext___Schema_subscriptionType(_ context.Con return ec.fieldContext___Type_inputFields(ctx, field) case "ofType": return ec.fieldContext___Type_ofType(ctx, field) - case "specifiedByURL": - return ec.fieldContext___Type_specifiedByURL(ctx, field) + case "isOneOf": + return ec.fieldContext___Type_isOneOf(ctx, field) } return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) }, @@ -20825,7 +20646,7 @@ func (ec *executionContext) ___Schema_directives(ctx context.Context, field grap ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Directives(), nil }) @@ -20856,12 +20677,12 @@ func (ec *executionContext) fieldContext___Schema_directives(_ context.Context, return ec.fieldContext___Directive_name(ctx, field) case "description": return ec.fieldContext___Directive_description(ctx, field) + case "isRepeatable": + return ec.fieldContext___Directive_isRepeatable(ctx, field) case "locations": return ec.fieldContext___Directive_locations(ctx, field) case "args": return ec.fieldContext___Directive_args(ctx, field) - case "isRepeatable": - return ec.fieldContext___Directive_isRepeatable(ctx, field) } return nil, fmt.Errorf("no field named %q was found under type __Directive", field.Name) }, @@ -20881,7 +20702,7 @@ func (ec *executionContext) ___Type_kind(ctx context.Context, field graphql.Coll ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Kind(), nil }) @@ -20925,7 +20746,7 @@ func (ec *executionContext) ___Type_name(ctx context.Context, field graphql.Coll ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Name(), nil }) @@ -20966,7 +20787,7 @@ func (ec *executionContext) ___Type_description(ctx context.Context, field graph ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Description(), nil }) @@ -20995,6 +20816,47 @@ func (ec *executionContext) fieldContext___Type_description(_ context.Context, f return fc, nil } +func (ec *executionContext) ___Type_specifiedByURL(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Type_specifiedByURL(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.SpecifiedByURL(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Type_specifiedByURL(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Type", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + func (ec *executionContext) ___Type_fields(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { fc, err := ec.fieldContext___Type_fields(ctx, field) if err != nil { @@ -21007,7 +20869,7 @@ func (ec *executionContext) ___Type_fields(ctx context.Context, field graphql.Co ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Fields(fc.Args["includeDeprecated"].(bool)), nil }) @@ -21073,7 +20935,7 @@ func (ec *executionContext) ___Type_interfaces(ctx context.Context, field graphq ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.Interfaces(), nil }) @@ -21103,6 +20965,8 @@ func (ec *executionContext) fieldContext___Type_interfaces(_ context.Context, fi return ec.fieldContext___Type_name(ctx, field) case "description": return ec.fieldContext___Type_description(ctx, field) + case "specifiedByURL": + return ec.fieldContext___Type_specifiedByURL(ctx, field) case "fields": return ec.fieldContext___Type_fields(ctx, field) case "interfaces": @@ -21115,8 +20979,8 @@ func (ec *executionContext) fieldContext___Type_interfaces(_ context.Context, fi return ec.fieldContext___Type_inputFields(ctx, field) case "ofType": return ec.fieldContext___Type_ofType(ctx, field) - case "specifiedByURL": - return ec.fieldContext___Type_specifiedByURL(ctx, field) + case "isOneOf": + return ec.fieldContext___Type_isOneOf(ctx, field) } return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) }, @@ -21136,7 +21000,7 @@ func (ec *executionContext) ___Type_possibleTypes(ctx context.Context, field gra ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.PossibleTypes(), nil }) @@ -21166,6 +21030,8 @@ func (ec *executionContext) fieldContext___Type_possibleTypes(_ context.Context, return ec.fieldContext___Type_name(ctx, field) case "description": return ec.fieldContext___Type_description(ctx, field) + case "specifiedByURL": + return ec.fieldContext___Type_specifiedByURL(ctx, field) case "fields": return ec.fieldContext___Type_fields(ctx, field) case "interfaces": @@ -21178,8 +21044,8 @@ func (ec *executionContext) fieldContext___Type_possibleTypes(_ context.Context, return ec.fieldContext___Type_inputFields(ctx, field) case "ofType": return ec.fieldContext___Type_ofType(ctx, field) - case "specifiedByURL": - return ec.fieldContext___Type_specifiedByURL(ctx, field) + case "isOneOf": + return ec.fieldContext___Type_isOneOf(ctx, field) } return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) }, @@ -21199,7 +21065,7 @@ func (ec *executionContext) ___Type_enumValues(ctx context.Context, field graphq ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.EnumValues(fc.Args["includeDeprecated"].(bool)), nil }) @@ -21261,7 +21127,7 @@ func (ec *executionContext) ___Type_inputFields(ctx context.Context, field graph ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.InputFields(), nil }) @@ -21293,6 +21159,10 @@ func (ec *executionContext) fieldContext___Type_inputFields(_ context.Context, f return ec.fieldContext___InputValue_type(ctx, field) case "defaultValue": return ec.fieldContext___InputValue_defaultValue(ctx, field) + case "isDeprecated": + return ec.fieldContext___InputValue_isDeprecated(ctx, field) + case "deprecationReason": + return ec.fieldContext___InputValue_deprecationReason(ctx, field) } return nil, fmt.Errorf("no field named %q was found under type __InputValue", field.Name) }, @@ -21312,7 +21182,7 @@ func (ec *executionContext) ___Type_ofType(ctx context.Context, field graphql.Co ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children return obj.OfType(), nil }) @@ -21342,6 +21212,8 @@ func (ec *executionContext) fieldContext___Type_ofType(_ context.Context, field return ec.fieldContext___Type_name(ctx, field) case "description": return ec.fieldContext___Type_description(ctx, field) + case "specifiedByURL": + return ec.fieldContext___Type_specifiedByURL(ctx, field) case "fields": return ec.fieldContext___Type_fields(ctx, field) case "interfaces": @@ -21354,8 +21226,8 @@ func (ec *executionContext) fieldContext___Type_ofType(_ context.Context, field return ec.fieldContext___Type_inputFields(ctx, field) case "ofType": return ec.fieldContext___Type_ofType(ctx, field) - case "specifiedByURL": - return ec.fieldContext___Type_specifiedByURL(ctx, field) + case "isOneOf": + return ec.fieldContext___Type_isOneOf(ctx, field) } return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) }, @@ -21363,8 +21235,8 @@ func (ec *executionContext) fieldContext___Type_ofType(_ context.Context, field return fc, nil } -func (ec *executionContext) ___Type_specifiedByURL(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Type_specifiedByURL(ctx, field) +func (ec *executionContext) ___Type_isOneOf(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Type_isOneOf(ctx, field) if err != nil { return graphql.Null } @@ -21375,9 +21247,9 @@ func (ec *executionContext) ___Type_specifiedByURL(ctx context.Context, field gr ret = graphql.Null } }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) { + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children - return obj.SpecifiedByURL(), nil + return obj.IsOneOf(), nil }) if err != nil { ec.Error(ctx, err) @@ -21386,19 +21258,19 @@ func (ec *executionContext) ___Type_specifiedByURL(ctx context.Context, field gr if resTmp == nil { return graphql.Null } - res := resTmp.(*string) + res := resTmp.(bool) fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) + return ec.marshalOBoolean2bool(ctx, field.Selections, res) } -func (ec *executionContext) fieldContext___Type_specifiedByURL(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { +func (ec *executionContext) fieldContext___Type_isOneOf(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { fc = &graphql.FieldContext{ Object: "__Type", Field: field, IsMethod: true, IsResolver: false, Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") + return nil, errors.New("field of type Boolean does not have child fields") }, } return fc, nil @@ -21408,10 +21280,10 @@ func (ec *executionContext) fieldContext___Type_specifiedByURL(_ context.Context // region **************************** input.gotpl ***************************** -func (ec *executionContext) unmarshalInputCompatibilityInfoInput(ctx context.Context, obj interface{}) (CompatibilityInfoInput, error) { +func (ec *executionContext) unmarshalInputCompatibilityInfoInput(ctx context.Context, obj any) (CompatibilityInfoInput, error) { var it CompatibilityInfoInput - asMap := map[string]interface{}{} - for k, v := range obj.(map[string]interface{}) { + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { asMap[k] = v } @@ -21449,10 +21321,10 @@ func (ec *executionContext) unmarshalInputCompatibilityInfoInput(ctx context.Con return it, nil } -func (ec *executionContext) unmarshalInputCompatibilityInput(ctx context.Context, obj interface{}) (CompatibilityInput, error) { +func (ec *executionContext) unmarshalInputCompatibilityInput(ctx context.Context, obj any) (CompatibilityInput, error) { var it CompatibilityInput - asMap := map[string]interface{}{} - for k, v := range obj.(map[string]interface{}) { + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { asMap[k] = v } @@ -21483,10 +21355,10 @@ func (ec *executionContext) unmarshalInputCompatibilityInput(ctx context.Context return it, nil } -func (ec *executionContext) unmarshalInputControllerCompatibilityInput(ctx context.Context, obj interface{}) (ControllerCompatibilityInput, error) { +func (ec *executionContext) unmarshalInputControllerCompatibilityInput(ctx context.Context, obj any) (ControllerCompatibilityInput, error) { var it ControllerCompatibilityInput - asMap := map[string]interface{}{} - for k, v := range obj.(map[string]interface{}) { + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { asMap[k] = v } @@ -21517,10 +21389,10 @@ func (ec *executionContext) unmarshalInputControllerCompatibilityInput(ctx conte return it, nil } -func (ec *executionContext) unmarshalInputGuideFilter(ctx context.Context, obj interface{}) (map[string]interface{}, error) { - it := make(map[string]interface{}, len(obj.(map[string]interface{}))) - asMap := map[string]interface{}{} - for k, v := range obj.(map[string]interface{}) { +func (ec *executionContext) unmarshalInputGuideFilter(ctx context.Context, obj any) (map[string]any, error) { + it := make(map[string]any, len(obj.(map[string]any))) + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { asMap[k] = v } @@ -21586,10 +21458,10 @@ func (ec *executionContext) unmarshalInputGuideFilter(ctx context.Context, obj i return it, nil } -func (ec *executionContext) unmarshalInputModFilter(ctx context.Context, obj interface{}) (map[string]interface{}, error) { - it := make(map[string]interface{}, len(obj.(map[string]interface{}))) - asMap := map[string]interface{}{} - for k, v := range obj.(map[string]interface{}) { +func (ec *executionContext) unmarshalInputModFilter(ctx context.Context, obj any) (map[string]any, error) { + it := make(map[string]any, len(obj.(map[string]any))) + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { asMap[k] = v } @@ -21669,10 +21541,10 @@ func (ec *executionContext) unmarshalInputModFilter(ctx context.Context, obj int return it, nil } -func (ec *executionContext) unmarshalInputModVersionConstraint(ctx context.Context, obj interface{}) (ModVersionConstraint, error) { +func (ec *executionContext) unmarshalInputModVersionConstraint(ctx context.Context, obj any) (ModVersionConstraint, error) { var it ModVersionConstraint - asMap := map[string]interface{}{} - for k, v := range obj.(map[string]interface{}) { + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { asMap[k] = v } @@ -21703,10 +21575,10 @@ func (ec *executionContext) unmarshalInputModVersionConstraint(ctx context.Conte return it, nil } -func (ec *executionContext) unmarshalInputNewAnnouncement(ctx context.Context, obj interface{}) (NewAnnouncement, error) { +func (ec *executionContext) unmarshalInputNewAnnouncement(ctx context.Context, obj any) (NewAnnouncement, error) { var it NewAnnouncement - asMap := map[string]interface{}{} - for k, v := range obj.(map[string]interface{}) { + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { asMap[k] = v } @@ -21737,10 +21609,10 @@ func (ec *executionContext) unmarshalInputNewAnnouncement(ctx context.Context, o return it, nil } -func (ec *executionContext) unmarshalInputNewGuide(ctx context.Context, obj interface{}) (NewGuide, error) { +func (ec *executionContext) unmarshalInputNewGuide(ctx context.Context, obj any) (NewGuide, error) { var it NewGuide - asMap := map[string]interface{}{} - for k, v := range obj.(map[string]interface{}) { + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { asMap[k] = v } @@ -21785,10 +21657,10 @@ func (ec *executionContext) unmarshalInputNewGuide(ctx context.Context, obj inte return it, nil } -func (ec *executionContext) unmarshalInputNewMod(ctx context.Context, obj interface{}) (NewMod, error) { +func (ec *executionContext) unmarshalInputNewMod(ctx context.Context, obj any) (NewMod, error) { var it NewMod - asMap := map[string]interface{}{} - for k, v := range obj.(map[string]interface{}) { + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { asMap[k] = v } @@ -21875,10 +21747,10 @@ func (ec *executionContext) unmarshalInputNewMod(ctx context.Context, obj interf return it, nil } -func (ec *executionContext) unmarshalInputNewSatisfactoryVersion(ctx context.Context, obj interface{}) (NewSatisfactoryVersion, error) { +func (ec *executionContext) unmarshalInputNewSatisfactoryVersion(ctx context.Context, obj any) (NewSatisfactoryVersion, error) { var it NewSatisfactoryVersion - asMap := map[string]interface{}{} - for k, v := range obj.(map[string]interface{}) { + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { asMap[k] = v } @@ -21909,10 +21781,10 @@ func (ec *executionContext) unmarshalInputNewSatisfactoryVersion(ctx context.Con return it, nil } -func (ec *executionContext) unmarshalInputNewTag(ctx context.Context, obj interface{}) (NewTag, error) { +func (ec *executionContext) unmarshalInputNewTag(ctx context.Context, obj any) (NewTag, error) { var it NewTag - asMap := map[string]interface{}{} - for k, v := range obj.(map[string]interface{}) { + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { asMap[k] = v } @@ -21943,10 +21815,10 @@ func (ec *executionContext) unmarshalInputNewTag(ctx context.Context, obj interf return it, nil } -func (ec *executionContext) unmarshalInputNewVersion(ctx context.Context, obj interface{}) (NewVersion, error) { +func (ec *executionContext) unmarshalInputNewVersion(ctx context.Context, obj any) (NewVersion, error) { var it NewVersion - asMap := map[string]interface{}{} - for k, v := range obj.(map[string]interface{}) { + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { asMap[k] = v } @@ -21977,10 +21849,10 @@ func (ec *executionContext) unmarshalInputNewVersion(ctx context.Context, obj in return it, nil } -func (ec *executionContext) unmarshalInputSMLVersionFilter(ctx context.Context, obj interface{}) (map[string]interface{}, error) { - it := make(map[string]interface{}, len(obj.(map[string]interface{}))) - asMap := map[string]interface{}{} - for k, v := range obj.(map[string]interface{}) { +func (ec *executionContext) unmarshalInputSMLVersionFilter(ctx context.Context, obj any) (map[string]any, error) { + it := make(map[string]any, len(obj.(map[string]any))) + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { asMap[k] = v } @@ -22039,10 +21911,10 @@ func (ec *executionContext) unmarshalInputSMLVersionFilter(ctx context.Context, return it, nil } -func (ec *executionContext) unmarshalInputTagFilter(ctx context.Context, obj interface{}) (TagFilter, error) { +func (ec *executionContext) unmarshalInputTagFilter(ctx context.Context, obj any) (TagFilter, error) { var it TagFilter - asMap := map[string]interface{}{} - for k, v := range obj.(map[string]interface{}) { + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { asMap[k] = v } @@ -22094,10 +21966,10 @@ func (ec *executionContext) unmarshalInputTagFilter(ctx context.Context, obj int return it, nil } -func (ec *executionContext) unmarshalInputUpdateAnnouncement(ctx context.Context, obj interface{}) (UpdateAnnouncement, error) { +func (ec *executionContext) unmarshalInputUpdateAnnouncement(ctx context.Context, obj any) (UpdateAnnouncement, error) { var it UpdateAnnouncement - asMap := map[string]interface{}{} - for k, v := range obj.(map[string]interface{}) { + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { asMap[k] = v } @@ -22128,10 +22000,10 @@ func (ec *executionContext) unmarshalInputUpdateAnnouncement(ctx context.Context return it, nil } -func (ec *executionContext) unmarshalInputUpdateGuide(ctx context.Context, obj interface{}) (UpdateGuide, error) { +func (ec *executionContext) unmarshalInputUpdateGuide(ctx context.Context, obj any) (UpdateGuide, error) { var it UpdateGuide - asMap := map[string]interface{}{} - for k, v := range obj.(map[string]interface{}) { + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { asMap[k] = v } @@ -22176,10 +22048,10 @@ func (ec *executionContext) unmarshalInputUpdateGuide(ctx context.Context, obj i return it, nil } -func (ec *executionContext) unmarshalInputUpdateMod(ctx context.Context, obj interface{}) (UpdateMod, error) { +func (ec *executionContext) unmarshalInputUpdateMod(ctx context.Context, obj any) (UpdateMod, error) { var it UpdateMod - asMap := map[string]interface{}{} - for k, v := range obj.(map[string]interface{}) { + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { asMap[k] = v } @@ -22287,10 +22159,10 @@ func (ec *executionContext) unmarshalInputUpdateMod(ctx context.Context, obj int return it, nil } -func (ec *executionContext) unmarshalInputUpdateSatisfactoryVersion(ctx context.Context, obj interface{}) (UpdateSatisfactoryVersion, error) { +func (ec *executionContext) unmarshalInputUpdateSatisfactoryVersion(ctx context.Context, obj any) (UpdateSatisfactoryVersion, error) { var it UpdateSatisfactoryVersion - asMap := map[string]interface{}{} - for k, v := range obj.(map[string]interface{}) { + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { asMap[k] = v } @@ -22321,10 +22193,10 @@ func (ec *executionContext) unmarshalInputUpdateSatisfactoryVersion(ctx context. return it, nil } -func (ec *executionContext) unmarshalInputUpdateUser(ctx context.Context, obj interface{}) (UpdateUser, error) { +func (ec *executionContext) unmarshalInputUpdateUser(ctx context.Context, obj any) (UpdateUser, error) { var it UpdateUser - asMap := map[string]interface{}{} - for k, v := range obj.(map[string]interface{}) { + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { asMap[k] = v } @@ -22344,16 +22216,16 @@ func (ec *executionContext) unmarshalInputUpdateUser(ctx context.Context, obj in it.Avatar = data case "groups": ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("groups")) - directive0 := func(ctx context.Context) (interface{}, error) { return ec.unmarshalOString2ᚕstringᚄ(ctx, v) } + directive0 := func(ctx context.Context) (any, error) { return ec.unmarshalOString2ᚕstringᚄ(ctx, v) } - directive1 := func(ctx context.Context) (interface{}, error) { + directive1 := func(ctx context.Context) (any, error) { if ec.directives.CanEditUsers == nil { var zeroVal []string return zeroVal, errors.New("directive canEditUsers is not implemented") } return ec.directives.CanEditUsers(ctx, obj, directive0) } - directive2 := func(ctx context.Context) (interface{}, error) { + directive2 := func(ctx context.Context) (any, error) { if ec.directives.IsLoggedIn == nil { var zeroVal []string return zeroVal, errors.New("directive isLoggedIn is not implemented") @@ -22386,10 +22258,10 @@ func (ec *executionContext) unmarshalInputUpdateUser(ctx context.Context, obj in return it, nil } -func (ec *executionContext) unmarshalInputUpdateUserMod(ctx context.Context, obj interface{}) (UpdateUserMod, error) { +func (ec *executionContext) unmarshalInputUpdateUserMod(ctx context.Context, obj any) (UpdateUserMod, error) { var it UpdateUserMod - asMap := map[string]interface{}{} - for k, v := range obj.(map[string]interface{}) { + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { asMap[k] = v } @@ -22420,10 +22292,10 @@ func (ec *executionContext) unmarshalInputUpdateUserMod(ctx context.Context, obj return it, nil } -func (ec *executionContext) unmarshalInputUpdateVersion(ctx context.Context, obj interface{}) (UpdateVersion, error) { +func (ec *executionContext) unmarshalInputUpdateVersion(ctx context.Context, obj any) (UpdateVersion, error) { var it UpdateVersion - asMap := map[string]interface{}{} - for k, v := range obj.(map[string]interface{}) { + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { asMap[k] = v } @@ -22454,10 +22326,10 @@ func (ec *executionContext) unmarshalInputUpdateVersion(ctx context.Context, obj return it, nil } -func (ec *executionContext) unmarshalInputVersionFilter(ctx context.Context, obj interface{}) (map[string]interface{}, error) { - it := make(map[string]interface{}, len(obj.(map[string]interface{}))) - asMap := map[string]interface{}{} - for k, v := range obj.(map[string]interface{}) { +func (ec *executionContext) unmarshalInputVersionFilter(ctx context.Context, obj any) (map[string]any, error) { + it := make(map[string]any, len(obj.(map[string]any))) + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { asMap[k] = v } @@ -26269,6 +26141,11 @@ func (ec *executionContext) ___Directive(ctx context.Context, sel ast.SelectionS } case "description": out.Values[i] = ec.___Directive_description(ctx, field, obj) + case "isRepeatable": + out.Values[i] = ec.___Directive_isRepeatable(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } case "locations": out.Values[i] = ec.___Directive_locations(ctx, field, obj) if out.Values[i] == graphql.Null { @@ -26279,11 +26156,6 @@ func (ec *executionContext) ___Directive(ctx context.Context, sel ast.SelectionS if out.Values[i] == graphql.Null { out.Invalids++ } - case "isRepeatable": - out.Values[i] = ec.___Directive_isRepeatable(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } default: panic("unknown field " + strconv.Quote(field.Name)) } @@ -26438,6 +26310,13 @@ func (ec *executionContext) ___InputValue(ctx context.Context, sel ast.Selection } case "defaultValue": out.Values[i] = ec.___InputValue_defaultValue(ctx, field, obj) + case "isDeprecated": + out.Values[i] = ec.___InputValue_isDeprecated(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "deprecationReason": + out.Values[i] = ec.___InputValue_deprecationReason(ctx, field, obj) default: panic("unknown field " + strconv.Quote(field.Name)) } @@ -26536,6 +26415,8 @@ func (ec *executionContext) ___Type(ctx context.Context, sel ast.SelectionSet, o out.Values[i] = ec.___Type_name(ctx, field, obj) case "description": out.Values[i] = ec.___Type_description(ctx, field, obj) + case "specifiedByURL": + out.Values[i] = ec.___Type_specifiedByURL(ctx, field, obj) case "fields": out.Values[i] = ec.___Type_fields(ctx, field, obj) case "interfaces": @@ -26548,8 +26429,8 @@ func (ec *executionContext) ___Type(ctx context.Context, sel ast.SelectionSet, o out.Values[i] = ec.___Type_inputFields(ctx, field, obj) case "ofType": out.Values[i] = ec.___Type_ofType(ctx, field, obj) - case "specifiedByURL": - out.Values[i] = ec.___Type_specifiedByURL(ctx, field, obj) + case "isOneOf": + out.Values[i] = ec.___Type_isOneOf(ctx, field, obj) default: panic("unknown field " + strconv.Quote(field.Name)) } @@ -26635,12 +26516,13 @@ func (ec *executionContext) marshalNAnnouncement2ᚖgithubᚗcomᚋsatisfactorym return ec._Announcement(ctx, sel, v) } -func (ec *executionContext) unmarshalNAnnouncementID2string(ctx context.Context, v interface{}) (string, error) { +func (ec *executionContext) unmarshalNAnnouncementID2string(ctx context.Context, v any) (string, error) { res, err := graphql.UnmarshalString(v) return res, graphql.ErrorOnPath(ctx, err) } func (ec *executionContext) marshalNAnnouncementID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + _ = sel res := graphql.MarshalString(v) if res == graphql.Null { if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { @@ -26650,7 +26532,7 @@ func (ec *executionContext) marshalNAnnouncementID2string(ctx context.Context, s return res } -func (ec *executionContext) unmarshalNAnnouncementImportance2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementImportance(ctx context.Context, v interface{}) (AnnouncementImportance, error) { +func (ec *executionContext) unmarshalNAnnouncementImportance2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementImportance(ctx context.Context, v any) (AnnouncementImportance, error) { var res AnnouncementImportance err := res.UnmarshalGQL(v) return res, graphql.ErrorOnPath(ctx, err) @@ -26660,12 +26542,13 @@ func (ec *executionContext) marshalNAnnouncementImportance2githubᚗcomᚋsatisf return v } -func (ec *executionContext) unmarshalNBoolean2bool(ctx context.Context, v interface{}) (bool, error) { +func (ec *executionContext) unmarshalNBoolean2bool(ctx context.Context, v any) (bool, error) { res, err := graphql.UnmarshalBoolean(v) return res, graphql.ErrorOnPath(ctx, err) } func (ec *executionContext) marshalNBoolean2bool(ctx context.Context, sel ast.SelectionSet, v bool) graphql.Marshaler { + _ = sel res := graphql.MarshalBoolean(v) if res == graphql.Null { if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { @@ -26685,17 +26568,17 @@ func (ec *executionContext) marshalNCompatibility2ᚖgithubᚗcomᚋsatisfactory return ec._Compatibility(ctx, sel, v) } -func (ec *executionContext) unmarshalNCompatibilityInfoInput2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInfoInput(ctx context.Context, v interface{}) (CompatibilityInfoInput, error) { +func (ec *executionContext) unmarshalNCompatibilityInfoInput2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInfoInput(ctx context.Context, v any) (CompatibilityInfoInput, error) { res, err := ec.unmarshalInputCompatibilityInfoInput(ctx, v) return res, graphql.ErrorOnPath(ctx, err) } -func (ec *executionContext) unmarshalNCompatibilityInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInput(ctx context.Context, v interface{}) (*CompatibilityInput, error) { +func (ec *executionContext) unmarshalNCompatibilityInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInput(ctx context.Context, v any) (*CompatibilityInput, error) { res, err := ec.unmarshalInputCompatibilityInput(ctx, v) return &res, graphql.ErrorOnPath(ctx, err) } -func (ec *executionContext) unmarshalNCompatibilityState2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityState(ctx context.Context, v interface{}) (CompatibilityState, error) { +func (ec *executionContext) unmarshalNCompatibilityState2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityState(ctx context.Context, v any) (CompatibilityState, error) { var res CompatibilityState err := res.UnmarshalGQL(v) return res, graphql.ErrorOnPath(ctx, err) @@ -26715,12 +26598,12 @@ func (ec *executionContext) marshalNControllerCompatibility2ᚖgithubᚗcomᚋsa return ec._ControllerCompatibility(ctx, sel, v) } -func (ec *executionContext) unmarshalNControllerCompatibilityInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐControllerCompatibilityInput(ctx context.Context, v interface{}) (*ControllerCompatibilityInput, error) { +func (ec *executionContext) unmarshalNControllerCompatibilityInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐControllerCompatibilityInput(ctx context.Context, v any) (*ControllerCompatibilityInput, error) { res, err := ec.unmarshalInputControllerCompatibilityInput(ctx, v) return &res, graphql.ErrorOnPath(ctx, err) } -func (ec *executionContext) unmarshalNControllerCompatibilityState2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐControllerCompatibilityState(ctx context.Context, v interface{}) (ControllerCompatibilityState, error) { +func (ec *executionContext) unmarshalNControllerCompatibilityState2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐControllerCompatibilityState(ctx context.Context, v any) (ControllerCompatibilityState, error) { var res ControllerCompatibilityState err := res.UnmarshalGQL(v) return res, graphql.ErrorOnPath(ctx, err) @@ -26730,12 +26613,13 @@ func (ec *executionContext) marshalNControllerCompatibilityState2githubᚗcomᚋ return v } -func (ec *executionContext) unmarshalNDate2string(ctx context.Context, v interface{}) (string, error) { +func (ec *executionContext) unmarshalNDate2string(ctx context.Context, v any) (string, error) { res, err := graphql.UnmarshalString(v) return res, graphql.ErrorOnPath(ctx, err) } func (ec *executionContext) marshalNDate2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + _ = sel res := graphql.MarshalString(v) if res == graphql.Null { if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { @@ -26941,12 +26825,13 @@ func (ec *executionContext) marshalNGuide2ᚖgithubᚗcomᚋsatisfactorymodding return ec._Guide(ctx, sel, v) } -func (ec *executionContext) unmarshalNGuideID2string(ctx context.Context, v interface{}) (string, error) { +func (ec *executionContext) unmarshalNGuideID2string(ctx context.Context, v any) (string, error) { res, err := graphql.UnmarshalString(v) return res, graphql.ErrorOnPath(ctx, err) } func (ec *executionContext) marshalNGuideID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + _ = sel res := graphql.MarshalString(v) if res == graphql.Null { if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { @@ -26956,12 +26841,13 @@ func (ec *executionContext) marshalNGuideID2string(ctx context.Context, sel ast. return res } -func (ec *executionContext) unmarshalNInt2int(ctx context.Context, v interface{}) (int, error) { +func (ec *executionContext) unmarshalNInt2int(ctx context.Context, v any) (int, error) { res, err := graphql.UnmarshalInt(v) return res, graphql.ErrorOnPath(ctx, err) } func (ec *executionContext) marshalNInt2int(ctx context.Context, sel ast.SelectionSet, v int) graphql.Marshaler { + _ = sel res := graphql.MarshalInt(v) if res == graphql.Null { if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { @@ -27043,12 +26929,13 @@ func (ec *executionContext) marshalNMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋ return ec._Mod(ctx, sel, v) } -func (ec *executionContext) unmarshalNModID2string(ctx context.Context, v interface{}) (string, error) { +func (ec *executionContext) unmarshalNModID2string(ctx context.Context, v any) (string, error) { res, err := graphql.UnmarshalString(v) return res, graphql.ErrorOnPath(ctx, err) } func (ec *executionContext) marshalNModID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + _ = sel res := graphql.MarshalString(v) if res == graphql.Null { if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { @@ -27058,11 +26945,9 @@ func (ec *executionContext) marshalNModID2string(ctx context.Context, sel ast.Se return res } -func (ec *executionContext) unmarshalNModID2ᚕstringᚄ(ctx context.Context, v interface{}) ([]string, error) { - var vSlice []interface{} - if v != nil { - vSlice = graphql.CoerceList(v) - } +func (ec *executionContext) unmarshalNModID2ᚕstringᚄ(ctx context.Context, v any) ([]string, error) { + var vSlice []any + vSlice = graphql.CoerceList(v) var err error res := make([]string, len(vSlice)) for i := range vSlice { @@ -27090,12 +26975,13 @@ func (ec *executionContext) marshalNModID2ᚕstringᚄ(ctx context.Context, sel return ret } -func (ec *executionContext) unmarshalNModReference2string(ctx context.Context, v interface{}) (string, error) { +func (ec *executionContext) unmarshalNModReference2string(ctx context.Context, v any) (string, error) { res, err := graphql.UnmarshalString(v) return res, graphql.ErrorOnPath(ctx, err) } func (ec *executionContext) marshalNModReference2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + _ = sel res := graphql.MarshalString(v) if res == graphql.Null { if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { @@ -27159,11 +27045,9 @@ func (ec *executionContext) marshalNModVersion2ᚖgithubᚗcomᚋsatisfactorymod return ec._ModVersion(ctx, sel, v) } -func (ec *executionContext) unmarshalNModVersionConstraint2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModVersionConstraintᚄ(ctx context.Context, v interface{}) ([]*ModVersionConstraint, error) { - var vSlice []interface{} - if v != nil { - vSlice = graphql.CoerceList(v) - } +func (ec *executionContext) unmarshalNModVersionConstraint2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModVersionConstraintᚄ(ctx context.Context, v any) ([]*ModVersionConstraint, error) { + var vSlice []any + vSlice = graphql.CoerceList(v) var err error res := make([]*ModVersionConstraint, len(vSlice)) for i := range vSlice { @@ -27176,36 +27060,34 @@ func (ec *executionContext) unmarshalNModVersionConstraint2ᚕᚖgithubᚗcomᚋ return res, nil } -func (ec *executionContext) unmarshalNModVersionConstraint2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModVersionConstraint(ctx context.Context, v interface{}) (*ModVersionConstraint, error) { +func (ec *executionContext) unmarshalNModVersionConstraint2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModVersionConstraint(ctx context.Context, v any) (*ModVersionConstraint, error) { res, err := ec.unmarshalInputModVersionConstraint(ctx, v) return &res, graphql.ErrorOnPath(ctx, err) } -func (ec *executionContext) unmarshalNNewAnnouncement2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewAnnouncement(ctx context.Context, v interface{}) (NewAnnouncement, error) { +func (ec *executionContext) unmarshalNNewAnnouncement2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewAnnouncement(ctx context.Context, v any) (NewAnnouncement, error) { res, err := ec.unmarshalInputNewAnnouncement(ctx, v) return res, graphql.ErrorOnPath(ctx, err) } -func (ec *executionContext) unmarshalNNewGuide2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewGuide(ctx context.Context, v interface{}) (NewGuide, error) { +func (ec *executionContext) unmarshalNNewGuide2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewGuide(ctx context.Context, v any) (NewGuide, error) { res, err := ec.unmarshalInputNewGuide(ctx, v) return res, graphql.ErrorOnPath(ctx, err) } -func (ec *executionContext) unmarshalNNewMod2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewMod(ctx context.Context, v interface{}) (NewMod, error) { +func (ec *executionContext) unmarshalNNewMod2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewMod(ctx context.Context, v any) (NewMod, error) { res, err := ec.unmarshalInputNewMod(ctx, v) return res, graphql.ErrorOnPath(ctx, err) } -func (ec *executionContext) unmarshalNNewSatisfactoryVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewSatisfactoryVersion(ctx context.Context, v interface{}) (NewSatisfactoryVersion, error) { +func (ec *executionContext) unmarshalNNewSatisfactoryVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewSatisfactoryVersion(ctx context.Context, v any) (NewSatisfactoryVersion, error) { res, err := ec.unmarshalInputNewSatisfactoryVersion(ctx, v) return res, graphql.ErrorOnPath(ctx, err) } -func (ec *executionContext) unmarshalNNewTag2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewTagᚄ(ctx context.Context, v interface{}) ([]*NewTag, error) { - var vSlice []interface{} - if v != nil { - vSlice = graphql.CoerceList(v) - } +func (ec *executionContext) unmarshalNNewTag2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewTagᚄ(ctx context.Context, v any) ([]*NewTag, error) { + var vSlice []any + vSlice = graphql.CoerceList(v) var err error res := make([]*NewTag, len(vSlice)) for i := range vSlice { @@ -27218,12 +27100,12 @@ func (ec *executionContext) unmarshalNNewTag2ᚕᚖgithubᚗcomᚋsatisfactorymo return res, nil } -func (ec *executionContext) unmarshalNNewTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewTag(ctx context.Context, v interface{}) (*NewTag, error) { +func (ec *executionContext) unmarshalNNewTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewTag(ctx context.Context, v any) (*NewTag, error) { res, err := ec.unmarshalInputNewTag(ctx, v) return &res, graphql.ErrorOnPath(ctx, err) } -func (ec *executionContext) unmarshalNNewVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewVersion(ctx context.Context, v interface{}) (NewVersion, error) { +func (ec *executionContext) unmarshalNNewVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewVersion(ctx context.Context, v any) (NewVersion, error) { res, err := ec.unmarshalInputNewVersion(ctx, v) return res, graphql.ErrorOnPath(ctx, err) } @@ -27296,12 +27178,13 @@ func (ec *executionContext) marshalNSMLVersion2ᚖgithubᚗcomᚋsatisfactorymod return ec._SMLVersion(ctx, sel, v) } -func (ec *executionContext) unmarshalNSMLVersionID2string(ctx context.Context, v interface{}) (string, error) { +func (ec *executionContext) unmarshalNSMLVersionID2string(ctx context.Context, v any) (string, error) { res, err := graphql.UnmarshalString(v) return res, graphql.ErrorOnPath(ctx, err) } func (ec *executionContext) marshalNSMLVersionID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + _ = sel res := graphql.MarshalString(v) if res == graphql.Null { if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { @@ -27407,12 +27290,13 @@ func (ec *executionContext) marshalNSatisfactoryVersion2ᚖgithubᚗcomᚋsatisf return ec._SatisfactoryVersion(ctx, sel, v) } -func (ec *executionContext) unmarshalNSatisfactoryVersionID2string(ctx context.Context, v interface{}) (string, error) { +func (ec *executionContext) unmarshalNSatisfactoryVersionID2string(ctx context.Context, v any) (string, error) { res, err := graphql.UnmarshalString(v) return res, graphql.ErrorOnPath(ctx, err) } func (ec *executionContext) marshalNSatisfactoryVersionID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + _ = sel res := graphql.MarshalString(v) if res == graphql.Null { if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { @@ -27422,12 +27306,13 @@ func (ec *executionContext) marshalNSatisfactoryVersionID2string(ctx context.Con return res } -func (ec *executionContext) unmarshalNString2string(ctx context.Context, v interface{}) (string, error) { +func (ec *executionContext) unmarshalNString2string(ctx context.Context, v any) (string, error) { res, err := graphql.UnmarshalString(v) return res, graphql.ErrorOnPath(ctx, err) } func (ec *executionContext) marshalNString2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + _ = sel res := graphql.MarshalString(v) if res == graphql.Null { if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { @@ -27437,11 +27322,9 @@ func (ec *executionContext) marshalNString2string(ctx context.Context, sel ast.S return res } -func (ec *executionContext) unmarshalNString2ᚕstringᚄ(ctx context.Context, v interface{}) ([]string, error) { - var vSlice []interface{} - if v != nil { - vSlice = graphql.CoerceList(v) - } +func (ec *executionContext) unmarshalNString2ᚕstringᚄ(ctx context.Context, v any) ([]string, error) { + var vSlice []any + vSlice = graphql.CoerceList(v) var err error res := make([]string, len(vSlice)) for i := range vSlice { @@ -27527,12 +27410,13 @@ func (ec *executionContext) marshalNTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋ return ec._Tag(ctx, sel, v) } -func (ec *executionContext) unmarshalNTagID2string(ctx context.Context, v interface{}) (string, error) { +func (ec *executionContext) unmarshalNTagID2string(ctx context.Context, v any) (string, error) { res, err := graphql.UnmarshalString(v) return res, graphql.ErrorOnPath(ctx, err) } func (ec *executionContext) marshalNTagID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + _ = sel res := graphql.MarshalString(v) if res == graphql.Null { if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { @@ -27542,12 +27426,13 @@ func (ec *executionContext) marshalNTagID2string(ctx context.Context, sel ast.Se return res } -func (ec *executionContext) unmarshalNTagName2string(ctx context.Context, v interface{}) (string, error) { +func (ec *executionContext) unmarshalNTagName2string(ctx context.Context, v any) (string, error) { res, err := graphql.UnmarshalString(v) return res, graphql.ErrorOnPath(ctx, err) } func (ec *executionContext) marshalNTagName2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + _ = sel res := graphql.MarshalString(v) if res == graphql.Null { if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { @@ -27557,7 +27442,7 @@ func (ec *executionContext) marshalNTagName2string(ctx context.Context, sel ast. return res } -func (ec *executionContext) unmarshalNTargetName2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTargetName(ctx context.Context, v interface{}) (TargetName, error) { +func (ec *executionContext) unmarshalNTargetName2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTargetName(ctx context.Context, v any) (TargetName, error) { var res TargetName err := res.UnmarshalGQL(v) return res, graphql.ErrorOnPath(ctx, err) @@ -27567,47 +27452,48 @@ func (ec *executionContext) marshalNTargetName2githubᚗcomᚋsatisfactorymoddin return v } -func (ec *executionContext) unmarshalNUpdateAnnouncement2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateAnnouncement(ctx context.Context, v interface{}) (UpdateAnnouncement, error) { +func (ec *executionContext) unmarshalNUpdateAnnouncement2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateAnnouncement(ctx context.Context, v any) (UpdateAnnouncement, error) { res, err := ec.unmarshalInputUpdateAnnouncement(ctx, v) return res, graphql.ErrorOnPath(ctx, err) } -func (ec *executionContext) unmarshalNUpdateGuide2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateGuide(ctx context.Context, v interface{}) (UpdateGuide, error) { +func (ec *executionContext) unmarshalNUpdateGuide2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateGuide(ctx context.Context, v any) (UpdateGuide, error) { res, err := ec.unmarshalInputUpdateGuide(ctx, v) return res, graphql.ErrorOnPath(ctx, err) } -func (ec *executionContext) unmarshalNUpdateMod2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateMod(ctx context.Context, v interface{}) (UpdateMod, error) { +func (ec *executionContext) unmarshalNUpdateMod2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateMod(ctx context.Context, v any) (UpdateMod, error) { res, err := ec.unmarshalInputUpdateMod(ctx, v) return res, graphql.ErrorOnPath(ctx, err) } -func (ec *executionContext) unmarshalNUpdateSatisfactoryVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateSatisfactoryVersion(ctx context.Context, v interface{}) (UpdateSatisfactoryVersion, error) { +func (ec *executionContext) unmarshalNUpdateSatisfactoryVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateSatisfactoryVersion(ctx context.Context, v any) (UpdateSatisfactoryVersion, error) { res, err := ec.unmarshalInputUpdateSatisfactoryVersion(ctx, v) return res, graphql.ErrorOnPath(ctx, err) } -func (ec *executionContext) unmarshalNUpdateUser2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateUser(ctx context.Context, v interface{}) (UpdateUser, error) { +func (ec *executionContext) unmarshalNUpdateUser2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateUser(ctx context.Context, v any) (UpdateUser, error) { res, err := ec.unmarshalInputUpdateUser(ctx, v) return res, graphql.ErrorOnPath(ctx, err) } -func (ec *executionContext) unmarshalNUpdateUserMod2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateUserMod(ctx context.Context, v interface{}) (UpdateUserMod, error) { +func (ec *executionContext) unmarshalNUpdateUserMod2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateUserMod(ctx context.Context, v any) (UpdateUserMod, error) { res, err := ec.unmarshalInputUpdateUserMod(ctx, v) return res, graphql.ErrorOnPath(ctx, err) } -func (ec *executionContext) unmarshalNUpdateVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateVersion(ctx context.Context, v interface{}) (UpdateVersion, error) { +func (ec *executionContext) unmarshalNUpdateVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateVersion(ctx context.Context, v any) (UpdateVersion, error) { res, err := ec.unmarshalInputUpdateVersion(ctx, v) return res, graphql.ErrorOnPath(ctx, err) } -func (ec *executionContext) unmarshalNUpload2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚐUpload(ctx context.Context, v interface{}) (graphql.Upload, error) { +func (ec *executionContext) unmarshalNUpload2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚐUpload(ctx context.Context, v any) (graphql.Upload, error) { res, err := graphql.UnmarshalUpload(v) return res, graphql.ErrorOnPath(ctx, err) } func (ec *executionContext) marshalNUpload2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚐUpload(ctx context.Context, sel ast.SelectionSet, v graphql.Upload) graphql.Marshaler { + _ = sel res := graphql.MarshalUpload(v) if res == graphql.Null { if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { @@ -27669,12 +27555,13 @@ func (ec *executionContext) marshalNUser2ᚖgithubᚗcomᚋsatisfactorymodding return ec._User(ctx, sel, v) } -func (ec *executionContext) unmarshalNUserID2string(ctx context.Context, v interface{}) (string, error) { +func (ec *executionContext) unmarshalNUserID2string(ctx context.Context, v any) (string, error) { res, err := graphql.UnmarshalString(v) return res, graphql.ErrorOnPath(ctx, err) } func (ec *executionContext) marshalNUserID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + _ = sel res := graphql.MarshalString(v) if res == graphql.Null { if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { @@ -27684,11 +27571,9 @@ func (ec *executionContext) marshalNUserID2string(ctx context.Context, sel ast.S return res } -func (ec *executionContext) unmarshalNUserID2ᚕstringᚄ(ctx context.Context, v interface{}) ([]string, error) { - var vSlice []interface{} - if v != nil { - vSlice = graphql.CoerceList(v) - } +func (ec *executionContext) unmarshalNUserID2ᚕstringᚄ(ctx context.Context, v any) ([]string, error) { + var vSlice []any + vSlice = graphql.CoerceList(v) var err error res := make([]string, len(vSlice)) for i := range vSlice { @@ -27896,12 +27781,13 @@ func (ec *executionContext) marshalNVersionDependency2ᚖgithubᚗcomᚋsatisfac return ec._VersionDependency(ctx, sel, v) } -func (ec *executionContext) unmarshalNVersionID2string(ctx context.Context, v interface{}) (string, error) { +func (ec *executionContext) unmarshalNVersionID2string(ctx context.Context, v any) (string, error) { res, err := graphql.UnmarshalString(v) return res, graphql.ErrorOnPath(ctx, err) } func (ec *executionContext) marshalNVersionID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + _ = sel res := graphql.MarshalString(v) if res == graphql.Null { if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { @@ -27911,7 +27797,7 @@ func (ec *executionContext) marshalNVersionID2string(ctx context.Context, sel as return res } -func (ec *executionContext) unmarshalNVersionStabilities2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionStabilities(ctx context.Context, v interface{}) (VersionStabilities, error) { +func (ec *executionContext) unmarshalNVersionStabilities2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionStabilities(ctx context.Context, v any) (VersionStabilities, error) { var res VersionStabilities err := res.UnmarshalGQL(v) return res, graphql.ErrorOnPath(ctx, err) @@ -27959,12 +27845,13 @@ func (ec *executionContext) marshalNVersionTarget2ᚕᚖgithubᚗcomᚋsatisfact return ret } -func (ec *executionContext) unmarshalNVirustotalHash2string(ctx context.Context, v interface{}) (string, error) { +func (ec *executionContext) unmarshalNVirustotalHash2string(ctx context.Context, v any) (string, error) { res, err := graphql.UnmarshalString(v) return res, graphql.ErrorOnPath(ctx, err) } func (ec *executionContext) marshalNVirustotalHash2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + _ = sel res := graphql.MarshalString(v) if res == graphql.Null { if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { @@ -28076,12 +27963,13 @@ func (ec *executionContext) marshalN__Directive2ᚕgithubᚗcomᚋ99designsᚋgq return ret } -func (ec *executionContext) unmarshalN__DirectiveLocation2string(ctx context.Context, v interface{}) (string, error) { +func (ec *executionContext) unmarshalN__DirectiveLocation2string(ctx context.Context, v any) (string, error) { res, err := graphql.UnmarshalString(v) return res, graphql.ErrorOnPath(ctx, err) } func (ec *executionContext) marshalN__DirectiveLocation2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + _ = sel res := graphql.MarshalString(v) if res == graphql.Null { if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { @@ -28091,11 +27979,9 @@ func (ec *executionContext) marshalN__DirectiveLocation2string(ctx context.Conte return res } -func (ec *executionContext) unmarshalN__DirectiveLocation2ᚕstringᚄ(ctx context.Context, v interface{}) ([]string, error) { - var vSlice []interface{} - if v != nil { - vSlice = graphql.CoerceList(v) - } +func (ec *executionContext) unmarshalN__DirectiveLocation2ᚕstringᚄ(ctx context.Context, v any) ([]string, error) { + var vSlice []any + vSlice = graphql.CoerceList(v) var err error res := make([]string, len(vSlice)) for i := range vSlice { @@ -28266,12 +28152,13 @@ func (ec *executionContext) marshalN__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgen return ec.___Type(ctx, sel, v) } -func (ec *executionContext) unmarshalN__TypeKind2string(ctx context.Context, v interface{}) (string, error) { +func (ec *executionContext) unmarshalN__TypeKind2string(ctx context.Context, v any) (string, error) { res, err := graphql.UnmarshalString(v) return res, graphql.ErrorOnPath(ctx, err) } func (ec *executionContext) marshalN__TypeKind2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + _ = sel res := graphql.MarshalString(v) if res == graphql.Null { if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { @@ -28288,7 +28175,7 @@ func (ec *executionContext) marshalOAnnouncement2ᚖgithubᚗcomᚋsatisfactorym return ec._Announcement(ctx, sel, v) } -func (ec *executionContext) unmarshalOAnnouncementImportance2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementImportance(ctx context.Context, v interface{}) (*AnnouncementImportance, error) { +func (ec *executionContext) unmarshalOAnnouncementImportance2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementImportance(ctx context.Context, v any) (*AnnouncementImportance, error) { if v == nil { return nil, nil } @@ -28304,17 +28191,19 @@ func (ec *executionContext) marshalOAnnouncementImportance2ᚖgithubᚗcomᚋsat return v } -func (ec *executionContext) unmarshalOBoolean2bool(ctx context.Context, v interface{}) (bool, error) { +func (ec *executionContext) unmarshalOBoolean2bool(ctx context.Context, v any) (bool, error) { res, err := graphql.UnmarshalBoolean(v) return res, graphql.ErrorOnPath(ctx, err) } func (ec *executionContext) marshalOBoolean2bool(ctx context.Context, sel ast.SelectionSet, v bool) graphql.Marshaler { + _ = sel + _ = ctx res := graphql.MarshalBoolean(v) return res } -func (ec *executionContext) unmarshalOBoolean2ᚖbool(ctx context.Context, v interface{}) (*bool, error) { +func (ec *executionContext) unmarshalOBoolean2ᚖbool(ctx context.Context, v any) (*bool, error) { if v == nil { return nil, nil } @@ -28326,6 +28215,8 @@ func (ec *executionContext) marshalOBoolean2ᚖbool(ctx context.Context, sel ast if v == nil { return graphql.Null } + _ = sel + _ = ctx res := graphql.MarshalBoolean(*v) return res } @@ -28337,7 +28228,7 @@ func (ec *executionContext) marshalOCompatibilityInfo2ᚖgithubᚗcomᚋsatisfac return ec._CompatibilityInfo(ctx, sel, v) } -func (ec *executionContext) unmarshalOCompatibilityInfoInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInfoInput(ctx context.Context, v interface{}) (*CompatibilityInfoInput, error) { +func (ec *executionContext) unmarshalOCompatibilityInfoInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInfoInput(ctx context.Context, v any) (*CompatibilityInfoInput, error) { if v == nil { return nil, nil } @@ -28352,7 +28243,7 @@ func (ec *executionContext) marshalOCreateVersionResponse2ᚖgithubᚗcomᚋsati return ec._CreateVersionResponse(ctx, sel, v) } -func (ec *executionContext) unmarshalODate2ᚖstring(ctx context.Context, v interface{}) (*string, error) { +func (ec *executionContext) unmarshalODate2ᚖstring(ctx context.Context, v any) (*string, error) { if v == nil { return nil, nil } @@ -28364,6 +28255,8 @@ func (ec *executionContext) marshalODate2ᚖstring(ctx context.Context, sel ast. if v == nil { return graphql.Null } + _ = sel + _ = ctx res := graphql.MarshalString(*v) return res } @@ -28375,7 +28268,7 @@ func (ec *executionContext) marshalOGuide2ᚖgithubᚗcomᚋsatisfactorymodding return ec._Guide(ctx, sel, v) } -func (ec *executionContext) unmarshalOGuideFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuideFields(ctx context.Context, v interface{}) (*GuideFields, error) { +func (ec *executionContext) unmarshalOGuideFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuideFields(ctx context.Context, v any) (*GuideFields, error) { if v == nil { return nil, nil } @@ -28391,7 +28284,7 @@ func (ec *executionContext) marshalOGuideFields2ᚖgithubᚗcomᚋsatisfactorymo return v } -func (ec *executionContext) unmarshalOGuideFilter2map(ctx context.Context, v interface{}) (map[string]interface{}, error) { +func (ec *executionContext) unmarshalOGuideFilter2map(ctx context.Context, v any) (map[string]any, error) { if v == nil { return nil, nil } @@ -28399,7 +28292,7 @@ func (ec *executionContext) unmarshalOGuideFilter2map(ctx context.Context, v int return res, graphql.ErrorOnPath(ctx, err) } -func (ec *executionContext) unmarshalOInt2ᚖint(ctx context.Context, v interface{}) (*int, error) { +func (ec *executionContext) unmarshalOInt2ᚖint(ctx context.Context, v any) (*int, error) { if v == nil { return nil, nil } @@ -28411,6 +28304,8 @@ func (ec *executionContext) marshalOInt2ᚖint(ctx context.Context, sel ast.Sele if v == nil { return graphql.Null } + _ = sel + _ = ctx res := graphql.MarshalInt(*v) return res } @@ -28422,7 +28317,7 @@ func (ec *executionContext) marshalOMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋ return ec._Mod(ctx, sel, v) } -func (ec *executionContext) unmarshalOModFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModFields(ctx context.Context, v interface{}) (*ModFields, error) { +func (ec *executionContext) unmarshalOModFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModFields(ctx context.Context, v any) (*ModFields, error) { if v == nil { return nil, nil } @@ -28438,7 +28333,7 @@ func (ec *executionContext) marshalOModFields2ᚖgithubᚗcomᚋsatisfactorymodd return v } -func (ec *executionContext) unmarshalOModFilter2map(ctx context.Context, v interface{}) (map[string]interface{}, error) { +func (ec *executionContext) unmarshalOModFilter2map(ctx context.Context, v any) (map[string]any, error) { if v == nil { return nil, nil } @@ -28446,7 +28341,7 @@ func (ec *executionContext) unmarshalOModFilter2map(ctx context.Context, v inter return res, graphql.ErrorOnPath(ctx, err) } -func (ec *executionContext) unmarshalOModReference2ᚖstring(ctx context.Context, v interface{}) (*string, error) { +func (ec *executionContext) unmarshalOModReference2ᚖstring(ctx context.Context, v any) (*string, error) { if v == nil { return nil, nil } @@ -28458,11 +28353,13 @@ func (ec *executionContext) marshalOModReference2ᚖstring(ctx context.Context, if v == nil { return graphql.Null } + _ = sel + _ = ctx res := graphql.MarshalString(*v) return res } -func (ec *executionContext) unmarshalOOrder2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOrder(ctx context.Context, v interface{}) (*Order, error) { +func (ec *executionContext) unmarshalOOrder2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOrder(ctx context.Context, v any) (*Order, error) { if v == nil { return nil, nil } @@ -28485,7 +28382,7 @@ func (ec *executionContext) marshalOSMLVersion2ᚖgithubᚗcomᚋsatisfactorymod return ec._SMLVersion(ctx, sel, v) } -func (ec *executionContext) unmarshalOSMLVersionFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersionFields(ctx context.Context, v interface{}) (*SMLVersionFields, error) { +func (ec *executionContext) unmarshalOSMLVersionFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersionFields(ctx context.Context, v any) (*SMLVersionFields, error) { if v == nil { return nil, nil } @@ -28501,7 +28398,7 @@ func (ec *executionContext) marshalOSMLVersionFields2ᚖgithubᚗcomᚋsatisfact return v } -func (ec *executionContext) unmarshalOSMLVersionFilter2map(ctx context.Context, v interface{}) (map[string]interface{}, error) { +func (ec *executionContext) unmarshalOSMLVersionFilter2map(ctx context.Context, v any) (map[string]any, error) { if v == nil { return nil, nil } @@ -28523,14 +28420,12 @@ func (ec *executionContext) marshalOSatisfactoryVersion2ᚖgithubᚗcomᚋsatisf return ec._SatisfactoryVersion(ctx, sel, v) } -func (ec *executionContext) unmarshalOString2ᚕstringᚄ(ctx context.Context, v interface{}) ([]string, error) { +func (ec *executionContext) unmarshalOString2ᚕstringᚄ(ctx context.Context, v any) ([]string, error) { if v == nil { return nil, nil } - var vSlice []interface{} - if v != nil { - vSlice = graphql.CoerceList(v) - } + var vSlice []any + vSlice = graphql.CoerceList(v) var err error res := make([]string, len(vSlice)) for i := range vSlice { @@ -28561,7 +28456,7 @@ func (ec *executionContext) marshalOString2ᚕstringᚄ(ctx context.Context, sel return ret } -func (ec *executionContext) unmarshalOString2ᚖstring(ctx context.Context, v interface{}) (*string, error) { +func (ec *executionContext) unmarshalOString2ᚖstring(ctx context.Context, v any) (*string, error) { if v == nil { return nil, nil } @@ -28573,6 +28468,8 @@ func (ec *executionContext) marshalOString2ᚖstring(ctx context.Context, sel as if v == nil { return graphql.Null } + _ = sel + _ = ctx res := graphql.MarshalString(*v) return res } @@ -28631,7 +28528,7 @@ func (ec *executionContext) marshalOTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋ return ec._Tag(ctx, sel, v) } -func (ec *executionContext) unmarshalOTagFilter2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTagFilter(ctx context.Context, v interface{}) (*TagFilter, error) { +func (ec *executionContext) unmarshalOTagFilter2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTagFilter(ctx context.Context, v any) (*TagFilter, error) { if v == nil { return nil, nil } @@ -28639,14 +28536,12 @@ func (ec *executionContext) unmarshalOTagFilter2ᚖgithubᚗcomᚋsatisfactorymo return &res, graphql.ErrorOnPath(ctx, err) } -func (ec *executionContext) unmarshalOTagID2ᚕstringᚄ(ctx context.Context, v interface{}) ([]string, error) { +func (ec *executionContext) unmarshalOTagID2ᚕstringᚄ(ctx context.Context, v any) ([]string, error) { if v == nil { return nil, nil } - var vSlice []interface{} - if v != nil { - vSlice = graphql.CoerceList(v) - } + var vSlice []any + vSlice = graphql.CoerceList(v) var err error res := make([]string, len(vSlice)) for i := range vSlice { @@ -28677,14 +28572,12 @@ func (ec *executionContext) marshalOTagID2ᚕstringᚄ(ctx context.Context, sel return ret } -func (ec *executionContext) unmarshalOUpdateUserMod2ᚕgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateUserModᚄ(ctx context.Context, v interface{}) ([]UpdateUserMod, error) { +func (ec *executionContext) unmarshalOUpdateUserMod2ᚕgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateUserModᚄ(ctx context.Context, v any) ([]UpdateUserMod, error) { if v == nil { return nil, nil } - var vSlice []interface{} - if v != nil { - vSlice = graphql.CoerceList(v) - } + var vSlice []any + vSlice = graphql.CoerceList(v) var err error res := make([]UpdateUserMod, len(vSlice)) for i := range vSlice { @@ -28697,7 +28590,7 @@ func (ec *executionContext) unmarshalOUpdateUserMod2ᚕgithubᚗcomᚋsatisfacto return res, nil } -func (ec *executionContext) unmarshalOUpload2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚐUpload(ctx context.Context, v interface{}) (*graphql.Upload, error) { +func (ec *executionContext) unmarshalOUpload2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚐUpload(ctx context.Context, v any) (*graphql.Upload, error) { if v == nil { return nil, nil } @@ -28709,6 +28602,8 @@ func (ec *executionContext) marshalOUpload2ᚖgithubᚗcomᚋ99designsᚋgqlgen if v == nil { return graphql.Null } + _ = sel + _ = ctx res := graphql.MarshalUpload(*v) return res } @@ -28734,7 +28629,7 @@ func (ec *executionContext) marshalOVersion2ᚖgithubᚗcomᚋsatisfactorymoddin return ec._Version(ctx, sel, v) } -func (ec *executionContext) unmarshalOVersionFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionFields(ctx context.Context, v interface{}) (*VersionFields, error) { +func (ec *executionContext) unmarshalOVersionFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionFields(ctx context.Context, v any) (*VersionFields, error) { if v == nil { return nil, nil } @@ -28750,7 +28645,7 @@ func (ec *executionContext) marshalOVersionFields2ᚖgithubᚗcomᚋsatisfactory return v } -func (ec *executionContext) unmarshalOVersionFilter2map(ctx context.Context, v interface{}) (map[string]interface{}, error) { +func (ec *executionContext) unmarshalOVersionFilter2map(ctx context.Context, v any) (map[string]any, error) { if v == nil { return nil, nil } @@ -28758,7 +28653,7 @@ func (ec *executionContext) unmarshalOVersionFilter2map(ctx context.Context, v i return res, graphql.ErrorOnPath(ctx, err) } -func (ec *executionContext) unmarshalOVersionStabilities2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionStabilities(ctx context.Context, v interface{}) (*VersionStabilities, error) { +func (ec *executionContext) unmarshalOVersionStabilities2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionStabilities(ctx context.Context, v any) (*VersionStabilities, error) { if v == nil { return nil, nil } @@ -28781,7 +28676,7 @@ func (ec *executionContext) marshalOVersionTarget2ᚖgithubᚗcomᚋsatisfactory return ec._VersionTarget(ctx, sel, v) } -func (ec *executionContext) unmarshalOVirustotalID2ᚖstring(ctx context.Context, v interface{}) (*string, error) { +func (ec *executionContext) unmarshalOVirustotalID2ᚖstring(ctx context.Context, v any) (*string, error) { if v == nil { return nil, nil } @@ -28793,6 +28688,8 @@ func (ec *executionContext) marshalOVirustotalID2ᚖstring(ctx context.Context, if v == nil { return graphql.Null } + _ = sel + _ = ctx res := graphql.MarshalString(*v) return res } diff --git a/gqlgen.yml b/gqlgen.yml index f1e6d522..0682e5dc 100755 --- a/gqlgen.yml +++ b/gqlgen.yml @@ -12,8 +12,6 @@ model: resolver: filename: ./gql/resolver.go type: Resolver - preserve_resolver: true - # https://github.com/99designs/gqlgen/issues/3321 preserve_resolver: true From 5e799f0a29d6d9cd5c0733974ac22c3b2e820268 Mon Sep 17 00:00:00 2001 From: Rob B Date: Sat, 10 Jan 2026 18:23:15 -0500 Subject: [PATCH 009/100] chore: fix typo --- gql/resolver_guides.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gql/resolver_guides.go b/gql/resolver_guides.go index cda742cf..bd476c62 100644 --- a/gql/resolver_guides.go +++ b/gql/resolver_guides.go @@ -35,7 +35,7 @@ func (r *mutationResolver) CreateGuide(ctx context.Context, g generated.NewGuide return nil, err } - // Allow only 8util.GuidesPer24h new guides per 24h + // Allow only util.GuidesPer24h new guides per 24h guides, err := db.From(ctx).Guide.Query(). Order(guide.ByCreatedAt(sql.OrderAsc())). Where( From b173519480d8f0ceb90675fe887e3d55ea9395d6 Mon Sep 17 00:00:00 2001 From: Rob B Date: Sat, 10 Jan 2026 18:23:28 -0500 Subject: [PATCH 010/100] docs: mention devcontainer discontinuation and mise bug --- README.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 14041ae6..fd3c75a5 100755 --- a/README.md +++ b/README.md @@ -11,6 +11,11 @@ The Satisfactory Mod Repository backend API - a Go-based service providing REST ### Setup +> Note: A [devcontainer](https://code.visualstudio.com/docs/devcontainers/containers) exists in this repository, +> but it has not been tested since we switched to using Mise for tool management. +> **You should follow the normal installation instructions below instead of using the devcontainer.** +> We offer no guarantee that it works correctly, but you are welcome to try it out and submit fixes if needed. + 1. Install Tools ```bash @@ -18,7 +23,7 @@ The Satisfactory Mod Repository backend API - a Go-based service providing REST mise install ``` - If you are on Windows, due to a bug in mise, you will also need to do the following: + If you are on Windows, due to a bug in [mise and aqua](https://github.com/aquaproj/aqua-registry/pull/42498/), you will also need to do the following: ```ps1 > mise where aqua:minio/mc From fdf73766389bce8cbce27d804fbf5ae4b96836f3 Mon Sep 17 00:00:00 2001 From: Rob B Date: Sun, 11 Jan 2026 04:12:00 -0500 Subject: [PATCH 011/100] chore: remove accidental misplaced atlas migration hash --- migrations/atlas.sum | 1 - 1 file changed, 1 deletion(-) delete mode 100644 migrations/atlas.sum diff --git a/migrations/atlas.sum b/migrations/atlas.sum deleted file mode 100644 index 7d9c0f31..00000000 --- a/migrations/atlas.sum +++ /dev/null @@ -1 +0,0 @@ -h1:47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU= From ea441e75176526e8cd6b21d93b151bbb777b8f76 Mon Sep 17 00:00:00 2001 From: Rob B Date: Sun, 11 Jan 2026 04:16:30 -0500 Subject: [PATCH 012/100] chore: properly recalculate migration hash from AddNetworkUsageDisclosure --- ...ql => 20250411023207_AddNetworkUsageDisclosure.down.sql} | 0 ....sql => 20250411023207_AddNetworkUsageDisclosure.up.sql} | 0 migrations/sql/atlas.sum | 6 +++--- 3 files changed, 3 insertions(+), 3 deletions(-) rename migrations/sql/{20250411023207_AddNetworkUsageDislosure.down.sql => 20250411023207_AddNetworkUsageDisclosure.down.sql} (100%) rename migrations/sql/{20250411023207_AddNetworkUsageDislosure.up.sql => 20250411023207_AddNetworkUsageDisclosure.up.sql} (100%) diff --git a/migrations/sql/20250411023207_AddNetworkUsageDislosure.down.sql b/migrations/sql/20250411023207_AddNetworkUsageDisclosure.down.sql similarity index 100% rename from migrations/sql/20250411023207_AddNetworkUsageDislosure.down.sql rename to migrations/sql/20250411023207_AddNetworkUsageDisclosure.down.sql diff --git a/migrations/sql/20250411023207_AddNetworkUsageDislosure.up.sql b/migrations/sql/20250411023207_AddNetworkUsageDisclosure.up.sql similarity index 100% rename from migrations/sql/20250411023207_AddNetworkUsageDislosure.up.sql rename to migrations/sql/20250411023207_AddNetworkUsageDisclosure.up.sql diff --git a/migrations/sql/atlas.sum b/migrations/sql/atlas.sum index f8a29143..f344848f 100644 --- a/migrations/sql/atlas.sum +++ b/migrations/sql/atlas.sum @@ -1,4 +1,4 @@ -h1:UFnk5AKtC+Wym0+LsyibDPFlFPKxHrrC8nWPfXA62H4= +h1:m6O8MtHIxeJQhdyVwK5doujEkWDrIUgKxqAtphtLcNg= 000001_create_initial_tables.down.sql h1:TAv6ggW4lbUwOkOMZXmU4dTtFHhFzbUoR4sO11ziCfc= 000001_create_initial_tables.up.sql h1:kKhn2SgX9TQdLhBRg3qEZ3U7UDUkcH5TxS6OX6UHUEw= 000002_create_user_group_table.down.sql h1:f+tCUAVsan7L2YiEgoIM44P9VmbiLabWlnuMsMrdC8o= @@ -79,5 +79,5 @@ h1:UFnk5AKtC+Wym0+LsyibDPFlFPKxHrrC8nWPfXA62H4= 20241003161005_create_virustotal_results_table.up.sql h1:oSgJ3hMhfiAm8qI9KRzON9vsKjhBmvmschos1rOLyWs= 20241008092121_nullable_mod_logo.down.sql h1:QRySsschX3aPUeAFSm4kUNfxaQH5B77eqz05MrNERrE= 20241008092121_nullable_mod_logo.up.sql h1:deO7iGJdjR3epppZ9lzqjhYAO+AuW/zaGW2+4b6RT1s= -20250411023207_AddNetworkUsageDislosure.down.sql h1:UyzVHEVLcGjTdj/NnckYlTH9yZKzXyivITzasuUCr2g= -20250411023207_AddNetworkUsageDislosure.up.sql h1:rj9Ab0pJj0MCycdrOXtVLHy3DA48ez5fvIxxR5cWliE= +20250411023207_AddNetworkUsageDisclosure.down.sql h1:MWSCWoBKT4ROX0Db653hWJUnrwzVWTjNkodnu8Qi0MY= +20250411023207_AddNetworkUsageDisclosure.up.sql h1:1CqJ3pLTirIG2ToWQfWaBH1KmYKgva0kH1eoj4qrpjI= From 21f830ecad201eb945349ffac9872265b9a22f64 Mon Sep 17 00:00:00 2001 From: Rob B Date: Sun, 11 Jan 2026 04:24:36 -0500 Subject: [PATCH 013/100] fix: mise needs windows rewrites of the file tasks we use for migrations https://github.com/jdx/mise/discussions/7507 --- .gitattributes | 6 ++++++ .mise/tasks/migrate_diff.ps1 | 9 +++++++++ .mise/tasks/migrate_diff.sh | 1 + .mise/tasks/migrate_new.ps1 | 10 ++++++++++ .mise/tasks/migrate_new.sh | 1 + README.md | 12 ++++++++++-- cspell.json | 1 + go.sum | 6 ++++++ mise.toml | 9 ++++++--- 9 files changed, 50 insertions(+), 5 deletions(-) create mode 100644 .gitattributes create mode 100644 .mise/tasks/migrate_diff.ps1 create mode 100644 .mise/tasks/migrate_new.ps1 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..81f17f00 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,6 @@ +# Auto detect text files and perform LF normalization +# This keeps unix/windows machines from wanting to change every file +# from the other because of the line ending (\r vs \r\n) +* text=auto +*.sh text eol=lf +*.env* text eol=lf diff --git a/.mise/tasks/migrate_diff.ps1 b/.mise/tasks/migrate_diff.ps1 new file mode 100644 index 00000000..f8f5207d --- /dev/null +++ b/.mise/tasks/migrate_diff.ps1 @@ -0,0 +1,9 @@ +#MISE description="Use Atlas to attempt to automatically create SQL migration files (see https://atlasgo.io/versioned/diff)" + +Write-Host -NoNewline 'Migration Name: ' +$migration_name = Read-Host +Write-Host "Atlas is running..." +atlas migrate diff "$migration_name" --dir "file://migrations/sql?format=golang-migrate" --to "ent://db/schema" --dev-url "docker://postgres/16/test?search_path=public" +if (-not $?) { + Write-Error "If the above failed due to a checksum error, don't run the command it suggests, instead run ``mise run migrate_hash`` " +} diff --git a/.mise/tasks/migrate_diff.sh b/.mise/tasks/migrate_diff.sh index aa1eb034..875fb339 100755 --- a/.mise/tasks/migrate_diff.sh +++ b/.mise/tasks/migrate_diff.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +#MISE description="Use Atlas to attempt to automatically create SQL migration files (see https://atlasgo.io/versioned/diff)" echo -n 'Migration Name: ' diff --git a/.mise/tasks/migrate_new.ps1 b/.mise/tasks/migrate_new.ps1 new file mode 100644 index 00000000..a37dfdd2 --- /dev/null +++ b/.mise/tasks/migrate_new.ps1 @@ -0,0 +1,10 @@ +#MISE description="Use Atlas to create a new manual SQL migration file (see https://atlasgo.io/versioned/new)" + +Write-Host -NoNewline 'Migration Name: ' +$migration_name = Read-Host +atlas migrate new "$migration_name" --dir "file://migrations/sql?format=golang-migrate" +if (-not $?) { + Write-Error "If the above failed due to a checksum error, don't run the command it suggests, instead run ``mise run migrate_hash`` " +} else { + Write-Host "Created new migration '$migration_name', check the migrations/sql/ directory for the new files" +} diff --git a/.mise/tasks/migrate_new.sh b/.mise/tasks/migrate_new.sh index 28021747..5986600e 100755 --- a/.mise/tasks/migrate_new.sh +++ b/.mise/tasks/migrate_new.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +#MISE description="Use Atlas to create a new manual SQL migration file (see https://atlasgo.io/versioned/new)" echo -n 'Migration Name: ' diff --git a/README.md b/README.md index fd3c75a5..2ea0dfc4 100755 --- a/README.md +++ b/README.md @@ -74,8 +74,14 @@ mise run lint mise run setup # Start PostgreSQL, Redis, MinIO mise run teardown # Stop services +# Linux (bash): activate an interactive bash shell with Mise tools loaded +eval "$(mise activate bash)" + # Windows: activate an interactive PowerShell with Mise tools loaded. Requires Powershell >= 7 mise activate pwsh | Out-String | Invoke-Expression + +# Database migrations. See `mise tasks` for more info. +mise run migrate_diff ``` ### Local Testing @@ -98,7 +104,7 @@ The credentials are specified in `docker-compose-dev.yml`. Once logged in, add a server. The "Host name/address" should be `postgres`, username should be `postgres`, password should be `POSTGRES_PASSWORD` from `docker-compose.yml`. -You can view tables via `Servers >(name)> Databases > postgres > Schemas > public > Tables`. +You can view tables via `Servers > (name) > Databases > postgres > Schemas > public > Tables`. ## Architecture @@ -106,6 +112,7 @@ You can view tables via `Servers >(name)> Databases > postgres > Schemas > publi - **Framework**: Echo v4 with middleware - **Database**: PostgreSQL with Ent ORM + - [Atlas versioned migrations](https://atlasgo.io/versioned/intro) - **GraphQL**: gqlgen with custom resolvers - **Authentication**: Multi-provider OAuth + PASETO tokens - **Storage**: S3-compatible (MinIO for dev) @@ -145,7 +152,8 @@ See `config/config.go` for full configuration structure. - Database schemas (`db/schema/*.go`) - Swagger annotations -2. **Database Changes**: Use Atlas migrations +2. **Database Changes**: Use Atlas migrations (entgo has integration with it via golang-migrate) + - Use mise tasks to create migration files (`mise tasks` for more details) - SQL migrations in `migrations/sql/` - Code migrations in `migrations/code/` diff --git a/cspell.json b/cspell.json index e3a24cb8..11f4f4da 100644 --- a/cspell.json +++ b/cspell.json @@ -18,6 +18,7 @@ "gqlgen", "INNF", "INNOEF", + "iocopy", "libwebp", "Mircea", "mtxr", diff --git a/go.sum b/go.sum index 9cab2517..05a00337 100644 --- a/go.sum +++ b/go.sum @@ -318,6 +318,8 @@ github.com/hashicorp/hcl/v2 v2.13.0 h1:0Apadu1w6M11dyGFxWnmhhcMjkbAiKCv7G1r/2QgC github.com/hashicorp/hcl/v2 v2.13.0/go.mod h1:e4z5nxYlWNPdDSNYX+ph14EvWYMFm3eP0zIUqPc2jr0= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/ianlancetaylor/demangle v0.0.0-20230524184225-eabc099b10ab/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw= +github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= +github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 h1:iCEnooe7UlwOQYpKFhBabPMi4aNAfoODPEFNiAnClxo= @@ -416,6 +418,8 @@ github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/o1egl/paseto/v2 v2.1.1 h1:vWP5o9P/3UEXXQ+/BHQRrpdXpK+X9RMtD4IvB30FWF0= github.com/o1egl/paseto/v2 v2.1.1/go.mod h1:HQ4aS/uX2A/v1h/BIh5XTFStRm+eMdI7G/jBaQ0vaCA= +github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= +github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= @@ -483,6 +487,8 @@ github.com/spf13/afero v1.14.0 h1:9tH6MapGnn/j0eb0yIXiLjERO8RB6xIVZRDCX7PtqWA= github.com/spf13/afero v1.14.0/go.mod h1:acJQ8t0ohCGuMN3O+Pv0V0hgMxNYDlvdk+VTfyZmbYo= github.com/spf13/cast v1.9.2 h1:SsGfm7M8QOFtEzumm7UZrZdLLquNdzFYfIbEXntcFbE= github.com/spf13/cast v1.9.2/go.mod h1:jNfB8QC9IA6ZuY2ZjDp0KtFO2LZZlg4S/7bzP6qqeHo= +github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo= +github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0= github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o= github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4= diff --git a/mise.toml b/mise.toml index 43dce3f0..3f70de13 100644 --- a/mise.toml +++ b/mise.toml @@ -25,23 +25,26 @@ run = "go test -v -coverprofile=coverage.txt -covermode=atomic -coverpkg=./... - run = "go test -v -coverprofile=coverage.txt -covermode=atomic -coverpkg=./... -p 1 -timeout 1h ./... 2>&1 | go-junit-report -iocopy -set-exit-code -out junit.xml" [tasks.migrate_hash] +description = "Recalculate Atlas migration hashes (see https://atlasgo.io/versioned/new#recalculating-the-directory-hash)" run = "atlas migrate hash --dir \"file://migrations/sql?format=golang-migrate\"" +# windows has different escaping or something? +run_windows = 'atlas migrate hash --dir file://migrations/sql?format=golang-migrate' [tasks.generate] run = "go generate -tags tools -x ./..." [tasks.setup] run = [ - "docker compose --file docker-compose-dev.yml up --detach --wait && sleep 5", + "docker compose --file docker-compose-dev.yml up --detach --wait && sleep 5", "mc alias set local http://localhost:9000 minio minio123", - "mc admin user svcacct remove local/ REPLACE_ME_KEY --dp || echo It is okay for this REMOVE command to fail if the account does not exist", + "mc admin user svcacct remove local/ REPLACE_ME_KEY --dp || echo It is okay for this REMOVE command to fail if the account is not found", "mc admin user svcacct add local minio --access-key REPLACE_ME_KEY --secret-key REPLACE_ME_SECRET", "mc anonymous set public local/smr" ] run_windows = [ "docker compose --file docker-compose-dev.yml up --detach --wait && timeout /t 5", "mc alias set local http://localhost:9000 minio minio123", - "mc admin user svcacct remove local/ REPLACE_ME_KEY --dp || echo It is okay for this REMOVE command to fail if the account does not exist", + "mc admin user svcacct remove local/ REPLACE_ME_KEY --dp || echo It is okay for this REMOVE command to fail if the account is not found", "mc admin user svcacct add local minio --access-key REPLACE_ME_KEY --secret-key REPLACE_ME_SECRET", "mc anonymous set public local/smr" ] From 9fe7c0bc0494b9b625bce37e5caf7a56b311d035 Mon Sep 17 00:00:00 2001 From: Rob B Date: Sun, 11 Jan 2026 04:35:30 -0500 Subject: [PATCH 014/100] docs: add descriptions for all mise tasks --- README.md | 24 +++++++++++------------- mise.toml | 10 ++++++++++ 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 2ea0dfc4..c7d55167 100755 --- a/README.md +++ b/README.md @@ -57,6 +57,13 @@ The Satisfactory Mod Repository backend API - a Go-based service providing REST ## Development Commands ```bash +# Get information about all available mise tasks +mise tasks + +# Environment management +mise run setup # Start PostgreSQL, Redis, MinIO, etc. containers +mise run teardown # Stop services + # Code generation (run after schema changes) mise run generate @@ -70,10 +77,6 @@ mise run coverage # Linting mise run lint -# Environment management -mise run setup # Start PostgreSQL, Redis, MinIO -mise run teardown # Stop services - # Linux (bash): activate an interactive bash shell with Mise tools loaded eval "$(mise activate bash)" @@ -169,15 +172,10 @@ See `config/config.go` for full configuration structure. **Before submitting:** ```bash -mise run lint # Check code quality -mise run test # Run test suite -mise run generate # Regenerate if needed -``` - -Some linting issues can be auto-fixed: - -```bash -mise run format +mise run lint # Check code quality +mise run format # Some linting issues can be auto-fixed +mise run localtest # Run test suite +mise run generate # Regenerate if needed ``` **Development patterns:** diff --git a/mise.toml b/mise.toml index 3f70de13..b602f761 100644 --- a/mise.toml +++ b/mise.toml @@ -9,19 +9,24 @@ protoc-gen-go = "1.36.6" protoc-gen-go-grpc = "1.5.1" [tasks.api] +description = "Run the API server. Make sure containers are running via `mise run setup` first." run = "go run cmd/api/serve.go" [tasks.test] +description = "Run all tests (with verbose output, for CI)" run = "go test -parallel 1 -v -timeout 1h ./..." # Run the tests without the verbose flag so it is easier to parse the output for local development [tasks.localtest] +description = "Run all tests (without the verbose flag, so it's easier to parse the output for local development)" run = "go test -parallel 1 -timeout 1h ./..." [tasks.coverage] +description = "TODO @Vilsol description? Run all tests and output coverage details" run = "go test -v -coverprofile=coverage.txt -covermode=atomic -coverpkg=./... -p 1 -timeout 1h ./..." [tasks.test_coverage_junit] +description = "TODO @Vilsol description? Run all tests and produce a JUnit coverage report in an XML" run = "go test -v -coverprofile=coverage.txt -covermode=atomic -coverpkg=./... -p 1 -timeout 1h ./... 2>&1 | go-junit-report -iocopy -set-exit-code -out junit.xml" [tasks.migrate_hash] @@ -31,9 +36,11 @@ run = "atlas migrate hash --dir \"file://migrations/sql?format=golang-migrate\"" run_windows = 'atlas migrate hash --dir file://migrations/sql?format=golang-migrate' [tasks.generate] +description = "Update Golang generated code" run = "go generate -tags tools -x ./..." [tasks.setup] +description = "Start docker containers and setup minio access" run = [ "docker compose --file docker-compose-dev.yml up --detach --wait && sleep 5", "mc alias set local http://localhost:9000 minio minio123", @@ -50,10 +57,13 @@ run_windows = [ ] [tasks.teardown] +description = "Stop and destroy docker containers. Volumes are preserved." run = "docker compose --file docker-compose-dev.yml down" [tasks.lint] +description = "Check for linting issues" run = "golangci-lint run" [tasks.format] +description = "Try to automatically fix linting issues" run = "golangci-lint run --fix" From 332d101bae13ce5266acd5919fc478ba7456e038 Mon Sep 17 00:00:00 2001 From: Rob B Date: Sun, 11 Jan 2026 15:30:34 -0500 Subject: [PATCH 015/100] test: add controller compat to Update test --- tests/mod_test.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/mod_test.go b/tests/mod_test.go index ce7322dd..d8cfe3dc 100644 --- a/tests/mod_test.go +++ b/tests/mod_test.go @@ -271,6 +271,10 @@ func TestMods(t *testing.T) { note: "World", state: Works } + Controller: { + note: "Foobar" + state: Partial + } } } ) { From aa8294d17fd6552cdc7b06d8a986f820a2eb0f80 Mon Sep 17 00:00:00 2001 From: Rob B Date: Sun, 11 Jan 2026 15:48:45 -0500 Subject: [PATCH 016/100] chore: `go mod tidy` (I uncommented the toolchain directive and tidy removed it) --- go.mod | 3 --- go.sum | 6 ------ 2 files changed, 9 deletions(-) diff --git a/go.mod b/go.mod index dfb6416f..2c7decd2 100755 --- a/go.mod +++ b/go.mod @@ -3,9 +3,6 @@ module github.com/satisfactorymodding/smr-api // when updating, also update .devcontainer/Dockerfile go 1.24.4 -// TODO include this directive? - https://go.dev/blog/toolchain -// toolchain go1.24.4 - require ( ariga.io/entcache v0.1.0 entgo.io/ent v0.14.4 diff --git a/go.sum b/go.sum index 05a00337..9cab2517 100644 --- a/go.sum +++ b/go.sum @@ -318,8 +318,6 @@ github.com/hashicorp/hcl/v2 v2.13.0 h1:0Apadu1w6M11dyGFxWnmhhcMjkbAiKCv7G1r/2QgC github.com/hashicorp/hcl/v2 v2.13.0/go.mod h1:e4z5nxYlWNPdDSNYX+ph14EvWYMFm3eP0zIUqPc2jr0= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/ianlancetaylor/demangle v0.0.0-20230524184225-eabc099b10ab/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw= -github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= -github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 h1:iCEnooe7UlwOQYpKFhBabPMi4aNAfoODPEFNiAnClxo= @@ -418,8 +416,6 @@ github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/o1egl/paseto/v2 v2.1.1 h1:vWP5o9P/3UEXXQ+/BHQRrpdXpK+X9RMtD4IvB30FWF0= github.com/o1egl/paseto/v2 v2.1.1/go.mod h1:HQ4aS/uX2A/v1h/BIh5XTFStRm+eMdI7G/jBaQ0vaCA= -github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= -github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= @@ -487,8 +483,6 @@ github.com/spf13/afero v1.14.0 h1:9tH6MapGnn/j0eb0yIXiLjERO8RB6xIVZRDCX7PtqWA= github.com/spf13/afero v1.14.0/go.mod h1:acJQ8t0ohCGuMN3O+Pv0V0hgMxNYDlvdk+VTfyZmbYo= github.com/spf13/cast v1.9.2 h1:SsGfm7M8QOFtEzumm7UZrZdLLquNdzFYfIbEXntcFbE= github.com/spf13/cast v1.9.2/go.mod h1:jNfB8QC9IA6ZuY2ZjDp0KtFO2LZZlg4S/7bzP6qqeHo= -github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo= -github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0= github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o= github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4= From cb63ec16deddabdc53a113217a69dece866f7c20 Mon Sep 17 00:00:00 2001 From: Rob B Date: Sun, 11 Jan 2026 16:14:36 -0500 Subject: [PATCH 017/100] fix: force LF line endings on windows for sql files so atlas migration hashes are consistent --- .gitattributes | 3 + migrations/sql/atlas.sum | 166 +++++++++++++++++++-------------------- 2 files changed, 86 insertions(+), 83 deletions(-) diff --git a/.gitattributes b/.gitattributes index 81f17f00..80f246ba 100644 --- a/.gitattributes +++ b/.gitattributes @@ -4,3 +4,6 @@ * text=auto *.sh text eol=lf *.env* text eol=lf + +# Atlas migration hashes are different if file get windows line endings +*.sql text eol=lf diff --git a/migrations/sql/atlas.sum b/migrations/sql/atlas.sum index f344848f..365d9c58 100644 --- a/migrations/sql/atlas.sum +++ b/migrations/sql/atlas.sum @@ -1,83 +1,83 @@ -h1:m6O8MtHIxeJQhdyVwK5doujEkWDrIUgKxqAtphtLcNg= -000001_create_initial_tables.down.sql h1:TAv6ggW4lbUwOkOMZXmU4dTtFHhFzbUoR4sO11ziCfc= -000001_create_initial_tables.up.sql h1:kKhn2SgX9TQdLhBRg3qEZ3U7UDUkcH5TxS6OX6UHUEw= -000002_create_user_group_table.down.sql h1:f+tCUAVsan7L2YiEgoIM44P9VmbiLabWlnuMsMrdC8o= -000002_create_user_group_table.up.sql h1:BG9E87PsefDDaNR/zIpLbzdbMEWM87g8X0OoIXyTgpU= -000003_add_last_version_date_mod_table.down.sql h1:6Qve2zC9jXzG0I7Ex7LnSEzXHwQMaW50ancWsSRfw2w= -000003_add_last_version_date_mod_table.up.sql h1:B7FK6ReUlEaMG69RVuLBDleQWiggNbGOjhfTDoldFSY= -000004_add_more_oauth_options.down.sql h1:tftu94bVIseAJxpJ3SRUAXu+RESoZJlogpaAWYPlQN4= -000004_add_more_oauth_options.up.sql h1:PlrWl6Kw8vyiZstKo9BDUWyi4qlO8m7tVbJvCH43Sv4= -000005_create_user_group_table.down.sql h1:XnhvTYQf57tPj6VwxkRWrx7qgMo6xspd/5rE/c2t/pY= -000005_create_user_group_table.up.sql h1:Wc2Lzi5koNNblGg0WMlu6A5kghi/kQQClNKjyZWSl/s= -000006_sml_versions_table.down.sql h1:s6mQr4bCrDsE2Eh2bkE/c8IOYHK1W6mYcy2/JltAZ2E= -000006_sml_versions_table.up.sql h1:+nhsOYP18/vt/DBsqFv7dHelncglGWeGhQgR/Xh9PR0= -000007_relationships.down.sql h1:96D/tLlkB4F6svCi6AvBPEa4k58s0S88HPp9ZHa2ugU= -000007_relationships.up.sql h1:22U/8LzjwxbPcx1Cdy8Ej+2PFXdZAxoJdSyT9ivb42Y= -000008_version_dependencies.down.sql h1:PkOaetr304hexViaRkLsVNUE8b0/ZHdSn6kFdLWBVnQ= -000008_version_dependencies.up.sql h1:0hUeBOQs7Q2NH7zNSkcJDLaB82Vfm0SqttMZdkmnpGE= -000009_bootstrap_versions_table.down.sql h1:0ua4I9hKXGcG/WtMfzXz/roNTb7yna3fuOCuGTIStZk= -000009_bootstrap_versions_table.up.sql h1:zkmXnkJ23AXQQVPZM/ulvAPDoUc+dwSVoGXjgVC0AjY= -000010_add_version_dependency_optional.down.sql h1:5+SjU9WUGIv11qWueD29ktxbNSWb6lWcO/u0L8BouHs= -000010_add_version_dependency_optional.up.sql h1:aDyGsUiLOMAQ2iPdimdkQQMtItSfAPXXKAZEvKs/HLw= -000011_add_mod_reference.down.sql h1:bnjHq5oXHnvAfvHLj1+v8SboVeDv6Lsgy43CmIH1kYw= -000011_add_mod_reference.up.sql h1:afEnBhujHYJgXpY2Jz6bfitjxk19bDHGJNqsJa6YCe0= -000012_add_version_metadata.down.sql h1:prYrSeSOlOGKa5p8/y0xd5x2YcIZOxXfP8EZA/TGMM4= -000012_add_version_metadata.up.sql h1:nXqrh06TKCwW5KAbMmlEbxnYYkqepiHE7I0hUylJxs8= -000013_add_version_mod_reference.down.sql h1:92ge01KVDJmSN6BTTfTuPcWgjImUnSD3w3jbl/RFCI0= -000013_add_version_mod_reference.up.sql h1:FWF5G4N+hAsgOqEPXwTjT6HbPDytWcABoO+gdN34S4Y= -000014_add_version_split_hidden.down.sql h1:iPhobpK95Yh8QLrj5os4B+dscZfJo48vcBngnzg+GUg= -000014_add_version_split_hidden.up.sql h1:amDCSi/BnAoIzu2x4t8LcVRGM9sOvvaRV9i8I/L/wOA= -000015_enable_trgm.down.sql h1:oyBqYgvoRmDF2wYvu6bGRQGacAOJ7x+qAbNhseo5hZQ= -000015_enable_trgm.up.sql h1:gN4T2DCOjXARG3H3QpXGk/U3+MWXbyqOfrCo+f7hgJk= -000016_add_user_groups_dates.down.sql h1:eUgYfWMiC2fvdsugqJ9rs5IOVRMKguHMFK/sorgvN7o= -000016_add_user_groups_dates.up.sql h1:+AhLGfTBNAvAlVQhy1cxy6lu77eqbcMRyGr2P8UuYRQ= -000017_add_version_indexes.down.sql h1:YfN82544ApEsVFjEFPAXJeqFDdK4BBJ2KppigIL6U/c= -000017_add_version_indexes.up.sql h1:XafY9GFpEDx31Qm/HUtviPjb6zSy5Fzpx3KMWu268j4= -000018_add_announcements.down.sql h1:JQfwIZarOCsRvqyxPQ3XGbI/2sbbfBJQ5hBj9AiVIWs= -000018_add_announcements.up.sql h1:8S/jV9e3bIo2am9W31/uvKMr5M3yZ6KnwViSMqnq+js= -000019_add_tags.down.sql h1:uRV6TDjH/3AqzBtdL7MhMSmLVDPyQIxSp8uENNJ2x+c= -000019_add_tags.up.sql h1:gSN6DjRc8/KRTNal8hLjcOO7cZwSRN/uXuFkCJwgyjQ= -000020_add_compatibility.down.sql h1:kGGFZ/1j1zK0g6Uthv55w1IPg0dLznHEbKwTj9IcM44= -000020_add_compatibility.up.sql h1:x8ppz4h7xxt9XKnsiPT2WxLFnI9Ektlgj8d9N1NqOmQ= -000021_add_mod_platform.down.sql h1:wuyZvOdxvhA8iTC0znHidyJB/xfIv0TkK2Erfvb1xXE= -000021_add_mod_platform.up.sql h1:L4N1gpRuEI1ftkqwDZUzEKjmvWPdN98o3s5rGWyFZCg= -000022_update_mod_targets.down.sql h1:wIqfa7Dx5TY8+7YP3pDsnyhMYp1Nx2MiFyIPazmWT2E= -000022_update_mod_targets.up.sql h1:WhowPZDmHdEjCUQ9oxdP/hgfLyRsAr2UHx+gR1dHC8k= -000023_migrate_versions_to_targets.down.sql h1:aEx2A+u7vTJMA2blSeHrK02PhOUukGyythT0mSNnq8k= -000023_migrate_versions_to_targets.up.sql h1:33dWRe6FNkabQnjFu1oPZXxi2rEdmZJIn+f8Hgv4qZI= -000024_add_sml_engine_version.down.sql h1:OyRiEb0VJ1x6wo22AgX6tKSNUH2P5LjHo6EQTkyXLFQ= -000024_add_sml_engine_version.up.sql h1:z8c5VNSeWHDcOanE1F4d7RGzxNwq/YedG3LWJ7ZnfPI= -000025_add_tag_description.down.sql h1:SzZR95r55IKxn6TiVqebn5r885tMtuK73CCkPZhi7wM= -000025_add_tag_description.up.sql h1:qMM3YX88dbrHMOHZjwG68uhlO2wQ5c75MQNn7dhrkvg= -000026_add_rng.down.sql h1:3mqfZIagraGHwmh1o0BP8ScAzgw4wqnD2zXGPp5b8C8= -000026_add_rng.up.sql h1:PQfw2YPE8HjykQeC3Kpktzoc5bAnR+d9nv+RzxiK6AE= -000027_add_id_columns.down.sql h1:jfk5162eLuR6eiQcWDntsd6It9WrnxE0gbpf8tqJi8U= -000027_add_id_columns.up.sql h1:B4UK18rhiOgz+A9KWCIMdyVvUnxJMcp8QBxJrXXME4o= -000028_increase_token_length_limit.down.sql h1:qg9PvQmD1883kp4OYz7rBAp2ZGUX1X/4Jv4xbDrKg8Y= -000028_increase_token_length_limit.up.sql h1:GkNSYjqoNMlkEjncIV+zyz6EYl2u3itgB4x0Ol4KcOQ= -000029_sml_as_mod.down.sql h1:TJOCDXqHi1akk/kvji1H2BP3ApUfoRnsCH5R5U9BgiQ= -000029_sml_as_mod.up.sql h1:o5aqeDjdx/rS5b5Ku/xKu0GKCx2l/K19gbk1jVg2Dow= -000030_db_normalization.down.sql h1:F7JVR7RJ1SDEvzKlby32OiBiWocDRweqecK2sSJL/D4= -000030_db_normalization.up.sql h1:fbA9hbv7WkCTFK6m+PHPNz/hfWVD6Lm/to+owsaHlFQ= -20240705180551_initial_transfer_to_atlas.down.sql h1:pDMCHu/t3upV/vNitEiGpt8CuaP886EELsWOo2bRAuc= -20240705180551_initial_transfer_to_atlas.up.sql h1:cfGHmEZD0rUbVfVBSvlL6RtgYrayWlgfoS2OptbF/gE= -20240815141045_drop_version_stability_enum.down.sql h1:q+Un9r7fxI2kDZIOlv6j7Gpmfr2FKOde0+7YjfewsHQ= -20240815141045_drop_version_stability_enum.up.sql h1:4KOWq9Y1QN/1IgeM+b9+NsMXLUlPV7gFNoOfgg1Qn80= -20240818235330_index_fixes.down.sql h1:imMYBi1RH5MGeJKabtj6ZqkI7YbdIAubh6KV1tCjrb0= -20240818235330_index_fixes.up.sql h1:0e4W8zNloIYlhMRFvGzfsMxoB3hBnaNMU83dTDiXMBE= -20240819092347_user_indexes.down.sql h1:DFXT/qDXmmyZGwf6cyWk50M743zmCz3MCYTMxCKp0AM= -20240819092347_user_indexes.up.sql h1:JG6wY+xcMidSbRyt7KspXN488rDvfxmDp6bNSfcsguA= -20240823233610_add_mod_toggles.down.sql h1:52/zfHvDc4vbmIwM0nJLcPULayOPKMzuXj2nz8WzNnQ= -20240823233610_add_mod_toggles.up.sql h1:e88KAwYbnB8bOjye2SpuGXH/BNGjnUp7R3YqYP0PueU= -20240826153722_add_thumbhash.down.sql h1:pVMtsQ+Z9oBLUe1OOne/nHOGnpIHQq7UB756aWlMoNA= -20240826153722_add_thumbhash.up.sql h1:kE8s74yhUgLGu1FGvp7lWkJbWe7MG6MjgG1Iweo9wc8= -20240930114249_add_required_on_remote.down.sql h1:nHDVWPb5ylNYvXk2+hJyn+HzPFmpc7eCAT8m5DPFEjc= -20240930114249_add_required_on_remote.up.sql h1:ayNDXhhQ+vFnslXHV6U/F4nb2nA/eqCWFIzDiayjVdE= -20241002191358_state_fix.down.sql h1:0ReiqKKlDWaCjBt1qiEh4T1vHBm0fkNHDBO498qzBLM= -20241002191358_state_fix.up.sql h1:LOhvOnIkb9ZAaKx1MglYLO49JAEoQqHTU6qGiLG1UVE= -20241003161005_create_virustotal_results_table.down.sql h1:6qHGnsq2X9gim/B8sK4Fr5yjPFPhFA5YG5p9V1gjv3w= -20241003161005_create_virustotal_results_table.up.sql h1:oSgJ3hMhfiAm8qI9KRzON9vsKjhBmvmschos1rOLyWs= -20241008092121_nullable_mod_logo.down.sql h1:QRySsschX3aPUeAFSm4kUNfxaQH5B77eqz05MrNERrE= -20241008092121_nullable_mod_logo.up.sql h1:deO7iGJdjR3epppZ9lzqjhYAO+AuW/zaGW2+4b6RT1s= -20250411023207_AddNetworkUsageDisclosure.down.sql h1:MWSCWoBKT4ROX0Db653hWJUnrwzVWTjNkodnu8Qi0MY= -20250411023207_AddNetworkUsageDisclosure.up.sql h1:1CqJ3pLTirIG2ToWQfWaBH1KmYKgva0kH1eoj4qrpjI= +h1:18/5wJCwkS75Ax2ldNtRbe1buh+7Kh3lz5xDergJ46A= +000001_create_initial_tables.down.sql h1:QcXXwE8ir3PM3vZjQfBihY55WiuLYjN8pbbk/L6U+bs= +000001_create_initial_tables.up.sql h1:EfAqETefs7TW9BDVS4ukiB7wUFs+HQzVdc3qHhdAFd4= +000002_create_user_group_table.down.sql h1:uJjRbQ3H7yvPGNXLD5iSPmderEoWhCNGdsqN8yqBIRY= +000002_create_user_group_table.up.sql h1:vv+FICnFttPJjETbbP3zC20qjeaoD22GsTIhbiqAabI= +000003_add_last_version_date_mod_table.down.sql h1:7XgG/ar7HtfaelfZqAUay9tbGNuE9Zpr8HCXy43Bzho= +000003_add_last_version_date_mod_table.up.sql h1:XS+Wq0PxMje4FspHU0Vf+XMmRPUaNzlzUf2LwBaMJ44= +000004_add_more_oauth_options.down.sql h1:Nh6jm45ZwD5ILB9hD53n3E0FGJBJYiDcgeqKDNa2VEs= +000004_add_more_oauth_options.up.sql h1:1AEKJpNonhN2foWAQy3XEZ7o7Uzz/3VSlSp/HCx2syA= +000005_create_user_group_table.down.sql h1:eT2Sxdjl5PbCEYI2V+iS+ZWqOzBZmX8P022kuYSk8ys= +000005_create_user_group_table.up.sql h1:WiSmqlhOxkcjpe17HaoyHNgIm6R3ZjmDu3JcAig2qww= +000006_sml_versions_table.down.sql h1:9dF9n2s+VTs19tBIF2a/1j8fxmPPR9DACt+3AjFIWj4= +000006_sml_versions_table.up.sql h1:q5mTTHw6XUuHeEGwAQwTbU4XD99j34AiX+D4jL+OZhg= +000007_relationships.down.sql h1:RQK9FsUwEQpH/R1P8lDd1Kj5Qn9K2b7FSSI0kc9fv68= +000007_relationships.up.sql h1:1ssg/HrReOUFJ3fJT64ZUfJyNmn7iCKXNMOdPMEPUv8= +000008_version_dependencies.down.sql h1:lC7lLTXlHMcfHk0o9zdqVnPBwEN65jPziIRjhj69UMQ= +000008_version_dependencies.up.sql h1:tKOBn8Ce6V0ycMDCzGPtscaVElc0Lum4a8uXW9omYlw= +000009_bootstrap_versions_table.down.sql h1:w0K92Mbw7AXU56U5wJVeNE2GvftvQVIeITV2pvIjFCI= +000009_bootstrap_versions_table.up.sql h1:ERPrO2NWBqs6q2ttKNaI0rid3jYKZj6qR913jwzrlYg= +000010_add_version_dependency_optional.down.sql h1:y7DGX+fLPcd/YTHOSHkPleglQDxrNSoeDHwPLQHLMh0= +000010_add_version_dependency_optional.up.sql h1:YjPoFnJhBKD2fnGFhOFtfGEvC6eyXYAsUxsSlnAsDz4= +000011_add_mod_reference.down.sql h1:nr8I6DoIUWPuRDysXh6sOkfC3HpLm/a6UVCLrf0xPMc= +000011_add_mod_reference.up.sql h1:KZS/NMJoWieGP1jtJC51i/lF2a4jOiUWasQibCJ8p9o= +000012_add_version_metadata.down.sql h1:zCNOV0MM5mf636RYhQ7Yz9GKmB+OZ18DnWaIa1ENq5s= +000012_add_version_metadata.up.sql h1:tsd7mN8319cn7XGsdgCmVourq4jhbmuZ/Uapsu9rjJ8= +000013_add_version_mod_reference.down.sql h1:qUmWSHyAGz9AT/Jt2llZnVFADYN1hhgzLYwwuMiMKKo= +000013_add_version_mod_reference.up.sql h1:d65ZVSgh92pwIDrMIwGGJZ6v5fux7AQsrQr8G40iADk= +000014_add_version_split_hidden.down.sql h1:iZcK2FjO+I+xOYWYVF4BJ7ukmBGO0jPGlai2rgOH2P8= +000014_add_version_split_hidden.up.sql h1:3oVTcZfJBy4Fhl6rbD85VGRWKExxHb4ax3hYGbPpkY0= +000015_enable_trgm.down.sql h1:AJJmClZ48VYAJS+Q2rLrPlmIFWktOJInnqrh8SfUrn0= +000015_enable_trgm.up.sql h1:BuogUZkedrKpWLCyX+mtPJrK07tRRAvd30cBUq7T70k= +000016_add_user_groups_dates.down.sql h1:WuPC7OtC0GWeczc2J9ikGGjgnjeqY17iorFBe0tfHZg= +000016_add_user_groups_dates.up.sql h1:KEqV3mtM7RLoBJLxnW++X8dMK16ptMN6Iy/T0QLJZLE= +000017_add_version_indexes.down.sql h1:KiSzz+mDVeHRnUy43t9MdVAC84iXHan64sZNk18+Q/8= +000017_add_version_indexes.up.sql h1:7TqNLBwA+fRodGwo7mQjWm70kEa7yCzhN40WwAvWLE0= +000018_add_announcements.down.sql h1:deFRIsA9cNi5yPqRdzKk/5MvUsSPl8b7HUQnfhBZJvM= +000018_add_announcements.up.sql h1:RD9TFmGFPMiJW19jNwXJ9XjfoNtNcw4blzaLS3Rrvow= +000019_add_tags.down.sql h1:CStsWh+638pZQbFbEEwZoWC+XF5S/xHSJSjzdhP9ybU= +000019_add_tags.up.sql h1:18KalrGuJNFDjFmVlXRGNsEm768VymvCFzvNB0KKtB8= +000020_add_compatibility.down.sql h1:4v6wWre9XOs+z140mpTDuRueHb/6iOcS0ezn/LHf13o= +000020_add_compatibility.up.sql h1:XgJ1a1joBZtLnoVNt24FfmXrYXn0d8iZa61kJ4EvmZ0= +000021_add_mod_platform.down.sql h1:vtA2qkHxQfc+fHlvJ8KXjk4K0rVG4MPTopP1TSMbiPY= +000021_add_mod_platform.up.sql h1:mj/TKRTjPcpmyQdIasBteHe36JkLfrVphsyw9yZTApI= +000022_update_mod_targets.down.sql h1:CP8p7mS9QaWacjBS8CAUaT4Cy7/qWjMt7wBbVq1qjJI= +000022_update_mod_targets.up.sql h1:gUZTxiHhZ7taXyV+C3188GnmeBI/uI7uBqjD41UgQEs= +000023_migrate_versions_to_targets.down.sql h1:VInDE7go02NuOl82UHeibzgZJqxPhWgmvH5fylAWJTE= +000023_migrate_versions_to_targets.up.sql h1:vdqjCswMAe+rma9iHtXbFSQu9lD13TiXIRMYpDhmm1M= +000024_add_sml_engine_version.down.sql h1:2v4S22nL7rL6lCeqLijs62srTmhm+1bHvpbpercu+U4= +000024_add_sml_engine_version.up.sql h1:FOidt1bZzyltMGmZfQVbe+4uqU2l2C8RosedCZ8DN7o= +000025_add_tag_description.down.sql h1:UYOx8SSsOukHsbDJZWLoyeDkJk+2PwbqG07txsQ3N+Y= +000025_add_tag_description.up.sql h1:f5KICtSygQSqt6T1zwvskLGEN4IQ3LoUh+a9dMEHySU= +000026_add_rng.down.sql h1:gNRv048A3SjY4QpUfBB7Jssc0yye634QMBEIH/Yxo5E= +000026_add_rng.up.sql h1:UfiORAolITEGUqaiieZUbLo4ym9ucLD9j/13XsTHw0U= +000027_add_id_columns.down.sql h1:evCZZoTTRe7D6actv9T6RnMmmsa/H/mx+iuW+peFpiw= +000027_add_id_columns.up.sql h1:FLIEmyz5jO+QPCBGb/DNSW6QWTIgVUHb7CY712IFBZ4= +000028_increase_token_length_limit.down.sql h1:4AiEPXj1XVBAZs1DReN+sBOkDdAZye15yIVNKAg/KC4= +000028_increase_token_length_limit.up.sql h1:j8x0A/MQf/Sqv0ZqULcn3AMbQkH632EW7YfzlSIeezA= +000029_sml_as_mod.down.sql h1:+OMz5BAnf/sjjO6hcnWagU2OXmabMHYMXwHmSlZk2rg= +000029_sml_as_mod.up.sql h1:LjCzX2ua9e0QmxCsYL9Yj7Rf8toWut6KdbR32ROraU0= +000030_db_normalization.down.sql h1:eHNIHjteGV6/BRywsJoV/WNQS3EVl9KISGRCjgP4XAA= +000030_db_normalization.up.sql h1:siSIt2HFybFyxqzFNw/V12GSf58Id6aBcLnT5eg0YXs= +20240705180551_initial_transfer_to_atlas.down.sql h1:naUs2XWGUoYRCxS59USK+Ic6AolQnLX3BMPUHdxBUL8= +20240705180551_initial_transfer_to_atlas.up.sql h1:x51llUVQXurUJEu3S6QckS4S3FBPhrSCoTK5ay/okG8= +20240815141045_drop_version_stability_enum.down.sql h1:goFiSI0l6xzq5MSB0z7gH1pLWH/DxdqNtUU8tW5ff5g= +20240815141045_drop_version_stability_enum.up.sql h1:vPGVKylyRRIvaQwdlOtAdn6M6rpA2HrXxLXRf2aDO4Q= +20240818235330_index_fixes.down.sql h1:RbMhIdLIODCHYHWp/WxFpVBcmwKYedsudaVAuYHX+zY= +20240818235330_index_fixes.up.sql h1:xTw9pSSWkMcjZeIC+npdWT2nk+bvcjVMHHvyB2cDz5g= +20240819092347_user_indexes.down.sql h1:a+LhZ3NoCFBFWrBDcZAKjh8szFZsKWSLFd9LfsoDWbs= +20240819092347_user_indexes.up.sql h1:Ei9ma1Kd/88nB4QOKmSfjz+gSs/sW1rB7LM3+3bY71s= +20240823233610_add_mod_toggles.down.sql h1:6M1jiInRvHFBMTj2+NRdipO/z5oyn7qBYt4EIOTIqXg= +20240823233610_add_mod_toggles.up.sql h1:GuKMUrlGo1PppjX0uiw3OTyi2nziRI+o/LVtWfcjyLc= +20240826153722_add_thumbhash.down.sql h1:FN73gi6XvAkodHxFuE4oDU73FfchoyonlyroQTrwCW0= +20240826153722_add_thumbhash.up.sql h1:7a9d40zpOnKMamxW14ql3WFXiwXD4O6AjwMlAOVE7ik= +20240930114249_add_required_on_remote.down.sql h1:cbW5+35gg4R78zsjcqPO94e8X1QcYB9nPllGgtKGOr8= +20240930114249_add_required_on_remote.up.sql h1:NZJmXjtKEIHRhVlSSu9nKADo/8xhZAeckrf6NoZMmjk= +20241002191358_state_fix.down.sql h1:EnNOr58ajtIPS7BIgA6l60Jr8hE0ufCE6t0zFdvfnaw= +20241002191358_state_fix.up.sql h1:4bVw9fxEP9MrHBSYuRF3vFCgaWF79EUeacD3e+vSQR4= +20241003161005_create_virustotal_results_table.down.sql h1:BPUQ6UnWq6Inwz2GhZLoy4/QghPhClf1PlfZHis92P4= +20241003161005_create_virustotal_results_table.up.sql h1:mXMWj998hZ59bbkZYIbbyxU9foptzWuXHnlS2UuY4bY= +20241008092121_nullable_mod_logo.down.sql h1:vKZrz/FqaaQctvzrTR0EvQcyQ6ENWgTbcud7q2/NvnY= +20241008092121_nullable_mod_logo.up.sql h1:7ePponYitScS4NnMP+hRoEAKnvPPpbCHXMxilYzfmD8= +20250411023207_AddNetworkUsageDisclosure.down.sql h1:sQX4+HnrJQvszKAgUYZxQcjwA3qJq/FzjCeoBtzPBWA= +20250411023207_AddNetworkUsageDisclosure.up.sql h1:pWfqNociMWEWh83IL4C8CKxOj9vhS6R9jZe0zkiU23Q= From f439098b4581780d363f523135f9e1d98e7a8df7 Mon Sep 17 00:00:00 2001 From: Rob B Date: Sun, 11 Jan 2026 16:33:22 -0500 Subject: [PATCH 018/100] chore: update atlas to 1.0.0 --- mise.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mise.toml b/mise.toml index b602f761..a2d063e1 100644 --- a/mise.toml +++ b/mise.toml @@ -1,6 +1,6 @@ [tools] "aqua:minio/mc" = "RELEASE.2025-04-08T15-39-49Z" -atlas = "0.32.0" +atlas = "1.0.0" go = "1.24.4" go-junit-report = "2.1.0" golangci-lint = "2.1.6" From 47c4d58145be0ef34d625fb8adf52b5421663aa4 Mon Sep 17 00:00:00 2001 From: Rob B Date: Sun, 11 Jan 2026 16:37:00 -0500 Subject: [PATCH 019/100] cI: produce descriptive error when generated files don't match --- .github/workflows/generated.yml | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/.github/workflows/generated.yml b/.github/workflows/generated.yml index bc3bd3ba..aed8bed5 100644 --- a/.github/workflows/generated.yml +++ b/.github/workflows/generated.yml @@ -23,8 +23,13 @@ jobs: - name: Tidy run: go mod tidy - - name: Ensure no changes - run: git diff --exit-code + - name: Ensure freshly generated hashes match committed ones + run: | + if ! git diff --exit-code; then + echo "Error: Generating migration hashes again produced output that doesn't match those committed to the repo." + echo "Run 'mise run migrate_hash' and commit the changes." + exit 1 + fi go: runs-on: ubuntu-latest @@ -41,5 +46,10 @@ jobs: - name: Tidy run: go mod tidy - - name: Ensure no changes - run: git diff --exit-code + - name: Ensure freshly generated code matches committed code + run: | + if ! git diff --exit-code; then + echo "Error: Regenerating the generated code produced output that doesn't match the code committed to the repo." + echo "Run 'mise run generate' and commit the changes." + exit 1 + fi From 0b606ff5deab6edb09ecaf7b26f9dd87f031430a Mon Sep 17 00:00:00 2001 From: Rob B Date: Sun, 11 Jan 2026 16:48:52 -0500 Subject: [PATCH 020/100] chore: `mise run migrate_hash` (seems atlas 1.0.0 has different ordering/hashing?) --- migrations/sql/atlas.sum | 125 +++++++++++++-------------------------- 1 file changed, 42 insertions(+), 83 deletions(-) diff --git a/migrations/sql/atlas.sum b/migrations/sql/atlas.sum index 365d9c58..e4dc323c 100644 --- a/migrations/sql/atlas.sum +++ b/migrations/sql/atlas.sum @@ -1,83 +1,42 @@ -h1:18/5wJCwkS75Ax2ldNtRbe1buh+7Kh3lz5xDergJ46A= -000001_create_initial_tables.down.sql h1:QcXXwE8ir3PM3vZjQfBihY55WiuLYjN8pbbk/L6U+bs= -000001_create_initial_tables.up.sql h1:EfAqETefs7TW9BDVS4ukiB7wUFs+HQzVdc3qHhdAFd4= -000002_create_user_group_table.down.sql h1:uJjRbQ3H7yvPGNXLD5iSPmderEoWhCNGdsqN8yqBIRY= -000002_create_user_group_table.up.sql h1:vv+FICnFttPJjETbbP3zC20qjeaoD22GsTIhbiqAabI= -000003_add_last_version_date_mod_table.down.sql h1:7XgG/ar7HtfaelfZqAUay9tbGNuE9Zpr8HCXy43Bzho= -000003_add_last_version_date_mod_table.up.sql h1:XS+Wq0PxMje4FspHU0Vf+XMmRPUaNzlzUf2LwBaMJ44= -000004_add_more_oauth_options.down.sql h1:Nh6jm45ZwD5ILB9hD53n3E0FGJBJYiDcgeqKDNa2VEs= -000004_add_more_oauth_options.up.sql h1:1AEKJpNonhN2foWAQy3XEZ7o7Uzz/3VSlSp/HCx2syA= -000005_create_user_group_table.down.sql h1:eT2Sxdjl5PbCEYI2V+iS+ZWqOzBZmX8P022kuYSk8ys= -000005_create_user_group_table.up.sql h1:WiSmqlhOxkcjpe17HaoyHNgIm6R3ZjmDu3JcAig2qww= -000006_sml_versions_table.down.sql h1:9dF9n2s+VTs19tBIF2a/1j8fxmPPR9DACt+3AjFIWj4= -000006_sml_versions_table.up.sql h1:q5mTTHw6XUuHeEGwAQwTbU4XD99j34AiX+D4jL+OZhg= -000007_relationships.down.sql h1:RQK9FsUwEQpH/R1P8lDd1Kj5Qn9K2b7FSSI0kc9fv68= -000007_relationships.up.sql h1:1ssg/HrReOUFJ3fJT64ZUfJyNmn7iCKXNMOdPMEPUv8= -000008_version_dependencies.down.sql h1:lC7lLTXlHMcfHk0o9zdqVnPBwEN65jPziIRjhj69UMQ= -000008_version_dependencies.up.sql h1:tKOBn8Ce6V0ycMDCzGPtscaVElc0Lum4a8uXW9omYlw= -000009_bootstrap_versions_table.down.sql h1:w0K92Mbw7AXU56U5wJVeNE2GvftvQVIeITV2pvIjFCI= -000009_bootstrap_versions_table.up.sql h1:ERPrO2NWBqs6q2ttKNaI0rid3jYKZj6qR913jwzrlYg= -000010_add_version_dependency_optional.down.sql h1:y7DGX+fLPcd/YTHOSHkPleglQDxrNSoeDHwPLQHLMh0= -000010_add_version_dependency_optional.up.sql h1:YjPoFnJhBKD2fnGFhOFtfGEvC6eyXYAsUxsSlnAsDz4= -000011_add_mod_reference.down.sql h1:nr8I6DoIUWPuRDysXh6sOkfC3HpLm/a6UVCLrf0xPMc= -000011_add_mod_reference.up.sql h1:KZS/NMJoWieGP1jtJC51i/lF2a4jOiUWasQibCJ8p9o= -000012_add_version_metadata.down.sql h1:zCNOV0MM5mf636RYhQ7Yz9GKmB+OZ18DnWaIa1ENq5s= -000012_add_version_metadata.up.sql h1:tsd7mN8319cn7XGsdgCmVourq4jhbmuZ/Uapsu9rjJ8= -000013_add_version_mod_reference.down.sql h1:qUmWSHyAGz9AT/Jt2llZnVFADYN1hhgzLYwwuMiMKKo= -000013_add_version_mod_reference.up.sql h1:d65ZVSgh92pwIDrMIwGGJZ6v5fux7AQsrQr8G40iADk= -000014_add_version_split_hidden.down.sql h1:iZcK2FjO+I+xOYWYVF4BJ7ukmBGO0jPGlai2rgOH2P8= -000014_add_version_split_hidden.up.sql h1:3oVTcZfJBy4Fhl6rbD85VGRWKExxHb4ax3hYGbPpkY0= -000015_enable_trgm.down.sql h1:AJJmClZ48VYAJS+Q2rLrPlmIFWktOJInnqrh8SfUrn0= -000015_enable_trgm.up.sql h1:BuogUZkedrKpWLCyX+mtPJrK07tRRAvd30cBUq7T70k= -000016_add_user_groups_dates.down.sql h1:WuPC7OtC0GWeczc2J9ikGGjgnjeqY17iorFBe0tfHZg= -000016_add_user_groups_dates.up.sql h1:KEqV3mtM7RLoBJLxnW++X8dMK16ptMN6Iy/T0QLJZLE= -000017_add_version_indexes.down.sql h1:KiSzz+mDVeHRnUy43t9MdVAC84iXHan64sZNk18+Q/8= -000017_add_version_indexes.up.sql h1:7TqNLBwA+fRodGwo7mQjWm70kEa7yCzhN40WwAvWLE0= -000018_add_announcements.down.sql h1:deFRIsA9cNi5yPqRdzKk/5MvUsSPl8b7HUQnfhBZJvM= -000018_add_announcements.up.sql h1:RD9TFmGFPMiJW19jNwXJ9XjfoNtNcw4blzaLS3Rrvow= -000019_add_tags.down.sql h1:CStsWh+638pZQbFbEEwZoWC+XF5S/xHSJSjzdhP9ybU= -000019_add_tags.up.sql h1:18KalrGuJNFDjFmVlXRGNsEm768VymvCFzvNB0KKtB8= -000020_add_compatibility.down.sql h1:4v6wWre9XOs+z140mpTDuRueHb/6iOcS0ezn/LHf13o= -000020_add_compatibility.up.sql h1:XgJ1a1joBZtLnoVNt24FfmXrYXn0d8iZa61kJ4EvmZ0= -000021_add_mod_platform.down.sql h1:vtA2qkHxQfc+fHlvJ8KXjk4K0rVG4MPTopP1TSMbiPY= -000021_add_mod_platform.up.sql h1:mj/TKRTjPcpmyQdIasBteHe36JkLfrVphsyw9yZTApI= -000022_update_mod_targets.down.sql h1:CP8p7mS9QaWacjBS8CAUaT4Cy7/qWjMt7wBbVq1qjJI= -000022_update_mod_targets.up.sql h1:gUZTxiHhZ7taXyV+C3188GnmeBI/uI7uBqjD41UgQEs= -000023_migrate_versions_to_targets.down.sql h1:VInDE7go02NuOl82UHeibzgZJqxPhWgmvH5fylAWJTE= -000023_migrate_versions_to_targets.up.sql h1:vdqjCswMAe+rma9iHtXbFSQu9lD13TiXIRMYpDhmm1M= -000024_add_sml_engine_version.down.sql h1:2v4S22nL7rL6lCeqLijs62srTmhm+1bHvpbpercu+U4= -000024_add_sml_engine_version.up.sql h1:FOidt1bZzyltMGmZfQVbe+4uqU2l2C8RosedCZ8DN7o= -000025_add_tag_description.down.sql h1:UYOx8SSsOukHsbDJZWLoyeDkJk+2PwbqG07txsQ3N+Y= -000025_add_tag_description.up.sql h1:f5KICtSygQSqt6T1zwvskLGEN4IQ3LoUh+a9dMEHySU= -000026_add_rng.down.sql h1:gNRv048A3SjY4QpUfBB7Jssc0yye634QMBEIH/Yxo5E= -000026_add_rng.up.sql h1:UfiORAolITEGUqaiieZUbLo4ym9ucLD9j/13XsTHw0U= -000027_add_id_columns.down.sql h1:evCZZoTTRe7D6actv9T6RnMmmsa/H/mx+iuW+peFpiw= -000027_add_id_columns.up.sql h1:FLIEmyz5jO+QPCBGb/DNSW6QWTIgVUHb7CY712IFBZ4= -000028_increase_token_length_limit.down.sql h1:4AiEPXj1XVBAZs1DReN+sBOkDdAZye15yIVNKAg/KC4= -000028_increase_token_length_limit.up.sql h1:j8x0A/MQf/Sqv0ZqULcn3AMbQkH632EW7YfzlSIeezA= -000029_sml_as_mod.down.sql h1:+OMz5BAnf/sjjO6hcnWagU2OXmabMHYMXwHmSlZk2rg= -000029_sml_as_mod.up.sql h1:LjCzX2ua9e0QmxCsYL9Yj7Rf8toWut6KdbR32ROraU0= -000030_db_normalization.down.sql h1:eHNIHjteGV6/BRywsJoV/WNQS3EVl9KISGRCjgP4XAA= -000030_db_normalization.up.sql h1:siSIt2HFybFyxqzFNw/V12GSf58Id6aBcLnT5eg0YXs= -20240705180551_initial_transfer_to_atlas.down.sql h1:naUs2XWGUoYRCxS59USK+Ic6AolQnLX3BMPUHdxBUL8= -20240705180551_initial_transfer_to_atlas.up.sql h1:x51llUVQXurUJEu3S6QckS4S3FBPhrSCoTK5ay/okG8= -20240815141045_drop_version_stability_enum.down.sql h1:goFiSI0l6xzq5MSB0z7gH1pLWH/DxdqNtUU8tW5ff5g= -20240815141045_drop_version_stability_enum.up.sql h1:vPGVKylyRRIvaQwdlOtAdn6M6rpA2HrXxLXRf2aDO4Q= -20240818235330_index_fixes.down.sql h1:RbMhIdLIODCHYHWp/WxFpVBcmwKYedsudaVAuYHX+zY= -20240818235330_index_fixes.up.sql h1:xTw9pSSWkMcjZeIC+npdWT2nk+bvcjVMHHvyB2cDz5g= -20240819092347_user_indexes.down.sql h1:a+LhZ3NoCFBFWrBDcZAKjh8szFZsKWSLFd9LfsoDWbs= -20240819092347_user_indexes.up.sql h1:Ei9ma1Kd/88nB4QOKmSfjz+gSs/sW1rB7LM3+3bY71s= -20240823233610_add_mod_toggles.down.sql h1:6M1jiInRvHFBMTj2+NRdipO/z5oyn7qBYt4EIOTIqXg= -20240823233610_add_mod_toggles.up.sql h1:GuKMUrlGo1PppjX0uiw3OTyi2nziRI+o/LVtWfcjyLc= -20240826153722_add_thumbhash.down.sql h1:FN73gi6XvAkodHxFuE4oDU73FfchoyonlyroQTrwCW0= -20240826153722_add_thumbhash.up.sql h1:7a9d40zpOnKMamxW14ql3WFXiwXD4O6AjwMlAOVE7ik= -20240930114249_add_required_on_remote.down.sql h1:cbW5+35gg4R78zsjcqPO94e8X1QcYB9nPllGgtKGOr8= -20240930114249_add_required_on_remote.up.sql h1:NZJmXjtKEIHRhVlSSu9nKADo/8xhZAeckrf6NoZMmjk= -20241002191358_state_fix.down.sql h1:EnNOr58ajtIPS7BIgA6l60Jr8hE0ufCE6t0zFdvfnaw= -20241002191358_state_fix.up.sql h1:4bVw9fxEP9MrHBSYuRF3vFCgaWF79EUeacD3e+vSQR4= -20241003161005_create_virustotal_results_table.down.sql h1:BPUQ6UnWq6Inwz2GhZLoy4/QghPhClf1PlfZHis92P4= -20241003161005_create_virustotal_results_table.up.sql h1:mXMWj998hZ59bbkZYIbbyxU9foptzWuXHnlS2UuY4bY= -20241008092121_nullable_mod_logo.down.sql h1:vKZrz/FqaaQctvzrTR0EvQcyQ6ENWgTbcud7q2/NvnY= -20241008092121_nullable_mod_logo.up.sql h1:7ePponYitScS4NnMP+hRoEAKnvPPpbCHXMxilYzfmD8= -20250411023207_AddNetworkUsageDisclosure.down.sql h1:sQX4+HnrJQvszKAgUYZxQcjwA3qJq/FzjCeoBtzPBWA= -20250411023207_AddNetworkUsageDisclosure.up.sql h1:pWfqNociMWEWh83IL4C8CKxOj9vhS6R9jZe0zkiU23Q= +h1:LHkV+TMPuSqpomRq2vg2Zsx86/ERuB6wpHSTTdZCwuc= +000001_create_initial_tables.up.sql h1:D0NgABAZGONTBH9/T9MFCYkbw/LSee86lP4XsQYMx98= +000002_create_user_group_table.up.sql h1:+fOxjCFeU5GoVTO5cXzxWsMZtz2Qz3tal9vT5kdYuFI= +000003_add_last_version_date_mod_table.up.sql h1:t73i5gC2YrwlIcDn/MZmznGnArF0aA8dLYuA9NnVtbE= +000004_add_more_oauth_options.up.sql h1:UfHJiPBYFTjXHL17LQZ4ZgV/DVrghwDXNW8/RbODtaE= +000005_create_user_group_table.up.sql h1:EJZXV0bZqwqoVa6P6PmaolKRIYicgIsChRGggsiJ6lo= +000006_sml_versions_table.up.sql h1:5XDtXz2jQbdvo60fy5B5Ce8IjIv8ps3Ft24WhUCeJgg= +000007_relationships.up.sql h1:1WYFF1wqu0RkWwkWaNwb2A/oB9w9QPG5arrp0mT4WqE= +000008_version_dependencies.up.sql h1:N1z3vwv9inkKVLNsFif1At1UKAcAESxcfxJvkFOcSDs= +000009_bootstrap_versions_table.up.sql h1:w/1bXOeE/oXZCpWrBAZqHRZpeobofO2u4fYQvLu1oGg= +000010_add_version_dependency_optional.up.sql h1:9cHZYZ6TO05wvf0KCfl7+kZJLtLk3UDzF82AN1Hn7l0= +000011_add_mod_reference.up.sql h1:xGokeJASPuf5VnbehlA+fK8zHpevyeZG+r7u1z3tBrA= +000012_add_version_metadata.up.sql h1:redOIFgiRg6ggVs6tmxXvwxJS1xrCrqMdNFm/Buc5d0= +000013_add_version_mod_reference.up.sql h1:JgnH3EpwY4tulGYAlwVztW+eXG6Fh2/rHyDQm5mxfrk= +000014_add_version_split_hidden.up.sql h1:m8+Ai12K/ktPMD5vnKzTmf826pJfsICbQ1YcIruwO4U= +000015_enable_trgm.up.sql h1:K8lVS0W+1MVfuavMgRHplm8mTJowQojOj6zYux6QqHQ= +000016_add_user_groups_dates.up.sql h1:UyASdzLCBLFXhSFU5DkIznmy/2pIj8NeiL86oac0R7I= +000017_add_version_indexes.up.sql h1:n+BDJKAqvkp+z2faXsIgwNLwqMsSS307rKHCfUou4zQ= +000018_add_announcements.up.sql h1:X6OHBgP8fHQwcfRemioYD+CbipdZW5IzQiXwz2aCaK0= +000019_add_tags.up.sql h1:XStGF4N1GNGY2HTgY8YjpCTB7+V9mj431P5zSGJ3Ewo= +000020_add_compatibility.up.sql h1:Q4v3tPOH5xhFjxHkgxBz6zAsDieltsjM0s0WgrF9C8g= +000021_add_mod_platform.up.sql h1:Gzea7AIiEqsxWT6ti3ZtnzlwaHcx8U93uVY/+A9QJrc= +000022_update_mod_targets.up.sql h1:9VZrns7VPceKdEfhfchdbss3GBP+Ih7/SJjs+sA4UnM= +000023_migrate_versions_to_targets.up.sql h1:NytNFpV/ug5hxc6OM1RWvI+eJ3n1QFsERjWZ3dP3fig= +000024_add_sml_engine_version.up.sql h1:s1fzd/7sjyxtfFuh8bFbGCLTlZLjryMV6GHtJNnuTaY= +000025_add_tag_description.up.sql h1:7UdZZTJ70RJ+tA9M+EiVh+KqwwljYdPw27UQxrMedH8= +000026_add_rng.up.sql h1:y2Q8DUV27wx8/eKvTPduSU0RseM7wfCU79x1tvMmRY0= +000027_add_id_columns.up.sql h1:lILQ8le1eipNJuHuqKMaRK6RW8jBGpWOz8GDhiKEAIo= +000028_increase_token_length_limit.up.sql h1:U70DVHXY6f6vqwKxOQJzhnEZmYE5ML0+7Jc5Vh4tXb4= +000029_sml_as_mod.up.sql h1:e6Foai/N7l/zYvntn9+kNKGGPagGWYDaJ5X6XGse4lY= +000030_db_normalization.up.sql h1:rF0E/b2sF9jz3rzm1/1Ql0/TkMirgaj4w0jXTo65TMo= +20240705180551_initial_transfer_to_atlas.up.sql h1:ajYV7/WSvuMOYJDvHN0MY4z2VnX9ANJBIdV+ihZ9EGo= +20240815141045_drop_version_stability_enum.up.sql h1:ywxbAJ9lnwR6JOC+KRaW4r7nXRrLPx0J3INhD3dQlrw= +20240818235330_index_fixes.up.sql h1:YZvT7uroa6JFF+vRoufyn+rf/a/s45O05HTY/dv2Ai0= +20240819092347_user_indexes.up.sql h1:+QCDfycakdaavcoNA+zj0HwbzwfadE2pB3DpiezQS2g= +20240823233610_add_mod_toggles.up.sql h1:nTUp0VvrYxl9G92vjsP69Prgcwk4L4E4mehBcOH4sv0= +20240826153722_add_thumbhash.up.sql h1:1YhxpFNMlJQm3Xi42zD2XZVsJOPy4vNigFe1BP1E63c= +20240930114249_add_required_on_remote.up.sql h1:G3uEz4oAPvu+Q7kEVvZTiMYHMv6v/c+iImQGbQye+TQ= +20241002191358_state_fix.up.sql h1:PkJ9r2oq+nxMtZgWfjhPUvWhlGVLlEeky/1xqTrURjM= +20241003161005_create_virustotal_results_table.up.sql h1:u6cVcBPQnurXvy5pqbyzG6C4ThJ59v6dmhp5DgZBrBE= +20241008092121_nullable_mod_logo.up.sql h1:ZLscID5T67EWW7NVp95cXNyOadb2G5qTH0itfgoCUO4= +20250411023207_AddNetworkUsageDisclosure.up.sql h1:XgIdy3eJQ+VJSlx4Nr8ltcXFk6AwbSnzfnhC4RI9c9k= From 210be840b2b12c63745f510a34b841692a14e00c Mon Sep 17 00:00:00 2001 From: Rob B Date: Sat, 24 Jan 2026 12:48:14 -0500 Subject: [PATCH 021/100] chore: one mise migrate_hash command that works on both platforms --- mise.toml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/mise.toml b/mise.toml index a2d063e1..df2a38e4 100644 --- a/mise.toml +++ b/mise.toml @@ -31,9 +31,7 @@ run = "go test -v -coverprofile=coverage.txt -covermode=atomic -coverpkg=./... - [tasks.migrate_hash] description = "Recalculate Atlas migration hashes (see https://atlasgo.io/versioned/new#recalculating-the-directory-hash)" -run = "atlas migrate hash --dir \"file://migrations/sql?format=golang-migrate\"" -# windows has different escaping or something? -run_windows = 'atlas migrate hash --dir file://migrations/sql?format=golang-migrate' +run = 'atlas migrate hash --dir file://migrations/sql?format=golang-migrate' [tasks.generate] description = "Update Golang generated code" From ac6ab28d3d84d19ef6ea9eb916f94a2b2a3d4287 Mon Sep 17 00:00:00 2001 From: Rob B Date: Sat, 24 Jan 2026 14:13:40 -0500 Subject: [PATCH 022/100] chore: move setup task to files, add ci argument to use docker compose progress=plain for ci --- .github/workflows/build.yml | 4 ++-- .mise/tasks/setup.ps1 | 12 ++++++++++++ .mise/tasks/setup.sh | 22 ++++++++++++++++++++++ README.md | 1 + generated/README.md | 6 +++--- mise.toml | 17 ----------------- 6 files changed, 40 insertions(+), 22 deletions(-) create mode 100644 .mise/tasks/setup.ps1 create mode 100644 .mise/tasks/setup.sh diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c92fe0ea..3ee5354b 100755 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -59,7 +59,7 @@ jobs: GITHUB_TOKEN: ${{ github.token }} - name: Setup - run: mise run setup + run: mise run setup -ci - name: Test run: mise run test_coverage_junit @@ -105,7 +105,7 @@ jobs: GITHUB_TOKEN: ${{ github.token }} - name: Setup - run: mise run setup + run: mise run setup -ci - name: Download and seed database run: | diff --git a/.mise/tasks/setup.ps1 b/.mise/tasks/setup.ps1 new file mode 100644 index 00000000..fe400a0d --- /dev/null +++ b/.mise/tasks/setup.ps1 @@ -0,0 +1,12 @@ +#MISE description="Start docker containers and setup minio access" +param( + [switch]$ci +) + +$progress = if ($ci) { "plain" } else { "auto" } + +docker compose --progress $progress --file docker-compose-dev.yml up --detach --wait && timeout /t 5 +mc alias set local http://localhost:9000 minio minio123 +mc admin user svcacct remove local/ REPLACE_ME_KEY --dp || Write-Output "It is okay for this REMOVE command to fail if the account is not found" +mc admin user svcacct add local minio --access-key REPLACE_ME_KEY --secret-key REPLACE_ME_SECRET +mc anonymous set public local/smr diff --git a/.mise/tasks/setup.sh b/.mise/tasks/setup.sh new file mode 100644 index 00000000..36a1d6f9 --- /dev/null +++ b/.mise/tasks/setup.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env bash +#MISE description="Start docker containers and setup minio access" + +ci=false +while [[ $# -gt 0 ]]; do + case "$1" in + -ci) + ci=true + ;; + *) + ;; + esac + shift +done + +progress=$([ "$ci" = true ] && echo "plain" || echo "auto") + +docker compose --progress "$progress" --file docker-compose-dev.yml up --detach --wait && echo "Waiting for 5 seconds" && sleep 5 +mc alias set local http://localhost:9000 minio minio123 +mc admin user svcacct remove local/ REPLACE_ME_KEY --dp || echo It is okay for this REMOVE command to fail if the account is not found +mc admin user svcacct add local minio --access-key REPLACE_ME_KEY --secret-key REPLACE_ME_SECRET +mc anonymous set public local/smr diff --git a/README.md b/README.md index c7d55167..c87197ed 100755 --- a/README.md +++ b/README.md @@ -91,6 +91,7 @@ mise run migrate_diff To run specific tests: +- Make sure you have started the containers first via `mise run setup` - In VSCode, the [Go Companion](https://marketplace.visualstudio.com/items?itemName=ethan-reesor.exp-vscode-go) suggested extension adds Go test support to VSCode's testing integration. Note you may need to reload VSCode (`Developer: Reload Window`) after adding or removing tests. - From the command line, use `go test -v run TestNameHere` diff --git a/generated/README.md b/generated/README.md index 6d67e059..ef6f5018 100644 --- a/generated/README.md +++ b/generated/README.md @@ -1,7 +1,7 @@ -Do not touch any files in this directory. (except for [custom_models.go](custom_models.go)) +Do not touch any files in this directory except for [custom_models.go](custom_models.go). It is generated by running the following command in the root directory: ```shell -go generate -tags tools -x ./... -``` \ No newline at end of file +mise run generate +``` diff --git a/mise.toml b/mise.toml index df2a38e4..fb5e7c14 100644 --- a/mise.toml +++ b/mise.toml @@ -37,23 +37,6 @@ run = 'atlas migrate hash --dir file://migrations/sql?format=golang-migrate' description = "Update Golang generated code" run = "go generate -tags tools -x ./..." -[tasks.setup] -description = "Start docker containers and setup minio access" -run = [ - "docker compose --file docker-compose-dev.yml up --detach --wait && sleep 5", - "mc alias set local http://localhost:9000 minio minio123", - "mc admin user svcacct remove local/ REPLACE_ME_KEY --dp || echo It is okay for this REMOVE command to fail if the account is not found", - "mc admin user svcacct add local minio --access-key REPLACE_ME_KEY --secret-key REPLACE_ME_SECRET", - "mc anonymous set public local/smr" -] -run_windows = [ - "docker compose --file docker-compose-dev.yml up --detach --wait && timeout /t 5", - "mc alias set local http://localhost:9000 minio minio123", - "mc admin user svcacct remove local/ REPLACE_ME_KEY --dp || echo It is okay for this REMOVE command to fail if the account is not found", - "mc admin user svcacct add local minio --access-key REPLACE_ME_KEY --secret-key REPLACE_ME_SECRET", - "mc anonymous set public local/smr" -] - [tasks.teardown] description = "Stop and destroy docker containers. Volumes are preserved." run = "docker compose --file docker-compose-dev.yml down" From f4f5647eee94ea650acb5dfb5238ade997d0a199 Mon Sep 17 00:00:00 2001 From: Rob B Date: Tue, 31 Mar 2026 00:04:40 -0400 Subject: [PATCH 023/100] chore: regenerate mise.lock with mise 2026.3.17 --- mise.lock | 180 ++++++++++++++++++++++++++++++++++++++++++++++++------ mise.toml | 5 ++ 2 files changed, 167 insertions(+), 18 deletions(-) diff --git a/mise.lock b/mise.lock index f71ecba2..b8101071 100644 --- a/mise.lock +++ b/mise.lock @@ -1,43 +1,187 @@ -[tools."aqua:minio/mc"] +# @generated - this file is auto-generated by `mise lock` https://mise.jdx.dev/dev-tools/mise-lock.html + +[[tools."aqua:minio/mc"]] version = "RELEASE.2025-04-08T15-39-49Z" backend = "aqua:minio/mc" -[tools."aqua:minio/mc".checksums] -"mc.RELEASE.2025-04-08T15-39-49Z" = "sha256:43d44d801a936e48390c8d2dc02c1c1cc1e973becbe71897f28ca06a9f456489" +[tools."aqua:minio/mc"."platforms.linux-arm64"] +checksum = "sha256:ac7448b6d3188fb94cea48c762d700584e7a0e467e21e1be4cfc823755c026eb" +url = "https://dl.min.io/client/mc/release/linux-arm64/archive/mc.RELEASE.2025-04-08T15-39-49Z" + +[tools."aqua:minio/mc"."platforms.linux-arm64-musl"] +checksum = "sha256:ac7448b6d3188fb94cea48c762d700584e7a0e467e21e1be4cfc823755c026eb" +url = "https://dl.min.io/client/mc/release/linux-arm64/archive/mc.RELEASE.2025-04-08T15-39-49Z" + +[tools."aqua:minio/mc"."platforms.linux-x64"] +checksum = "sha256:43d44d801a936e48390c8d2dc02c1c1cc1e973becbe71897f28ca06a9f456489" +url = "https://dl.min.io/client/mc/release/linux-amd64/archive/mc.RELEASE.2025-04-08T15-39-49Z" + +[tools."aqua:minio/mc"."platforms.linux-x64-musl"] +checksum = "sha256:43d44d801a936e48390c8d2dc02c1c1cc1e973becbe71897f28ca06a9f456489" +url = "https://dl.min.io/client/mc/release/linux-amd64/archive/mc.RELEASE.2025-04-08T15-39-49Z" + +[tools."aqua:minio/mc"."platforms.macos-arm64"] +checksum = "sha256:0ffce1b14eff6b3d410ed400ffbf0530ff4b11d8372115f1afa6f9b483ba5a40" +url = "https://dl.min.io/client/mc/release/darwin-arm64/archive/mc.RELEASE.2025-04-08T15-39-49Z" -[tools.atlas] -version = "0.32.0" +[tools."aqua:minio/mc"."platforms.macos-x64"] +checksum = "sha256:90407d70b69de8251731ed8cf644dd78836c49f1b3f559ae0c2b70dedeaf79aa" +url = "https://dl.min.io/client/mc/release/darwin-amd64/archive/mc.RELEASE.2025-04-08T15-39-49Z" + +[tools."aqua:minio/mc"."platforms.windows-x64"] +checksum = "sha256:45fb732d67cf26a1568c3750a1629d762c2f7b6990995cd02c4b1bb0c3de5770" +url = "https://dl.min.io/client/mc/release/windows-amd64/archive/mc.RELEASE.2025-04-08T15-39-49Z" + +[[tools.atlas]] +version = "1.0.0" backend = "aqua:ariga/atlas" -[tools.go] +[tools.atlas."platforms.linux-arm64"] +checksum = "sha256:69a463cf6d51a93abeffbdc906b69f969c12e7a706a6d0a4e388b4ebd713c5f9" +url = "https://release.ariga.io/atlas/atlas-linux-arm64-v1.0.0" + +[tools.atlas."platforms.linux-arm64-musl"] +checksum = "sha256:69a463cf6d51a93abeffbdc906b69f969c12e7a706a6d0a4e388b4ebd713c5f9" +url = "https://release.ariga.io/atlas/atlas-linux-arm64-v1.0.0" + +[tools.atlas."platforms.linux-x64"] +checksum = "sha256:7147245d95af96cd1e90ef5cfd57aa9e9df2a9e7ca5a735ddf0a1230f325cee2" +url = "https://release.ariga.io/atlas/atlas-linux-amd64-v1.0.0" + +[tools.atlas."platforms.linux-x64-musl"] +checksum = "sha256:7147245d95af96cd1e90ef5cfd57aa9e9df2a9e7ca5a735ddf0a1230f325cee2" +url = "https://release.ariga.io/atlas/atlas-linux-amd64-v1.0.0" + +[tools.atlas."platforms.macos-arm64"] +checksum = "sha256:e7fb3098cc46cf8c2a84f5ed57f371f0ed80986d37f0f606ec464518c20518b5" +url = "https://release.ariga.io/atlas/atlas-darwin-arm64-v1.0.0" + +[tools.atlas."platforms.macos-x64"] +checksum = "sha256:29c140e14d7b359af9cb36a91661a882fd806d4de16867b08b8b948aeba7a507" +url = "https://release.ariga.io/atlas/atlas-darwin-amd64-v1.0.0" + +[tools.atlas."platforms.windows-x64"] +checksum = "sha256:abf36ade639454afe25f646a09eb5c46629b0b06c640b565496fc5d45e56f8ec" +url = "https://release.ariga.io/atlas/atlas-windows-amd64-v1.0.0.exe" + +[[tools.go]] version = "1.24.4" backend = "core:go" -[tools.go.checksums] -"go1.24.4.linux-amd64.tar.gz" = "sha256:77e5da33bb72aeaef1ba4418b6fe511bc4d041873cbf82e5aa6318740df98717" +[tools.go."platforms.linux-arm64"] +checksum = "sha256:d5501ee5aca0f258d5fe9bfaed401958445014495dc115f202d43d5210b45241" +url = "https://dl.google.com/go/go1.24.4.linux-arm64.tar.gz" + +[tools.go."platforms.linux-arm64-musl"] +checksum = "sha256:d5501ee5aca0f258d5fe9bfaed401958445014495dc115f202d43d5210b45241" +url = "https://dl.google.com/go/go1.24.4.linux-arm64.tar.gz" + +[tools.go."platforms.linux-x64"] +checksum = "sha256:77e5da33bb72aeaef1ba4418b6fe511bc4d041873cbf82e5aa6318740df98717" +url = "https://dl.google.com/go/go1.24.4.linux-amd64.tar.gz" + +[tools.go."platforms.linux-x64-musl"] +checksum = "sha256:77e5da33bb72aeaef1ba4418b6fe511bc4d041873cbf82e5aa6318740df98717" +url = "https://dl.google.com/go/go1.24.4.linux-amd64.tar.gz" + +[tools.go."platforms.macos-arm64"] +checksum = "sha256:27973684b515eaf461065054e6b572d9390c05e69ba4a423076c160165336470" +url = "https://dl.google.com/go/go1.24.4.darwin-arm64.tar.gz" + +[tools.go."platforms.macos-x64"] +checksum = "sha256:69bef555e114b4a2252452b6e7049afc31fbdf2d39790b669165e89525cd3f5c" +url = "https://dl.google.com/go/go1.24.4.darwin-amd64.tar.gz" + +[tools.go."platforms.windows-x64"] +checksum = "sha256:b751a1136cb9d8a2e7ebb22c538c4f02c09b98138c7c8bfb78a54a4566c013b1" +url = "https://dl.google.com/go/go1.24.4.windows-amd64.zip" -[tools.go-junit-report] +[[tools.go-junit-report]] version = "2.1.0" -backend = "ubi:jstemmer/go-junit-report" +backend = "aqua:jstemmer/go-junit-report" -[tools.golangci-lint] +[[tools.golangci-lint]] version = "2.1.6" backend = "aqua:golangci/golangci-lint" -[tools.golangci-lint.checksums] -"golangci-lint-2.1.6-linux-amd64.tar.gz" = "sha256:e55e0eb515936c0fbd178bce504798a9bd2f0b191e5e357768b18fd5415ee541" +[tools.golangci-lint."platforms.linux-arm64"] +checksum = "sha256:582eb73880f4408d7fb89f12b502d577bd7b0b63d8c681da92bb6b9d934d4363" +url = "https://github.com/golangci/golangci-lint/releases/download/v2.1.6/golangci-lint-2.1.6-linux-arm64.tar.gz" -[tools.protoc] +[tools.golangci-lint."platforms.linux-arm64-musl"] +checksum = "sha256:582eb73880f4408d7fb89f12b502d577bd7b0b63d8c681da92bb6b9d934d4363" +url = "https://github.com/golangci/golangci-lint/releases/download/v2.1.6/golangci-lint-2.1.6-linux-arm64.tar.gz" + +[tools.golangci-lint."platforms.linux-x64"] +checksum = "sha256:e55e0eb515936c0fbd178bce504798a9bd2f0b191e5e357768b18fd5415ee541" +url = "https://github.com/golangci/golangci-lint/releases/download/v2.1.6/golangci-lint-2.1.6-linux-amd64.tar.gz" + +[tools.golangci-lint."platforms.linux-x64-musl"] +checksum = "sha256:e55e0eb515936c0fbd178bce504798a9bd2f0b191e5e357768b18fd5415ee541" +url = "https://github.com/golangci/golangci-lint/releases/download/v2.1.6/golangci-lint-2.1.6-linux-amd64.tar.gz" + +[tools.golangci-lint."platforms.macos-arm64"] +checksum = "sha256:90783fa092a0f64a4f7b7d419f3da1f53207e300261773babe962957240e9ea6" +url = "https://github.com/golangci/golangci-lint/releases/download/v2.1.6/golangci-lint-2.1.6-darwin-arm64.tar.gz" + +[tools.golangci-lint."platforms.macos-x64"] +checksum = "sha256:e091107c4ca7e283902343ba3a09d14fb56b86e071effd461ce9d67193ef580e" +url = "https://github.com/golangci/golangci-lint/releases/download/v2.1.6/golangci-lint-2.1.6-darwin-amd64.tar.gz" + +[tools.golangci-lint."platforms.windows-x64"] +checksum = "sha256:fd7298019c76cf414ab083491f87f6c0a3e537ed6d727d6ff9135e503d6f9c32" +url = "https://github.com/golangci/golangci-lint/releases/download/v2.1.6/golangci-lint-2.1.6-windows-amd64.zip" + +[[tools.protoc]] version = "31.1" backend = "aqua:protocolbuffers/protobuf/protoc" -[tools.protoc.checksums] -"protoc-31.1-linux-x86_64.zip" = "sha256:96553041f1a91ea0efee963cb16f462f5985b4d65365f3907414c360044d8065" +[tools.protoc."platforms.linux-arm64"] +url = "https://github.com/protocolbuffers/protobuf/releases/download/v31.1/protoc-31.1-linux-aarch_64.zip" + +[tools.protoc."platforms.linux-arm64-musl"] +url = "https://github.com/protocolbuffers/protobuf/releases/download/v31.1/protoc-31.1-linux-aarch_64.zip" + +[tools.protoc."platforms.linux-x64"] +url = "https://github.com/protocolbuffers/protobuf/releases/download/v31.1/protoc-31.1-linux-x86_64.zip" + +[tools.protoc."platforms.linux-x64-musl"] +url = "https://github.com/protocolbuffers/protobuf/releases/download/v31.1/protoc-31.1-linux-x86_64.zip" + +[tools.protoc."platforms.macos-arm64"] +url = "https://github.com/protocolbuffers/protobuf/releases/download/v31.1/protoc-31.1-osx-aarch_64.zip" -[tools.protoc-gen-go] +[tools.protoc."platforms.macos-x64"] +url = "https://github.com/protocolbuffers/protobuf/releases/download/v31.1/protoc-31.1-osx-x86_64.zip" + +[tools.protoc."platforms.windows-x64"] +url = "https://github.com/protocolbuffers/protobuf/releases/download/v31.1/protoc-31.1-win64.zip" + +[[tools.protoc-gen-go]] version = "1.36.6" backend = "aqua:protocolbuffers/protobuf-go/protoc-gen-go" -[tools.protoc-gen-go-grpc] +[tools.protoc-gen-go."platforms.linux-arm64"] +url = "https://github.com/protocolbuffers/protobuf-go/releases/download/v1.36.6/protoc-gen-go.v1.36.6.linux.arm64.tar.gz" + +[tools.protoc-gen-go."platforms.linux-arm64-musl"] +url = "https://github.com/protocolbuffers/protobuf-go/releases/download/v1.36.6/protoc-gen-go.v1.36.6.linux.arm64.tar.gz" + +[tools.protoc-gen-go."platforms.linux-x64"] +url = "https://github.com/protocolbuffers/protobuf-go/releases/download/v1.36.6/protoc-gen-go.v1.36.6.linux.amd64.tar.gz" + +[tools.protoc-gen-go."platforms.linux-x64-musl"] +url = "https://github.com/protocolbuffers/protobuf-go/releases/download/v1.36.6/protoc-gen-go.v1.36.6.linux.amd64.tar.gz" + +[tools.protoc-gen-go."platforms.macos-arm64"] +url = "https://github.com/protocolbuffers/protobuf-go/releases/download/v1.36.6/protoc-gen-go.v1.36.6.darwin.arm64.tar.gz" + +[tools.protoc-gen-go."platforms.macos-x64"] +url = "https://github.com/protocolbuffers/protobuf-go/releases/download/v1.36.6/protoc-gen-go.v1.36.6.darwin.amd64.tar.gz" + +[tools.protoc-gen-go."platforms.windows-x64"] +url = "https://github.com/protocolbuffers/protobuf-go/releases/download/v1.36.6/protoc-gen-go.v1.36.6.windows.amd64.zip" + +[[tools.protoc-gen-go-grpc]] version = "1.5.1" backend = "aqua:grpc/grpc-go/protoc-gen-go-grpc" diff --git a/mise.toml b/mise.toml index fb5e7c14..16b64766 100644 --- a/mise.toml +++ b/mise.toml @@ -8,6 +8,11 @@ protoc = "31.1" protoc-gen-go = "1.36.6" protoc-gen-go-grpc = "1.5.1" +[settings] +lockfile = true + +# File-based tasks are in the .mise/tasks/ directory + [tasks.api] description = "Run the API server. Make sure containers are running via `mise run setup` first." run = "go run cmd/api/serve.go" From 6a0cdace4be09c84b10667d329b92dfe165691eb Mon Sep 17 00:00:00 2001 From: Rob B Date: Tue, 31 Mar 2026 01:40:34 -0400 Subject: [PATCH 024/100] chore: routing task to route to windows or linux variant because of https://github.com/jdx/mise/discussions/7507 --- .../{migrate_diff.sh => migrate_diff_linux.sh} | 4 +++- ...{migrate_diff.ps1 => migrate_diff_windows.ps1} | 2 +- .../{migrate_new.sh => migrate_new_linux.sh} | 2 +- .../{migrate_new.ps1 => migrate_new_windows.ps1} | 2 +- .mise/tasks/{setup.sh => setup_linux.sh} | 3 ++- .mise/tasks/{setup.ps1 => setup_windows.ps1} | 4 +++- mise.toml | 15 +++++++++++++++ 7 files changed, 26 insertions(+), 6 deletions(-) rename .mise/tasks/{migrate_diff.sh => migrate_diff_linux.sh} (65%) mode change 100755 => 100644 rename .mise/tasks/{migrate_diff.ps1 => migrate_diff_windows.ps1} (77%) rename .mise/tasks/{migrate_new.sh => migrate_new_linux.sh} (59%) mode change 100755 => 100644 rename .mise/tasks/{migrate_new.ps1 => migrate_new_windows.ps1} (79%) rename .mise/tasks/{setup.sh => setup_linux.sh} (87%) rename .mise/tasks/{setup.ps1 => setup_windows.ps1} (84%) diff --git a/.mise/tasks/migrate_diff.sh b/.mise/tasks/migrate_diff_linux.sh old mode 100755 new mode 100644 similarity index 65% rename from .mise/tasks/migrate_diff.sh rename to .mise/tasks/migrate_diff_linux.sh index 875fb339..8bbdf830 --- a/.mise/tasks/migrate_diff.sh +++ b/.mise/tasks/migrate_diff_linux.sh @@ -1,8 +1,10 @@ #!/usr/bin/env bash -#MISE description="Use Atlas to attempt to automatically create SQL migration files (see https://atlasgo.io/versioned/diff)" +#MISE hide=true echo -n 'Migration Name: ' read -r migration_name +echo -n "Atlas is running..." + atlas migrate diff "$migration_name" --dir "file://migrations/sql?format=golang-migrate" --to "ent://db/schema" --dev-url "docker://postgres/16/test?search_path=public" diff --git a/.mise/tasks/migrate_diff.ps1 b/.mise/tasks/migrate_diff_windows.ps1 similarity index 77% rename from .mise/tasks/migrate_diff.ps1 rename to .mise/tasks/migrate_diff_windows.ps1 index f8f5207d..60ab97fc 100644 --- a/.mise/tasks/migrate_diff.ps1 +++ b/.mise/tasks/migrate_diff_windows.ps1 @@ -1,4 +1,4 @@ -#MISE description="Use Atlas to attempt to automatically create SQL migration files (see https://atlasgo.io/versioned/diff)" +#MISE hide=true Write-Host -NoNewline 'Migration Name: ' $migration_name = Read-Host diff --git a/.mise/tasks/migrate_new.sh b/.mise/tasks/migrate_new_linux.sh old mode 100755 new mode 100644 similarity index 59% rename from .mise/tasks/migrate_new.sh rename to .mise/tasks/migrate_new_linux.sh index 5986600e..e3e6e088 --- a/.mise/tasks/migrate_new.sh +++ b/.mise/tasks/migrate_new_linux.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -#MISE description="Use Atlas to create a new manual SQL migration file (see https://atlasgo.io/versioned/new)" +#MISE hide=true echo -n 'Migration Name: ' diff --git a/.mise/tasks/migrate_new.ps1 b/.mise/tasks/migrate_new_windows.ps1 similarity index 79% rename from .mise/tasks/migrate_new.ps1 rename to .mise/tasks/migrate_new_windows.ps1 index a37dfdd2..4a611726 100644 --- a/.mise/tasks/migrate_new.ps1 +++ b/.mise/tasks/migrate_new_windows.ps1 @@ -1,4 +1,4 @@ -#MISE description="Use Atlas to create a new manual SQL migration file (see https://atlasgo.io/versioned/new)" +#MISE hide=true Write-Host -NoNewline 'Migration Name: ' $migration_name = Read-Host diff --git a/.mise/tasks/setup.sh b/.mise/tasks/setup_linux.sh similarity index 87% rename from .mise/tasks/setup.sh rename to .mise/tasks/setup_linux.sh index 36a1d6f9..53168062 100644 --- a/.mise/tasks/setup.sh +++ b/.mise/tasks/setup_linux.sh @@ -1,5 +1,6 @@ #!/usr/bin/env bash -#MISE description="Start docker containers and setup minio access" +#USAGE flag "-ci" "Use plain progress output suitable for CI environments" +#MISE hide=true ci=false while [[ $# -gt 0 ]]; do diff --git a/.mise/tasks/setup.ps1 b/.mise/tasks/setup_windows.ps1 similarity index 84% rename from .mise/tasks/setup.ps1 rename to .mise/tasks/setup_windows.ps1 index fe400a0d..94543bac 100644 --- a/.mise/tasks/setup.ps1 +++ b/.mise/tasks/setup_windows.ps1 @@ -1,4 +1,6 @@ -#MISE description="Start docker containers and setup minio access" +#USAGE flag "-ci" "Use plain progress output suitable for CI environments" +#MISE hide=true + param( [switch]$ci ) diff --git a/mise.toml b/mise.toml index 16b64766..56d11c71 100644 --- a/mise.toml +++ b/mise.toml @@ -13,6 +13,11 @@ lockfile = true # File-based tasks are in the .mise/tasks/ directory +[tasks.setup] +description = "Start docker containers and setup minio access" +run= "mise run setup_linux -ci" +run_windows = "mise run setup_windows" # Windows will always just be used for local dev, so no need to run it with the ci flag + [tasks.api] description = "Run the API server. Make sure containers are running via `mise run setup` first." run = "go run cmd/api/serve.go" @@ -53,3 +58,13 @@ run = "golangci-lint run" [tasks.format] description = "Try to automatically fix linting issues" run = "golangci-lint run --fix" + +[tasks.migrate_diff] +description = "Use Atlas to attempt to automatically create SQL migration files (see https://atlasgo.io/versioned/diff)" +run= "mise run migrate_diff_linux" +run_windows = "mise run migrate_diff_windows" + +[tasks.migrate_new] +description = "Use Atlas to create a new manual SQL migration file (see https://atlasgo.io/versioned/new)" +run= "mise run migrate_new_linux" +run_windows = "mise run migrate_new_windows" From 19f817d54053e8227ac66edb3386168c3659866f Mon Sep 17 00:00:00 2001 From: Rob B Date: Tue, 31 Mar 2026 01:41:22 -0400 Subject: [PATCH 025/100] docs: mention conventional commits, powershell >=7 need on windows --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index c87197ed..58214d1f 100755 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ The Satisfactory Mod Repository backend API - a Go-based service providing REST - [mise](https://mise.jdx.dev/) for tool management - [Docker (and Docker Compose)](https://docs.docker.com/desktop/) +- If on Windows, the [latest PowerShell (>= 7)](https://learn.microsoft.com/en-us/powershell/scripting/install/install-powershell-on-windows). Check current version by running `pwsh -v` in a PowerShell window. ([reason why](https://github.com/jdx/mise/discussions/4151)) ### Setup @@ -172,6 +173,8 @@ See `config/config.go` for full configuration structure. **Before submitting:** +Commit messages should follow the [Conventional Commits format](https://www.conventionalcommits.org/en/v1.0.0/). + ```bash mise run lint # Check code quality mise run format # Some linting issues can be auto-fixed From 5fb5fc1fd68c6fcec68bd0477c5e0e6dc07c20e7 Mon Sep 17 00:00:00 2001 From: Rob B Date: Tue, 31 Mar 2026 01:50:01 -0400 Subject: [PATCH 026/100] fix: pin tempo version to fix container crash on startup: ``` failed parsing config: failed to parse configFile /etc/tempo.yaml: yaml: unmarshal errors: line 31: field compactor not found in type app.Config ``` --- docker-compose.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 138e5d41..7e9c029f 100755 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -50,7 +50,8 @@ services: - "3001:3000" tempo: - image: grafana/tempo:latest + # pinned to fix crash on startup: failed parsing config <...> field compactor not found in type app.Config + image: grafana/tempo:r236-1b7deb9 command: [ "-config.file=/etc/tempo.yaml" ] volumes: - ./tempo.yaml:/etc/tempo.yaml From cce22979d252628542d23957f242378863c488a1 Mon Sep 17 00:00:00 2001 From: Rob B Date: Tue, 31 Mar 2026 02:20:04 -0400 Subject: [PATCH 027/100] docs: how to make yourself admin for local testing --- README.md | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 58214d1f..40f04b28 100755 --- a/README.md +++ b/README.md @@ -104,13 +104,31 @@ It is expected for the command to output `[no test files]` for packages with no The development docker compose also includes a pgadmin container for testing database related stuff exposed at . -The credentials are specified in `docker-compose-dev.yml`. +The credentials are specified in [`docker-compose-dev.yml`](docker-compose-dev.yml). Once logged in, add a server. -The "Host name/address" should be `postgres`, username should be `postgres`, password should be `POSTGRES_PASSWORD` from `docker-compose.yml`. +The "Host name/address" should be `postgres`, username should be `postgres`, password should be `POSTGRES_PASSWORD` from [`docker-compose.yml`](docker-compose.yml). You can view tables via `Servers > (name) > Databases > postgres > Schemas > public > Tables`. +#### Site User Roles + +To locally test features of the site that require a user role, you can change your role via direct database queries. +Doing this requires manually creating a `user_groups` entry for you user. + +1. Create an account on your local via the [frontend running with the `development` env](https://github.com/satisfactorymodding/smr-frontend/blob/staging/CONTRIBUTING.md#decide-which-environment-you-want-to-run) +2. Look at [`permissions.go`](/auth/permissions.go) to find the group ID for the group you want to become. Admin is `1`. +3. Run a query in pgadmin to determine your user ID: `SELECT * FROM users;` +4. Run a query to create a user_groups entry for yourself. Example for admin: + + ```sql + INSERT INTO public.user_groups( + user_id, group_id, created_at, updated_at, deleted_at, id) + VALUES ('YOUR_USER_ID_HERE', '1', NOW(), NOW(), null, NOW()); + ``` + +5. Refresh the frontend webpage - you should be an admin now. + ## Architecture **Tech Stack:** @@ -166,7 +184,10 @@ See `config/config.go` for full configuration structure. ```bash mise run setup # Start services - mise run test # Run tests + + mise run localtest # Run tests + # OR + mise run test # Run tests (verbose) ``` ## Contributing From 9670e1266a9d8edd9c7b738fd4d8566eb45db798 Mon Sep 17 00:00:00 2001 From: Rob B Date: Tue, 31 Mar 2026 02:24:47 -0400 Subject: [PATCH 028/100] chore: remove outdated launch.json --- .vscode/launch.json | 16 ---------------- 1 file changed, 16 deletions(-) delete mode 100644 .vscode/launch.json diff --git a/.vscode/launch.json b/.vscode/launch.json deleted file mode 100644 index 6b7defa2..00000000 --- a/.vscode/launch.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "name": "Launch smr-api", - "type": "go", - "request": "launch", - "mode": "auto", - "program": "${workspaceFolder}/cmd/api", - "cwd": "${workspaceFolder}" - } - ] -} From a3e4e134d2c298ca9db5ba6a6d1298ed52f93d9e Mon Sep 17 00:00:00 2001 From: Rob B Date: Tue, 31 Mar 2026 02:43:24 -0400 Subject: [PATCH 029/100] chore: regenerate mise lock --- mise.lock | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/mise.lock b/mise.lock index b8101071..5382b501 100644 --- a/mise.lock +++ b/mise.lock @@ -100,6 +100,21 @@ url = "https://dl.google.com/go/go1.24.4.windows-amd64.zip" version = "2.1.0" backend = "aqua:jstemmer/go-junit-report" +[tools.go-junit-report."platforms.linux-x64"] +url = "https://github.com/jstemmer/go-junit-report/releases/download/v2.1.0/go-junit-report-v2.1.0-linux-amd64.tar.gz" + +[tools.go-junit-report."platforms.linux-x64-musl"] +url = "https://github.com/jstemmer/go-junit-report/releases/download/v2.1.0/go-junit-report-v2.1.0-linux-amd64.tar.gz" + +[tools.go-junit-report."platforms.macos-arm64"] +url = "https://github.com/jstemmer/go-junit-report/releases/download/v2.1.0/go-junit-report-v2.1.0-darwin-arm64.tar.gz" + +[tools.go-junit-report."platforms.macos-x64"] +url = "https://github.com/jstemmer/go-junit-report/releases/download/v2.1.0/go-junit-report-v2.1.0-darwin-amd64.tar.gz" + +[tools.go-junit-report."platforms.windows-x64"] +url = "https://github.com/jstemmer/go-junit-report/releases/download/v2.1.0/go-junit-report-v2.1.0-windows-amd64.zip" + [[tools.golangci-lint]] version = "2.1.6" backend = "aqua:golangci/golangci-lint" From f858c3eb70cca404ce791a85cfd0b1cd0a4bc433 Mon Sep 17 00:00:00 2001 From: Rob B Date: Tue, 31 Mar 2026 02:53:34 -0400 Subject: [PATCH 030/100] chore: chmod +x linux scripts --- .mise/tasks/mark_chmod_execute.ps1 | 9 +++++++++ .mise/tasks/migrate_diff_linux.sh | 0 .mise/tasks/migrate_new_linux.sh | 0 .mise/tasks/setup_linux.sh | 0 4 files changed, 9 insertions(+) create mode 100644 .mise/tasks/mark_chmod_execute.ps1 mode change 100644 => 100755 .mise/tasks/migrate_diff_linux.sh mode change 100644 => 100755 .mise/tasks/migrate_new_linux.sh mode change 100644 => 100755 .mise/tasks/setup_linux.sh diff --git a/.mise/tasks/mark_chmod_execute.ps1 b/.mise/tasks/mark_chmod_execute.ps1 new file mode 100644 index 00000000..7c08a782 --- /dev/null +++ b/.mise/tasks/mark_chmod_execute.ps1 @@ -0,0 +1,9 @@ +#MISE description="For developers on Windows, mark all .sh file-based Mise tasks as executable so Linux devs and the CI can use them" + +$shFiles = Get-ChildItem -Path "./.mise/tasks" -Filter "*.sh" -File + +foreach ($file in $shFiles) { + Write-Host "Setting Linux execute permission on $($file.Name)" + # https://git-scm.com/docs/git-update-index#Documentation/git-update-index.txt---chmod-x + git update-index --chmod=+x $file.FullName +} diff --git a/.mise/tasks/migrate_diff_linux.sh b/.mise/tasks/migrate_diff_linux.sh old mode 100644 new mode 100755 diff --git a/.mise/tasks/migrate_new_linux.sh b/.mise/tasks/migrate_new_linux.sh old mode 100644 new mode 100755 diff --git a/.mise/tasks/setup_linux.sh b/.mise/tasks/setup_linux.sh old mode 100644 new mode 100755 From c14c4fe47f6d9c53ae22483f55c77d6fc1f7c687 Mon Sep 17 00:00:00 2001 From: Rob B Date: Tue, 31 Mar 2026 03:00:24 -0400 Subject: [PATCH 031/100] chore: remove extra argument, list file task properties in ci --- .github/workflows/build.yml | 3 +++ mise.toml | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3ee5354b..e843dd6e 100755 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -58,6 +58,9 @@ jobs: env: GITHUB_TOKEN: ${{ github.token }} + - name: List file tasks and their permissions + run: cd ./.mise/tasks/ && ls -l + - name: Setup run: mise run setup -ci diff --git a/mise.toml b/mise.toml index 56d11c71..b6476e3d 100644 --- a/mise.toml +++ b/mise.toml @@ -15,8 +15,8 @@ lockfile = true [tasks.setup] description = "Start docker containers and setup minio access" -run= "mise run setup_linux -ci" -run_windows = "mise run setup_windows" # Windows will always just be used for local dev, so no need to run it with the ci flag +run= "mise run setup_linux" +run_windows = "mise run setup_windows" [tasks.api] description = "Run the API server. Make sure containers are running via `mise run setup` first." From c06b3bc334f470254cb07f13c2cbc5167fafe160 Mon Sep 17 00:00:00 2001 From: Rob B Date: Tue, 31 Mar 2026 03:22:24 -0400 Subject: [PATCH 032/100] fix: ignore mise.lock in ci diffs because it has checksums windows authors can't produce --- .github/workflows/generated.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/generated.yml b/.github/workflows/generated.yml index aed8bed5..1ec46157 100644 --- a/.github/workflows/generated.yml +++ b/.github/workflows/generated.yml @@ -24,8 +24,9 @@ jobs: run: go mod tidy - name: Ensure freshly generated hashes match committed ones + # Ignore mise.lock because it seems like mise can't generate checksums for platforms that you aren't on -> always diff run: | - if ! git diff --exit-code; then + if ! git diff --exit-code ':!mise.lock'; then echo "Error: Generating migration hashes again produced output that doesn't match those committed to the repo." echo "Run 'mise run migrate_hash' and commit the changes." exit 1 @@ -47,8 +48,9 @@ jobs: run: go mod tidy - name: Ensure freshly generated code matches committed code + # Ignore mise.lock because it seems like mise can't generate checksums for platforms that you aren't on -> always diff run: | - if ! git diff --exit-code; then + if ! git diff --exit-code ':!mise.lock'; then echo "Error: Regenerating the generated code produced output that doesn't match the code committed to the repo." echo "Run 'mise run generate' and commit the changes." exit 1 From 9f14bce8e65dae1c2564925bbf0d426809bf1473 Mon Sep 17 00:00:00 2001 From: Rob B Date: Sat, 23 May 2026 19:48:15 -0700 Subject: [PATCH 033/100] feat: prevent reusing semver of deleted mod versions (#134) * fixed bug added a check for duplicated versions when updating a mod * Update extract_mod_info.go * Update create_version_in_database.go * fixed lint issue * added smod file and test * *hopefully* feature working need to complete the test and confirm feature correctness through frontend * not really working(?) * refactor: `mise run format` * fix: tests should compile better * fix: tests should pass * chore: ran lint * refactor: simplify code and clarify error message * fix: update test expected error --------- Co-authored-by: rhit-zhangl8 <112708732+rhit-zhangl8@users.noreply.github.com> Co-authored-by: rhit-mooretj <112582846+rhit-mooretj@users.noreply.github.com> --- mise.lock | 2 +- tests/version_test.go | 40 ++++++++++++++++----- workflows/versionupload/extract_mod_info.go | 18 +++++++++- 3 files changed, 50 insertions(+), 10 deletions(-) diff --git a/mise.lock b/mise.lock index 5382b501..b161d121 100644 --- a/mise.lock +++ b/mise.lock @@ -1,4 +1,4 @@ -# @generated - this file is auto-generated by `mise lock` https://mise.jdx.dev/dev-tools/mise-lock.html +# @generated - this file is auto-generated by `mise lock` https://mise.en.dev/dev-tools/mise-lock.html [[tools."aqua:minio/mc"]] version = "RELEASE.2025-04-08T15-39-49Z" diff --git a/tests/version_test.go b/tests/version_test.go index bef680fa..05ce67e4 100644 --- a/tests/version_test.go +++ b/tests/version_test.go @@ -57,8 +57,28 @@ func TestSameVersion(t *testing.T) { ctx, client, stop := setup() defer stop() - modID := RunVersionTest(ctx, t, client, "testdata/DuplicateMod.smod", false, "DuplicateMod", "", "") - RunVersionTest(ctx, t, client, "testdata/DuplicateMod.smod", false, "DuplicateMod", modID, "this mod already has a version with this name") + modID, _, _ := RunVersionTest(ctx, t, client, "testdata/DuplicateMod.smod", false, "DuplicateMod", "", "", "") + RunVersionTest(ctx, t, client, "testdata/DuplicateMod.smod", false, "DuplicateMod", modID, "this mod already has a published version with this name", "") +} + +func TestDeletedVersionSemverReuse(t *testing.T) { + ctx, client, stop := setup() + defer stop() + + modID, versionID, token := RunVersionTest(ctx, t, client, "testdata/DuplicateMod.smod", false, "DuplicateMod", "", "", "") + + deleteRequest := authRequest(`mutation DeleteVersion($versionId: VersionID!) { + deleteVersion(versionId: $versionId) + }`, token) + deleteRequest.Var("versionId", versionID) + + var deleteResponse struct { + DeleteVersion bool + } + testza.AssertNoError(t, client.Run(ctx, deleteRequest, &deleteResponse)) + testza.AssertTrue(t, deleteResponse.DeleteVersion) + + RunVersionTest(ctx, t, client, "testdata/DuplicateMod.smod", false, "DuplicateMod", modID, "reusing the version name of a deleted mod version is not allowed", token) } func TestModWithMissingDependency(t *testing.T) { @@ -72,20 +92,24 @@ func TestModMalformedJSON(t *testing.T) { func RunVersionTestWrapper(t *testing.T, modFilePath string, executeVirusCheck bool, modReference string, expectError string) { ctx, client, stop := setup() defer stop() - RunVersionTest(ctx, t, client, modFilePath, executeVirusCheck, modReference, "", expectError) + RunVersionTest(ctx, t, client, modFilePath, executeVirusCheck, modReference, "", expectError, "") } -func RunVersionTest(ctx context.Context, t *testing.T, client *graphql.Client, modFilePath string, executeVirusCheck bool, modReference string, reuseModID string, expectError string) string { +func RunVersionTest(ctx context.Context, t *testing.T, client *graphql.Client, modFilePath string, executeVirusCheck bool, modReference string, reuseModID string, expectError string, providedToken string) (string, string, string) { if executeVirusCheck && (!viper.IsSet("virustotal.key") || viper.GetString("virustotal.key") == "") { println("missing virustotal key from config, skipping") t.SkipNow() - return "" + return "", "", "" } viper.Set("skip-virus-check", !executeVirusCheck) - token, _, err := makeUser(ctx) - testza.AssertNoError(t, err) + token := providedToken + if providedToken == "" { + var err error + token, _, err = makeUser(ctx) + testza.AssertNoError(t, err, token) + } modID := reuseModID if modID == "" { @@ -394,5 +418,5 @@ func RunVersionTest(ctx context.Context, t *testing.T, client *graphql.Client, m }) } - return modID + return modID, versionID, token } diff --git a/workflows/versionupload/extract_mod_info.go b/workflows/versionupload/extract_mod_info.go index 6663fce8..7f74eb31 100644 --- a/workflows/versionupload/extract_mod_info.go +++ b/workflows/versionupload/extract_mod_info.go @@ -11,6 +11,7 @@ import ( "go.temporal.io/sdk/temporal" "github.com/satisfactorymodding/smr-api/db" + "github.com/satisfactorymodding/smr-api/db/schema" version2 "github.com/satisfactorymodding/smr-api/generated/ent/version" "github.com/satisfactorymodding/smr-api/util" "github.com/satisfactorymodding/smr-api/validation" @@ -59,7 +60,22 @@ func (*A) ExtractModInfoActivity(ctx context.Context, args ExtractModInfoArgs) ( } if count > 0 { - return nil, temporal.NewNonRetryableApplicationError("this mod already has a version with this name", "fatal", nil) + return nil, temporal.NewNonRetryableApplicationError("this mod already has a published version with this name", "fatal", nil) + } + + countIncludingDeleted, err := db.From(ctx).Version.Query(). + Where( + version2.ModID(mod.ID), + version2.Version(modInfo.Version), + version2.DeletedAtNotNil(), + ). + Count(schema.SkipSoftDelete(ctx)) + if err != nil { + return nil, temporal.NewNonRetryableApplicationError("database error", "fatal", err) + } + + if countIncludingDeleted > 0 { + return nil, temporal.NewNonRetryableApplicationError("reusing the version name of a deleted mod version is not allowed", "fatal", nil) } // Allow only new 5 versions per 24h From 64264df7b50ee496681ba83daaa411750a4492cb Mon Sep 17 00:00:00 2001 From: rhit-zhangl8 <112708732+rhit-zhangl8@users.noreply.github.com> Date: Mon, 19 Jan 2026 16:43:25 -0500 Subject: [PATCH 034/100] added new field and corresponding check --- db/schema/mod.go | 11 +++++------ workflows/versionupload/extract_mod_info.go | 4 ++++ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/db/schema/mod.go b/db/schema/mod.go index 8a7c31e8..1128a878 100644 --- a/db/schema/mod.go +++ b/db/schema/mod.go @@ -21,10 +21,10 @@ func (Mod) Mixin() []ent.Mixin { } } -// type AiUseDisclosure struct { -// Type string -// Note string -// } +type AiUseDisclosure struct { + Type string + Note string +} func (Mod) Fields() []ent.Field { return []ent.Field{ @@ -47,8 +47,7 @@ func (Mod) Fields() []ent.Field { field.JSON("compatibility", &util.CompatibilityInfo{}).Optional(), field.Bool("toggle_network_use").Default(false), field.String("network_use_disclosure").Optional().Nillable(), - // field.JSON("ai_use_disclosure", &AiUseDisclosure{}).Optional(), - // field.String("ai_use_disclosure").Optional(), + field.JSON("ai_use_disclosure", &AiUseDisclosure{}).Optional(), field.Bool("toggle_explicit_content").Default(false), } } diff --git a/workflows/versionupload/extract_mod_info.go b/workflows/versionupload/extract_mod_info.go index 7f74eb31..e73c14a5 100644 --- a/workflows/versionupload/extract_mod_info.go +++ b/workflows/versionupload/extract_mod_info.go @@ -78,6 +78,10 @@ func (*A) ExtractModInfoActivity(ctx context.Context, args ExtractModInfoArgs) ( return nil, temporal.NewNonRetryableApplicationError("reusing the version name of a deleted mod version is not allowed", "fatal", nil) } + if mod.AiUseDisclosure.Type == "" { + return nil, temporal.NewNonRetryableApplicationError("ai use disclosure is required", "fatal", nil) + } + // Allow only new 5 versions per 24h versions, err := db.From(ctx).Version.Query(). Order(version2.ByCreatedAt(sql.OrderAsc())). From 8c95ec85ad43288c18a59ed4280b71b27972a8da Mon Sep 17 00:00:00 2001 From: rhit-zhangl8 <112708732+rhit-zhangl8@users.noreply.github.com> Date: Thu, 22 Jan 2026 16:56:56 -0500 Subject: [PATCH 035/100] first commit --- db/schema/mod.go | 1 + 1 file changed, 1 insertion(+) diff --git a/db/schema/mod.go b/db/schema/mod.go index 1128a878..78f20aa8 100644 --- a/db/schema/mod.go +++ b/db/schema/mod.go @@ -23,6 +23,7 @@ func (Mod) Mixin() []ent.Mixin { type AiUseDisclosure struct { Type string + Note string } From 12f3efae59c8c00fff64e0cfba49e4de6632ff08 Mon Sep 17 00:00:00 2001 From: rhit-zhangl8 <112708732+rhit-zhangl8@users.noreply.github.com> Date: Thu, 22 Jan 2026 17:02:16 -0500 Subject: [PATCH 036/100] added generated files --- db/schema/mod.go | 1 - generated/ent/internal/schema.go | 2 +- generated/ent/migrate/schema.go | 1 + generated/ent/mod.go | 16 ++++++- generated/ent/mod/mod.go | 3 ++ generated/ent/mod/where.go | 10 +++++ generated/ent/mod_create.go | 71 +++++++++++++++++++++++++++++ generated/ent/mod_update.go | 37 ++++++++++++++++ generated/ent/mutation.go | 76 +++++++++++++++++++++++++++++++- generated/ent/runtime/runtime.go | 2 +- 10 files changed, 214 insertions(+), 5 deletions(-) diff --git a/db/schema/mod.go b/db/schema/mod.go index 78f20aa8..1128a878 100644 --- a/db/schema/mod.go +++ b/db/schema/mod.go @@ -23,7 +23,6 @@ func (Mod) Mixin() []ent.Mixin { type AiUseDisclosure struct { Type string - Note string } diff --git a/generated/ent/internal/schema.go b/generated/ent/internal/schema.go index 2fa6da14..19cb1d6e 100644 --- a/generated/ent/internal/schema.go +++ b/generated/ent/internal/schema.go @@ -6,4 +6,4 @@ // Package internal holds a loadable version of the latest schema. package internal -const Schema = "{\"Schema\":\"github.com/satisfactorymodding/smr-api/db/schema\",\"Package\":\"github.com/satisfactorymodding/smr-api/generated/ent\",\"Schemas\":[{\"name\":\"Announcement\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"message\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"importance\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Guide\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"guides\",\"unique\":true,\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"}}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"guide\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":2,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"GuideTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guide\",\"type\":\"Guide\",\"field\":\"guide_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"guide_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"guide_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"Mod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"versions\",\"type\":\"Version\"},{\"name\":\"authors\",\"type\":\"User\",\"ref_name\":\"mods\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"},\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"}},{\"name\":\"dependents\",\"type\":\"Version\",\"ref_name\":\"dependencies\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"full_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"source_url\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"creator_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"popularity\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"last_version_date\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hidden\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"compatibility\",\"type\":{\"Type\":3,\"Ident\":\"*util.CompatibilityInfo\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":true,\"RType\":{\"Name\":\"CompatibilityInfo\",\"Ident\":\"util.CompatibilityInfo\",\"Kind\":22,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{}}},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_network_use\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"network_use_disclosure\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"nillable\":true,\"optional\":true,\"position\":{\"Index\":18,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_explicit_content\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":19,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"last_version_date\"]},{\"unique\":true,\"fields\":[\"mod_reference\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"ModTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"mod_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"SatisfactoryVersion\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"unique\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"engine_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"default\":true,\"default_value\":\"4.26\",\"default_kind\":24,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}]},{\"name\":\"Tag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mods\",\"type\":\"Mod\",\"ref_name\":\"tags\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"},\"inverse\":true},{\"name\":\"guides\",\"type\":\"Guide\",\"ref_name\":\"tags\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":24,\"unique\":true,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"optional\":true,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"User\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guides\",\"type\":\"Guide\"},{\"name\":\"sessions\",\"type\":\"UserSession\",\"storage_key\":{\"Table\":\"\",\"Symbols\":null,\"Columns\":[\"user_id\"]}},{\"name\":\"mods\",\"type\":\"Mod\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"}},{\"name\":\"groups\",\"type\":\"UserGroup\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"email\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":256,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"username\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"joined_from\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"banned\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"rank\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":1,\"default_kind\":2,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"github_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"optional\":true,\"validators\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"google_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"optional\":true,\"validators\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"facebook_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"optional\":true,\"validators\":1,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"email\"]},{\"unique\":true,\"fields\":[\"github_id\"]},{\"unique\":true,\"fields\":[\"google_id\"]},{\"unique\":true,\"fields\":[\"facebook_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserGroup\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"groups\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"group_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"user_id\",\"group_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserMod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"role\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"user_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"UserSession\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"ref_name\":\"sessions\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"token\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"user_agent\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"token\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Version\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"ref_name\":\"versions\",\"unique\":true,\"inverse\":true,\"required\":true},{\"name\":\"dependencies\",\"type\":\"Mod\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"}},{\"name\":\"targets\",\"type\":\"VersionTarget\"},{\"name\":\"virustotal_results\",\"type\":\"VirustotalResult\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"game_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"required_on_remote\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":true,\"default_kind\":1,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"changelog\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"stability\",\"type\":{\"Type\":6,\"Ident\":\"util.Stability\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":false,\"RType\":{\"Name\":\"Stability\",\"Ident\":\"util.Stability\",\"Kind\":24,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{\"Values\":{\"In\":[],\"Out\":[{\"Name\":\"\",\"Ident\":\"[]string\",\"Kind\":23,\"PkgPath\":\"\",\"Methods\":null}]}}}},\"enums\":[{\"N\":\"release\",\"V\":\"release\"},{\"N\":\"beta\",\"V\":\"beta\"},{\"N\":\"alpha\",\"V\":\"alpha\"}],\"default\":true,\"default_value\":\"release\",\"default_kind\":24,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"metadata\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_major\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_minor\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_patch\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"optional\":true,\"validators\":2,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"approved\"]},{\"fields\":[\"denied\"]},{\"fields\":[\"mod_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"VersionDependency\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"condition\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"optional\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"annotations\":{\"Fields\":{\"ID\":[\"version_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"VersionTarget\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"targets\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"target_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"unique\":true,\"fields\":[\"version_id\",\"target_name\"]}]},{\"name\":\"VirustotalResult\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"virustotal_results\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"safe\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":2,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"file_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":2,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"safe\"]},{\"unique\":true,\"fields\":[\"hash\",\"version_id\"]},{\"fields\":[\"file_name\"]}]}],\"Features\":[\"sql/modifier\",\"intercept\",\"schema/snapshot\",\"sql/execquery\",\"sql/upsert\"]}" +const Schema = "{\"Schema\":\"github.com/satisfactorymodding/smr-api/db/schema\",\"Package\":\"github.com/satisfactorymodding/smr-api/generated/ent\",\"Schemas\":[{\"name\":\"Announcement\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"message\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"importance\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Guide\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"guides\",\"unique\":true,\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"}}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"guide\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":2,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"GuideTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guide\",\"type\":\"Guide\",\"field\":\"guide_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"guide_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"guide_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"Mod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"versions\",\"type\":\"Version\"},{\"name\":\"authors\",\"type\":\"User\",\"ref_name\":\"mods\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"},\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"}},{\"name\":\"dependents\",\"type\":\"Version\",\"ref_name\":\"dependencies\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"full_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"source_url\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"creator_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"popularity\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"last_version_date\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hidden\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"compatibility\",\"type\":{\"Type\":3,\"Ident\":\"*util.CompatibilityInfo\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":true,\"RType\":{\"Name\":\"CompatibilityInfo\",\"Ident\":\"util.CompatibilityInfo\",\"Kind\":22,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{}}},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_network_use\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"network_use_disclosure\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"nillable\":true,\"optional\":true,\"position\":{\"Index\":18,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"ai_use_disclosure\",\"type\":{\"Type\":3,\"Ident\":\"*schema.AiUseDisclosure\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/db/schema\",\"PkgName\":\"schema\",\"Nillable\":true,\"RType\":{\"Name\":\"AiUseDisclosure\",\"Ident\":\"schema.AiUseDisclosure\",\"Kind\":22,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/db/schema\",\"Methods\":{}}},\"optional\":true,\"position\":{\"Index\":19,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_explicit_content\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":20,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"last_version_date\"]},{\"unique\":true,\"fields\":[\"mod_reference\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"ModTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"mod_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"SatisfactoryVersion\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"unique\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"engine_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"default\":true,\"default_value\":\"4.26\",\"default_kind\":24,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}]},{\"name\":\"Tag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mods\",\"type\":\"Mod\",\"ref_name\":\"tags\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"},\"inverse\":true},{\"name\":\"guides\",\"type\":\"Guide\",\"ref_name\":\"tags\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":24,\"unique\":true,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"optional\":true,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"User\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guides\",\"type\":\"Guide\"},{\"name\":\"sessions\",\"type\":\"UserSession\",\"storage_key\":{\"Table\":\"\",\"Symbols\":null,\"Columns\":[\"user_id\"]}},{\"name\":\"mods\",\"type\":\"Mod\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"}},{\"name\":\"groups\",\"type\":\"UserGroup\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"email\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":256,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"username\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"joined_from\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"banned\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"rank\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":1,\"default_kind\":2,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"github_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"optional\":true,\"validators\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"google_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"optional\":true,\"validators\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"facebook_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"optional\":true,\"validators\":1,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"email\"]},{\"unique\":true,\"fields\":[\"github_id\"]},{\"unique\":true,\"fields\":[\"google_id\"]},{\"unique\":true,\"fields\":[\"facebook_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserGroup\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"groups\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"group_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"user_id\",\"group_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserMod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"role\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"user_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"UserSession\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"ref_name\":\"sessions\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"token\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"user_agent\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"token\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Version\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"ref_name\":\"versions\",\"unique\":true,\"inverse\":true,\"required\":true},{\"name\":\"dependencies\",\"type\":\"Mod\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"}},{\"name\":\"targets\",\"type\":\"VersionTarget\"},{\"name\":\"virustotal_results\",\"type\":\"VirustotalResult\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"game_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"required_on_remote\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":true,\"default_kind\":1,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"changelog\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"stability\",\"type\":{\"Type\":6,\"Ident\":\"util.Stability\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":false,\"RType\":{\"Name\":\"Stability\",\"Ident\":\"util.Stability\",\"Kind\":24,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{\"Values\":{\"In\":[],\"Out\":[{\"Name\":\"\",\"Ident\":\"[]string\",\"Kind\":23,\"PkgPath\":\"\",\"Methods\":null}]}}}},\"enums\":[{\"N\":\"release\",\"V\":\"release\"},{\"N\":\"beta\",\"V\":\"beta\"},{\"N\":\"alpha\",\"V\":\"alpha\"}],\"default\":true,\"default_value\":\"release\",\"default_kind\":24,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"metadata\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_major\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_minor\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_patch\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"optional\":true,\"validators\":2,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"approved\"]},{\"fields\":[\"denied\"]},{\"fields\":[\"mod_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"VersionDependency\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"condition\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"optional\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"annotations\":{\"Fields\":{\"ID\":[\"version_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"VersionTarget\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"targets\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"target_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"unique\":true,\"fields\":[\"version_id\",\"target_name\"]}]},{\"name\":\"VirustotalResult\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"virustotal_results\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"safe\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":2,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"file_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":2,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"safe\"]},{\"unique\":true,\"fields\":[\"hash\",\"version_id\"]},{\"fields\":[\"file_name\"]}]}],\"Features\":[\"sql/modifier\",\"intercept\",\"schema/snapshot\",\"sql/execquery\",\"sql/upsert\"]}" diff --git a/generated/ent/migrate/schema.go b/generated/ent/migrate/schema.go index 4a5fd390..029ee335 100644 --- a/generated/ent/migrate/schema.go +++ b/generated/ent/migrate/schema.go @@ -113,6 +113,7 @@ var ( {Name: "compatibility", Type: field.TypeJSON, Nullable: true}, {Name: "toggle_network_use", Type: field.TypeBool, Default: false}, {Name: "network_use_disclosure", Type: field.TypeString, Nullable: true}, + {Name: "ai_use_disclosure", Type: field.TypeJSON, Nullable: true}, {Name: "toggle_explicit_content", Type: field.TypeBool, Default: false}, } // ModsTable holds the schema information for the "mods" table. diff --git a/generated/ent/mod.go b/generated/ent/mod.go index 0c4f985f..8faf030b 100644 --- a/generated/ent/mod.go +++ b/generated/ent/mod.go @@ -10,6 +10,7 @@ import ( "entgo.io/ent" "entgo.io/ent/dialect/sql" + "github.com/satisfactorymodding/smr-api/db/schema" "github.com/satisfactorymodding/smr-api/generated/ent/mod" "github.com/satisfactorymodding/smr-api/util" ) @@ -63,6 +64,8 @@ type Mod struct { ToggleNetworkUse bool `json:"toggle_network_use,omitempty"` // NetworkUseDisclosure holds the value of the "network_use_disclosure" field. NetworkUseDisclosure *string `json:"network_use_disclosure,omitempty"` + // AiUseDisclosure holds the value of the "ai_use_disclosure" field. + AiUseDisclosure *schema.AiUseDisclosure `json:"ai_use_disclosure,omitempty"` // ToggleExplicitContent holds the value of the "toggle_explicit_content" field. ToggleExplicitContent bool `json:"toggle_explicit_content,omitempty"` // Edges holds the relations/edges for other nodes in the graph. @@ -160,7 +163,7 @@ func (*Mod) scanValues(columns []string) ([]any, error) { values := make([]any, len(columns)) for i := range columns { switch columns[i] { - case mod.FieldCompatibility: + case mod.FieldCompatibility, mod.FieldAiUseDisclosure: values[i] = new([]byte) case mod.FieldApproved, mod.FieldDenied, mod.FieldHidden, mod.FieldToggleNetworkUse, mod.FieldToggleExplicitContent: values[i] = new(sql.NullBool) @@ -326,6 +329,14 @@ func (m *Mod) assignValues(columns []string, values []any) error { m.NetworkUseDisclosure = new(string) *m.NetworkUseDisclosure = value.String } + case mod.FieldAiUseDisclosure: + if value, ok := values[i].(*[]byte); !ok { + return fmt.Errorf("unexpected type %T for field ai_use_disclosure", values[i]) + } else if value != nil && len(*value) > 0 { + if err := json.Unmarshal(*value, &m.AiUseDisclosure); err != nil { + return fmt.Errorf("unmarshal field ai_use_disclosure: %w", err) + } + } case mod.FieldToggleExplicitContent: if value, ok := values[i].(*sql.NullBool); !ok { return fmt.Errorf("unexpected type %T for field toggle_explicit_content", values[i]) @@ -471,6 +482,9 @@ func (m *Mod) String() string { builder.WriteString(*v) } builder.WriteString(", ") + builder.WriteString("ai_use_disclosure=") + builder.WriteString(fmt.Sprintf("%v", m.AiUseDisclosure)) + builder.WriteString(", ") builder.WriteString("toggle_explicit_content=") builder.WriteString(fmt.Sprintf("%v", m.ToggleExplicitContent)) builder.WriteByte(')') diff --git a/generated/ent/mod/mod.go b/generated/ent/mod/mod.go index 866e383c..a1040ee3 100644 --- a/generated/ent/mod/mod.go +++ b/generated/ent/mod/mod.go @@ -59,6 +59,8 @@ const ( FieldToggleNetworkUse = "toggle_network_use" // FieldNetworkUseDisclosure holds the string denoting the network_use_disclosure field in the database. FieldNetworkUseDisclosure = "network_use_disclosure" + // FieldAiUseDisclosure holds the string denoting the ai_use_disclosure field in the database. + FieldAiUseDisclosure = "ai_use_disclosure" // FieldToggleExplicitContent holds the string denoting the toggle_explicit_content field in the database. FieldToggleExplicitContent = "toggle_explicit_content" // EdgeVersions holds the string denoting the versions edge name in mutations. @@ -147,6 +149,7 @@ var Columns = []string{ FieldCompatibility, FieldToggleNetworkUse, FieldNetworkUseDisclosure, + FieldAiUseDisclosure, FieldToggleExplicitContent, } diff --git a/generated/ent/mod/where.go b/generated/ent/mod/where.go index 040a233c..f8c0461e 100644 --- a/generated/ent/mod/where.go +++ b/generated/ent/mod/where.go @@ -1190,6 +1190,16 @@ func NetworkUseDisclosureContainsFold(v string) predicate.Mod { return predicate.Mod(sql.FieldContainsFold(FieldNetworkUseDisclosure, v)) } +// AiUseDisclosureIsNil applies the IsNil predicate on the "ai_use_disclosure" field. +func AiUseDisclosureIsNil() predicate.Mod { + return predicate.Mod(sql.FieldIsNull(FieldAiUseDisclosure)) +} + +// AiUseDisclosureNotNil applies the NotNil predicate on the "ai_use_disclosure" field. +func AiUseDisclosureNotNil() predicate.Mod { + return predicate.Mod(sql.FieldNotNull(FieldAiUseDisclosure)) +} + // ToggleExplicitContentEQ applies the EQ predicate on the "toggle_explicit_content" field. func ToggleExplicitContentEQ(v bool) predicate.Mod { return predicate.Mod(sql.FieldEQ(FieldToggleExplicitContent, v)) diff --git a/generated/ent/mod_create.go b/generated/ent/mod_create.go index 4a94e92c..b8d0097e 100644 --- a/generated/ent/mod_create.go +++ b/generated/ent/mod_create.go @@ -12,6 +12,7 @@ import ( "entgo.io/ent/dialect/sql" "entgo.io/ent/dialect/sql/sqlgraph" "entgo.io/ent/schema/field" + "github.com/satisfactorymodding/smr-api/db/schema" "github.com/satisfactorymodding/smr-api/generated/ent/mod" "github.com/satisfactorymodding/smr-api/generated/ent/tag" "github.com/satisfactorymodding/smr-api/generated/ent/user" @@ -287,6 +288,12 @@ func (mc *ModCreate) SetNillableNetworkUseDisclosure(s *string) *ModCreate { return mc } +// SetAiUseDisclosure sets the "ai_use_disclosure" field. +func (mc *ModCreate) SetAiUseDisclosure(sud *schema.AiUseDisclosure) *ModCreate { + mc.mutation.SetAiUseDisclosure(sud) + return mc +} + // SetToggleExplicitContent sets the "toggle_explicit_content" field. func (mc *ModCreate) SetToggleExplicitContent(b bool) *ModCreate { mc.mutation.SetToggleExplicitContent(b) @@ -661,6 +668,10 @@ func (mc *ModCreate) createSpec() (*Mod, *sqlgraph.CreateSpec) { _spec.SetField(mod.FieldNetworkUseDisclosure, field.TypeString, value) _node.NetworkUseDisclosure = &value } + if value, ok := mc.mutation.AiUseDisclosure(); ok { + _spec.SetField(mod.FieldAiUseDisclosure, field.TypeJSON, value) + _node.AiUseDisclosure = value + } if value, ok := mc.mutation.ToggleExplicitContent(); ok { _spec.SetField(mod.FieldToggleExplicitContent, field.TypeBool, value) _node.ToggleExplicitContent = value @@ -1103,6 +1114,24 @@ func (u *ModUpsert) ClearNetworkUseDisclosure() *ModUpsert { return u } +// SetAiUseDisclosure sets the "ai_use_disclosure" field. +func (u *ModUpsert) SetAiUseDisclosure(v *schema.AiUseDisclosure) *ModUpsert { + u.Set(mod.FieldAiUseDisclosure, v) + return u +} + +// UpdateAiUseDisclosure sets the "ai_use_disclosure" field to the value that was provided on create. +func (u *ModUpsert) UpdateAiUseDisclosure() *ModUpsert { + u.SetExcluded(mod.FieldAiUseDisclosure) + return u +} + +// ClearAiUseDisclosure clears the value of the "ai_use_disclosure" field. +func (u *ModUpsert) ClearAiUseDisclosure() *ModUpsert { + u.SetNull(mod.FieldAiUseDisclosure) + return u +} + // SetToggleExplicitContent sets the "toggle_explicit_content" field. func (u *ModUpsert) SetToggleExplicitContent(v bool) *ModUpsert { u.Set(mod.FieldToggleExplicitContent, v) @@ -1537,6 +1566,27 @@ func (u *ModUpsertOne) ClearNetworkUseDisclosure() *ModUpsertOne { }) } +// SetAiUseDisclosure sets the "ai_use_disclosure" field. +func (u *ModUpsertOne) SetAiUseDisclosure(v *schema.AiUseDisclosure) *ModUpsertOne { + return u.Update(func(s *ModUpsert) { + s.SetAiUseDisclosure(v) + }) +} + +// UpdateAiUseDisclosure sets the "ai_use_disclosure" field to the value that was provided on create. +func (u *ModUpsertOne) UpdateAiUseDisclosure() *ModUpsertOne { + return u.Update(func(s *ModUpsert) { + s.UpdateAiUseDisclosure() + }) +} + +// ClearAiUseDisclosure clears the value of the "ai_use_disclosure" field. +func (u *ModUpsertOne) ClearAiUseDisclosure() *ModUpsertOne { + return u.Update(func(s *ModUpsert) { + s.ClearAiUseDisclosure() + }) +} + // SetToggleExplicitContent sets the "toggle_explicit_content" field. func (u *ModUpsertOne) SetToggleExplicitContent(v bool) *ModUpsertOne { return u.Update(func(s *ModUpsert) { @@ -2140,6 +2190,27 @@ func (u *ModUpsertBulk) ClearNetworkUseDisclosure() *ModUpsertBulk { }) } +// SetAiUseDisclosure sets the "ai_use_disclosure" field. +func (u *ModUpsertBulk) SetAiUseDisclosure(v *schema.AiUseDisclosure) *ModUpsertBulk { + return u.Update(func(s *ModUpsert) { + s.SetAiUseDisclosure(v) + }) +} + +// UpdateAiUseDisclosure sets the "ai_use_disclosure" field to the value that was provided on create. +func (u *ModUpsertBulk) UpdateAiUseDisclosure() *ModUpsertBulk { + return u.Update(func(s *ModUpsert) { + s.UpdateAiUseDisclosure() + }) +} + +// ClearAiUseDisclosure clears the value of the "ai_use_disclosure" field. +func (u *ModUpsertBulk) ClearAiUseDisclosure() *ModUpsertBulk { + return u.Update(func(s *ModUpsert) { + s.ClearAiUseDisclosure() + }) +} + // SetToggleExplicitContent sets the "toggle_explicit_content" field. func (u *ModUpsertBulk) SetToggleExplicitContent(v bool) *ModUpsertBulk { return u.Update(func(s *ModUpsert) { diff --git a/generated/ent/mod_update.go b/generated/ent/mod_update.go index 2c8db0d5..4a8a5661 100644 --- a/generated/ent/mod_update.go +++ b/generated/ent/mod_update.go @@ -11,6 +11,7 @@ import ( "entgo.io/ent/dialect/sql" "entgo.io/ent/dialect/sql/sqlgraph" "entgo.io/ent/schema/field" + "github.com/satisfactorymodding/smr-api/db/schema" "github.com/satisfactorymodding/smr-api/generated/ent/mod" "github.com/satisfactorymodding/smr-api/generated/ent/predicate" "github.com/satisfactorymodding/smr-api/generated/ent/tag" @@ -381,6 +382,18 @@ func (mu *ModUpdate) ClearNetworkUseDisclosure() *ModUpdate { return mu } +// SetAiUseDisclosure sets the "ai_use_disclosure" field. +func (mu *ModUpdate) SetAiUseDisclosure(sud *schema.AiUseDisclosure) *ModUpdate { + mu.mutation.SetAiUseDisclosure(sud) + return mu +} + +// ClearAiUseDisclosure clears the value of the "ai_use_disclosure" field. +func (mu *ModUpdate) ClearAiUseDisclosure() *ModUpdate { + mu.mutation.ClearAiUseDisclosure() + return mu +} + // SetToggleExplicitContent sets the "toggle_explicit_content" field. func (mu *ModUpdate) SetToggleExplicitContent(b bool) *ModUpdate { mu.mutation.SetToggleExplicitContent(b) @@ -720,6 +733,12 @@ func (mu *ModUpdate) sqlSave(ctx context.Context) (n int, err error) { if mu.mutation.NetworkUseDisclosureCleared() { _spec.ClearField(mod.FieldNetworkUseDisclosure, field.TypeString) } + if value, ok := mu.mutation.AiUseDisclosure(); ok { + _spec.SetField(mod.FieldAiUseDisclosure, field.TypeJSON, value) + } + if mu.mutation.AiUseDisclosureCleared() { + _spec.ClearField(mod.FieldAiUseDisclosure, field.TypeJSON) + } if value, ok := mu.mutation.ToggleExplicitContent(); ok { _spec.SetField(mod.FieldToggleExplicitContent, field.TypeBool, value) } @@ -1285,6 +1304,18 @@ func (muo *ModUpdateOne) ClearNetworkUseDisclosure() *ModUpdateOne { return muo } +// SetAiUseDisclosure sets the "ai_use_disclosure" field. +func (muo *ModUpdateOne) SetAiUseDisclosure(sud *schema.AiUseDisclosure) *ModUpdateOne { + muo.mutation.SetAiUseDisclosure(sud) + return muo +} + +// ClearAiUseDisclosure clears the value of the "ai_use_disclosure" field. +func (muo *ModUpdateOne) ClearAiUseDisclosure() *ModUpdateOne { + muo.mutation.ClearAiUseDisclosure() + return muo +} + // SetToggleExplicitContent sets the "toggle_explicit_content" field. func (muo *ModUpdateOne) SetToggleExplicitContent(b bool) *ModUpdateOne { muo.mutation.SetToggleExplicitContent(b) @@ -1654,6 +1685,12 @@ func (muo *ModUpdateOne) sqlSave(ctx context.Context) (_node *Mod, err error) { if muo.mutation.NetworkUseDisclosureCleared() { _spec.ClearField(mod.FieldNetworkUseDisclosure, field.TypeString) } + if value, ok := muo.mutation.AiUseDisclosure(); ok { + _spec.SetField(mod.FieldAiUseDisclosure, field.TypeJSON, value) + } + if muo.mutation.AiUseDisclosureCleared() { + _spec.ClearField(mod.FieldAiUseDisclosure, field.TypeJSON) + } if value, ok := muo.mutation.ToggleExplicitContent(); ok { _spec.SetField(mod.FieldToggleExplicitContent, field.TypeBool, value) } diff --git a/generated/ent/mutation.go b/generated/ent/mutation.go index 483aa2cd..a3d37c41 100644 --- a/generated/ent/mutation.go +++ b/generated/ent/mutation.go @@ -11,6 +11,7 @@ import ( "entgo.io/ent" "entgo.io/ent/dialect/sql" + "github.com/satisfactorymodding/smr-api/db/schema" "github.com/satisfactorymodding/smr-api/generated/ent/announcement" "github.com/satisfactorymodding/smr-api/generated/ent/guide" "github.com/satisfactorymodding/smr-api/generated/ent/guidetag" @@ -1963,6 +1964,7 @@ type ModMutation struct { compatibility **util.CompatibilityInfo toggle_network_use *bool network_use_disclosure *string + ai_use_disclosure **schema.AiUseDisclosure toggle_explicit_content *bool clearedFields map[string]struct{} versions map[string]struct{} @@ -3049,6 +3051,55 @@ func (m *ModMutation) ResetNetworkUseDisclosure() { delete(m.clearedFields, mod.FieldNetworkUseDisclosure) } +// SetAiUseDisclosure sets the "ai_use_disclosure" field. +func (m *ModMutation) SetAiUseDisclosure(sud *schema.AiUseDisclosure) { + m.ai_use_disclosure = &sud +} + +// AiUseDisclosure returns the value of the "ai_use_disclosure" field in the mutation. +func (m *ModMutation) AiUseDisclosure() (r *schema.AiUseDisclosure, exists bool) { + v := m.ai_use_disclosure + if v == nil { + return + } + return *v, true +} + +// OldAiUseDisclosure returns the old "ai_use_disclosure" field's value of the Mod entity. +// If the Mod object wasn't provided to the builder, the object is fetched from the database. +// An error is returned if the mutation operation is not UpdateOne, or the database query fails. +func (m *ModMutation) OldAiUseDisclosure(ctx context.Context) (v *schema.AiUseDisclosure, err error) { + if !m.op.Is(OpUpdateOne) { + return v, errors.New("OldAiUseDisclosure is only allowed on UpdateOne operations") + } + if m.id == nil || m.oldValue == nil { + return v, errors.New("OldAiUseDisclosure requires an ID field in the mutation") + } + oldValue, err := m.oldValue(ctx) + if err != nil { + return v, fmt.Errorf("querying old value for OldAiUseDisclosure: %w", err) + } + return oldValue.AiUseDisclosure, nil +} + +// ClearAiUseDisclosure clears the value of the "ai_use_disclosure" field. +func (m *ModMutation) ClearAiUseDisclosure() { + m.ai_use_disclosure = nil + m.clearedFields[mod.FieldAiUseDisclosure] = struct{}{} +} + +// AiUseDisclosureCleared returns if the "ai_use_disclosure" field was cleared in this mutation. +func (m *ModMutation) AiUseDisclosureCleared() bool { + _, ok := m.clearedFields[mod.FieldAiUseDisclosure] + return ok +} + +// ResetAiUseDisclosure resets all changes to the "ai_use_disclosure" field. +func (m *ModMutation) ResetAiUseDisclosure() { + m.ai_use_disclosure = nil + delete(m.clearedFields, mod.FieldAiUseDisclosure) +} + // SetToggleExplicitContent sets the "toggle_explicit_content" field. func (m *ModMutation) SetToggleExplicitContent(b bool) { m.toggle_explicit_content = &b @@ -3335,7 +3386,7 @@ func (m *ModMutation) Type() string { // order to get all numeric fields that were incremented/decremented, call // AddedFields(). func (m *ModMutation) Fields() []string { - fields := make([]string, 0, 23) + fields := make([]string, 0, 24) if m.created_at != nil { fields = append(fields, mod.FieldCreatedAt) } @@ -3402,6 +3453,9 @@ func (m *ModMutation) Fields() []string { if m.network_use_disclosure != nil { fields = append(fields, mod.FieldNetworkUseDisclosure) } + if m.ai_use_disclosure != nil { + fields = append(fields, mod.FieldAiUseDisclosure) + } if m.toggle_explicit_content != nil { fields = append(fields, mod.FieldToggleExplicitContent) } @@ -3457,6 +3511,8 @@ func (m *ModMutation) Field(name string) (ent.Value, bool) { return m.ToggleNetworkUse() case mod.FieldNetworkUseDisclosure: return m.NetworkUseDisclosure() + case mod.FieldAiUseDisclosure: + return m.AiUseDisclosure() case mod.FieldToggleExplicitContent: return m.ToggleExplicitContent() } @@ -3512,6 +3568,8 @@ func (m *ModMutation) OldField(ctx context.Context, name string) (ent.Value, err return m.OldToggleNetworkUse(ctx) case mod.FieldNetworkUseDisclosure: return m.OldNetworkUseDisclosure(ctx) + case mod.FieldAiUseDisclosure: + return m.OldAiUseDisclosure(ctx) case mod.FieldToggleExplicitContent: return m.OldToggleExplicitContent(ctx) } @@ -3677,6 +3735,13 @@ func (m *ModMutation) SetField(name string, value ent.Value) error { } m.SetNetworkUseDisclosure(v) return nil + case mod.FieldAiUseDisclosure: + v, ok := value.(*schema.AiUseDisclosure) + if !ok { + return fmt.Errorf("unexpected type %T for field %s", value, name) + } + m.SetAiUseDisclosure(v) + return nil case mod.FieldToggleExplicitContent: v, ok := value.(bool) if !ok { @@ -3786,6 +3851,9 @@ func (m *ModMutation) ClearedFields() []string { if m.FieldCleared(mod.FieldNetworkUseDisclosure) { fields = append(fields, mod.FieldNetworkUseDisclosure) } + if m.FieldCleared(mod.FieldAiUseDisclosure) { + fields = append(fields, mod.FieldAiUseDisclosure) + } return fields } @@ -3821,6 +3889,9 @@ func (m *ModMutation) ClearField(name string) error { case mod.FieldNetworkUseDisclosure: m.ClearNetworkUseDisclosure() return nil + case mod.FieldAiUseDisclosure: + m.ClearAiUseDisclosure() + return nil } return fmt.Errorf("unknown Mod nullable field %s", name) } @@ -3895,6 +3966,9 @@ func (m *ModMutation) ResetField(name string) error { case mod.FieldNetworkUseDisclosure: m.ResetNetworkUseDisclosure() return nil + case mod.FieldAiUseDisclosure: + m.ResetAiUseDisclosure() + return nil case mod.FieldToggleExplicitContent: m.ResetToggleExplicitContent() return nil diff --git a/generated/ent/runtime/runtime.go b/generated/ent/runtime/runtime.go index 39eeaebb..b1daacfb 100644 --- a/generated/ent/runtime/runtime.go +++ b/generated/ent/runtime/runtime.go @@ -152,7 +152,7 @@ func init() { // mod.DefaultToggleNetworkUse holds the default value on creation for the toggle_network_use field. mod.DefaultToggleNetworkUse = modDescToggleNetworkUse.Default.(bool) // modDescToggleExplicitContent is the schema descriptor for toggle_explicit_content field. - modDescToggleExplicitContent := modFields[19].Descriptor() + modDescToggleExplicitContent := modFields[20].Descriptor() // mod.DefaultToggleExplicitContent holds the default value on creation for the toggle_explicit_content field. mod.DefaultToggleExplicitContent = modDescToggleExplicitContent.Default.(bool) // modDescID is the schema descriptor for id field. From 78cf6fe4754bce36b0f9ce34ccc292f5e448dcfb Mon Sep 17 00:00:00 2001 From: rhit-zhangl8 <112708732+rhit-zhangl8@users.noreply.github.com> Date: Thu, 22 Jan 2026 17:15:33 -0500 Subject: [PATCH 037/100] seperate package --- db/schema/mod.go | 9 +++++++++ generated/ent/internal/schema.go | 4 ++++ generated/ent/mod.go | 4 ++++ generated/ent/mod_create.go | 17 +++++++++++++++++ generated/ent/mod_update.go | 10 ++++++++++ generated/ent/mutation.go | 21 +++++++++++++++++++++ util/db.go | 5 +++++ 7 files changed, 70 insertions(+) diff --git a/db/schema/mod.go b/db/schema/mod.go index 1128a878..1eb525e0 100644 --- a/db/schema/mod.go +++ b/db/schema/mod.go @@ -21,10 +21,14 @@ func (Mod) Mixin() []ent.Mixin { } } +<<<<<<< Updated upstream type AiUseDisclosure struct { Type string Note string } +======= + +>>>>>>> Stashed changes func (Mod) Fields() []ent.Field { return []ent.Field{ @@ -47,7 +51,12 @@ func (Mod) Fields() []ent.Field { field.JSON("compatibility", &util.CompatibilityInfo{}).Optional(), field.Bool("toggle_network_use").Default(false), field.String("network_use_disclosure").Optional().Nillable(), +<<<<<<< Updated upstream field.JSON("ai_use_disclosure", &AiUseDisclosure{}).Optional(), +======= + field.JSON("ai_use_disclosure", &util.AiUseDisclosure{}).Optional(), + // field.String("ai_use_disclosure").Optional(), +>>>>>>> Stashed changes field.Bool("toggle_explicit_content").Default(false), } } diff --git a/generated/ent/internal/schema.go b/generated/ent/internal/schema.go index 19cb1d6e..a918f3e2 100644 --- a/generated/ent/internal/schema.go +++ b/generated/ent/internal/schema.go @@ -6,4 +6,8 @@ // Package internal holds a loadable version of the latest schema. package internal +<<<<<<< Updated upstream const Schema = "{\"Schema\":\"github.com/satisfactorymodding/smr-api/db/schema\",\"Package\":\"github.com/satisfactorymodding/smr-api/generated/ent\",\"Schemas\":[{\"name\":\"Announcement\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"message\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"importance\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Guide\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"guides\",\"unique\":true,\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"}}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"guide\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":2,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"GuideTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guide\",\"type\":\"Guide\",\"field\":\"guide_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"guide_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"guide_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"Mod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"versions\",\"type\":\"Version\"},{\"name\":\"authors\",\"type\":\"User\",\"ref_name\":\"mods\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"},\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"}},{\"name\":\"dependents\",\"type\":\"Version\",\"ref_name\":\"dependencies\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"full_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"source_url\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"creator_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"popularity\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"last_version_date\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hidden\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"compatibility\",\"type\":{\"Type\":3,\"Ident\":\"*util.CompatibilityInfo\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":true,\"RType\":{\"Name\":\"CompatibilityInfo\",\"Ident\":\"util.CompatibilityInfo\",\"Kind\":22,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{}}},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_network_use\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"network_use_disclosure\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"nillable\":true,\"optional\":true,\"position\":{\"Index\":18,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"ai_use_disclosure\",\"type\":{\"Type\":3,\"Ident\":\"*schema.AiUseDisclosure\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/db/schema\",\"PkgName\":\"schema\",\"Nillable\":true,\"RType\":{\"Name\":\"AiUseDisclosure\",\"Ident\":\"schema.AiUseDisclosure\",\"Kind\":22,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/db/schema\",\"Methods\":{}}},\"optional\":true,\"position\":{\"Index\":19,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_explicit_content\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":20,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"last_version_date\"]},{\"unique\":true,\"fields\":[\"mod_reference\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"ModTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"mod_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"SatisfactoryVersion\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"unique\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"engine_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"default\":true,\"default_value\":\"4.26\",\"default_kind\":24,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}]},{\"name\":\"Tag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mods\",\"type\":\"Mod\",\"ref_name\":\"tags\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"},\"inverse\":true},{\"name\":\"guides\",\"type\":\"Guide\",\"ref_name\":\"tags\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":24,\"unique\":true,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"optional\":true,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"User\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guides\",\"type\":\"Guide\"},{\"name\":\"sessions\",\"type\":\"UserSession\",\"storage_key\":{\"Table\":\"\",\"Symbols\":null,\"Columns\":[\"user_id\"]}},{\"name\":\"mods\",\"type\":\"Mod\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"}},{\"name\":\"groups\",\"type\":\"UserGroup\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"email\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":256,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"username\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"joined_from\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"banned\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"rank\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":1,\"default_kind\":2,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"github_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"optional\":true,\"validators\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"google_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"optional\":true,\"validators\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"facebook_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"optional\":true,\"validators\":1,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"email\"]},{\"unique\":true,\"fields\":[\"github_id\"]},{\"unique\":true,\"fields\":[\"google_id\"]},{\"unique\":true,\"fields\":[\"facebook_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserGroup\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"groups\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"group_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"user_id\",\"group_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserMod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"role\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"user_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"UserSession\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"ref_name\":\"sessions\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"token\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"user_agent\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"token\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Version\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"ref_name\":\"versions\",\"unique\":true,\"inverse\":true,\"required\":true},{\"name\":\"dependencies\",\"type\":\"Mod\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"}},{\"name\":\"targets\",\"type\":\"VersionTarget\"},{\"name\":\"virustotal_results\",\"type\":\"VirustotalResult\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"game_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"required_on_remote\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":true,\"default_kind\":1,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"changelog\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"stability\",\"type\":{\"Type\":6,\"Ident\":\"util.Stability\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":false,\"RType\":{\"Name\":\"Stability\",\"Ident\":\"util.Stability\",\"Kind\":24,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{\"Values\":{\"In\":[],\"Out\":[{\"Name\":\"\",\"Ident\":\"[]string\",\"Kind\":23,\"PkgPath\":\"\",\"Methods\":null}]}}}},\"enums\":[{\"N\":\"release\",\"V\":\"release\"},{\"N\":\"beta\",\"V\":\"beta\"},{\"N\":\"alpha\",\"V\":\"alpha\"}],\"default\":true,\"default_value\":\"release\",\"default_kind\":24,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"metadata\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_major\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_minor\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_patch\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"optional\":true,\"validators\":2,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"approved\"]},{\"fields\":[\"denied\"]},{\"fields\":[\"mod_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"VersionDependency\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"condition\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"optional\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"annotations\":{\"Fields\":{\"ID\":[\"version_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"VersionTarget\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"targets\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"target_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"unique\":true,\"fields\":[\"version_id\",\"target_name\"]}]},{\"name\":\"VirustotalResult\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"virustotal_results\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"safe\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":2,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"file_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":2,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"safe\"]},{\"unique\":true,\"fields\":[\"hash\",\"version_id\"]},{\"fields\":[\"file_name\"]}]}],\"Features\":[\"sql/modifier\",\"intercept\",\"schema/snapshot\",\"sql/execquery\",\"sql/upsert\"]}" +======= +const Schema = "{\"Schema\":\"github.com/satisfactorymodding/smr-api/db/schema\",\"Package\":\"github.com/satisfactorymodding/smr-api/generated/ent\",\"Schemas\":[{\"name\":\"Announcement\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"message\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"importance\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Guide\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"guides\",\"unique\":true,\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"}}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"guide\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":2,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"GuideTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guide\",\"type\":\"Guide\",\"field\":\"guide_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"guide_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"guide_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"Mod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"versions\",\"type\":\"Version\"},{\"name\":\"authors\",\"type\":\"User\",\"ref_name\":\"mods\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"},\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"}},{\"name\":\"dependents\",\"type\":\"Version\",\"ref_name\":\"dependencies\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"full_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"source_url\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"creator_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"popularity\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"last_version_date\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hidden\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"compatibility\",\"type\":{\"Type\":3,\"Ident\":\"*util.CompatibilityInfo\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":true,\"RType\":{\"Name\":\"CompatibilityInfo\",\"Ident\":\"util.CompatibilityInfo\",\"Kind\":22,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{}}},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_network_use\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"network_use_disclosure\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"nillable\":true,\"optional\":true,\"position\":{\"Index\":18,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"ai_use_disclosure\",\"type\":{\"Type\":3,\"Ident\":\"*util.AiUseDisclosure\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":true,\"RType\":{\"Name\":\"AiUseDisclosure\",\"Ident\":\"util.AiUseDisclosure\",\"Kind\":22,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{}}},\"optional\":true,\"position\":{\"Index\":19,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_explicit_content\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":20,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"last_version_date\"]},{\"unique\":true,\"fields\":[\"mod_reference\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"ModTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"mod_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"SatisfactoryVersion\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"unique\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"engine_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"default\":true,\"default_value\":\"4.26\",\"default_kind\":24,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}]},{\"name\":\"Tag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mods\",\"type\":\"Mod\",\"ref_name\":\"tags\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"},\"inverse\":true},{\"name\":\"guides\",\"type\":\"Guide\",\"ref_name\":\"tags\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":24,\"unique\":true,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"optional\":true,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"User\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guides\",\"type\":\"Guide\"},{\"name\":\"sessions\",\"type\":\"UserSession\",\"storage_key\":{\"Table\":\"\",\"Symbols\":null,\"Columns\":[\"user_id\"]}},{\"name\":\"mods\",\"type\":\"Mod\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"}},{\"name\":\"groups\",\"type\":\"UserGroup\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"email\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":256,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"username\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"joined_from\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"banned\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"rank\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":1,\"default_kind\":2,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"github_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"optional\":true,\"validators\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"google_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"optional\":true,\"validators\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"facebook_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"optional\":true,\"validators\":1,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"email\"]},{\"unique\":true,\"fields\":[\"github_id\"]},{\"unique\":true,\"fields\":[\"google_id\"]},{\"unique\":true,\"fields\":[\"facebook_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserGroup\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"groups\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"group_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"user_id\",\"group_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserMod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"role\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"user_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"UserSession\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"ref_name\":\"sessions\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"token\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"user_agent\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"token\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Version\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"ref_name\":\"versions\",\"unique\":true,\"inverse\":true,\"required\":true},{\"name\":\"dependencies\",\"type\":\"Mod\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"}},{\"name\":\"targets\",\"type\":\"VersionTarget\"},{\"name\":\"virustotal_results\",\"type\":\"VirustotalResult\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"game_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"required_on_remote\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":true,\"default_kind\":1,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"changelog\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"stability\",\"type\":{\"Type\":6,\"Ident\":\"util.Stability\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":false,\"RType\":{\"Name\":\"Stability\",\"Ident\":\"util.Stability\",\"Kind\":24,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{\"Values\":{\"In\":[],\"Out\":[{\"Name\":\"\",\"Ident\":\"[]string\",\"Kind\":23,\"PkgPath\":\"\",\"Methods\":null}]}}}},\"enums\":[{\"N\":\"release\",\"V\":\"release\"},{\"N\":\"beta\",\"V\":\"beta\"},{\"N\":\"alpha\",\"V\":\"alpha\"}],\"default\":true,\"default_value\":\"release\",\"default_kind\":24,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"metadata\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_major\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_minor\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_patch\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"optional\":true,\"validators\":2,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"approved\"]},{\"fields\":[\"denied\"]},{\"fields\":[\"mod_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"VersionDependency\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"condition\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"optional\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"annotations\":{\"Fields\":{\"ID\":[\"version_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"VersionTarget\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"targets\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"target_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"unique\":true,\"fields\":[\"version_id\",\"target_name\"]}]},{\"name\":\"VirustotalResult\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"virustotal_results\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"safe\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":2,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"file_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":2,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"safe\"]},{\"unique\":true,\"fields\":[\"hash\",\"version_id\"]},{\"fields\":[\"file_name\"]}]}],\"Features\":[\"sql/modifier\",\"intercept\",\"schema/snapshot\",\"sql/execquery\",\"sql/upsert\"]}" +>>>>>>> Stashed changes diff --git a/generated/ent/mod.go b/generated/ent/mod.go index 8faf030b..9bfb57aa 100644 --- a/generated/ent/mod.go +++ b/generated/ent/mod.go @@ -65,7 +65,11 @@ type Mod struct { // NetworkUseDisclosure holds the value of the "network_use_disclosure" field. NetworkUseDisclosure *string `json:"network_use_disclosure,omitempty"` // AiUseDisclosure holds the value of the "ai_use_disclosure" field. +<<<<<<< Updated upstream AiUseDisclosure *schema.AiUseDisclosure `json:"ai_use_disclosure,omitempty"` +======= + AiUseDisclosure *util.AiUseDisclosure `json:"ai_use_disclosure,omitempty"` +>>>>>>> Stashed changes // ToggleExplicitContent holds the value of the "toggle_explicit_content" field. ToggleExplicitContent bool `json:"toggle_explicit_content,omitempty"` // Edges holds the relations/edges for other nodes in the graph. diff --git a/generated/ent/mod_create.go b/generated/ent/mod_create.go index b8d0097e..b16caf74 100644 --- a/generated/ent/mod_create.go +++ b/generated/ent/mod_create.go @@ -289,8 +289,13 @@ func (mc *ModCreate) SetNillableNetworkUseDisclosure(s *string) *ModCreate { } // SetAiUseDisclosure sets the "ai_use_disclosure" field. +<<<<<<< Updated upstream func (mc *ModCreate) SetAiUseDisclosure(sud *schema.AiUseDisclosure) *ModCreate { mc.mutation.SetAiUseDisclosure(sud) +======= +func (mc *ModCreate) SetAiUseDisclosure(uud *util.AiUseDisclosure) *ModCreate { + mc.mutation.SetAiUseDisclosure(uud) +>>>>>>> Stashed changes return mc } @@ -1115,7 +1120,11 @@ func (u *ModUpsert) ClearNetworkUseDisclosure() *ModUpsert { } // SetAiUseDisclosure sets the "ai_use_disclosure" field. +<<<<<<< Updated upstream func (u *ModUpsert) SetAiUseDisclosure(v *schema.AiUseDisclosure) *ModUpsert { +======= +func (u *ModUpsert) SetAiUseDisclosure(v *util.AiUseDisclosure) *ModUpsert { +>>>>>>> Stashed changes u.Set(mod.FieldAiUseDisclosure, v) return u } @@ -1567,7 +1576,11 @@ func (u *ModUpsertOne) ClearNetworkUseDisclosure() *ModUpsertOne { } // SetAiUseDisclosure sets the "ai_use_disclosure" field. +<<<<<<< Updated upstream func (u *ModUpsertOne) SetAiUseDisclosure(v *schema.AiUseDisclosure) *ModUpsertOne { +======= +func (u *ModUpsertOne) SetAiUseDisclosure(v *util.AiUseDisclosure) *ModUpsertOne { +>>>>>>> Stashed changes return u.Update(func(s *ModUpsert) { s.SetAiUseDisclosure(v) }) @@ -2191,7 +2204,11 @@ func (u *ModUpsertBulk) ClearNetworkUseDisclosure() *ModUpsertBulk { } // SetAiUseDisclosure sets the "ai_use_disclosure" field. +<<<<<<< Updated upstream func (u *ModUpsertBulk) SetAiUseDisclosure(v *schema.AiUseDisclosure) *ModUpsertBulk { +======= +func (u *ModUpsertBulk) SetAiUseDisclosure(v *util.AiUseDisclosure) *ModUpsertBulk { +>>>>>>> Stashed changes return u.Update(func(s *ModUpsert) { s.SetAiUseDisclosure(v) }) diff --git a/generated/ent/mod_update.go b/generated/ent/mod_update.go index 4a8a5661..8ca9971c 100644 --- a/generated/ent/mod_update.go +++ b/generated/ent/mod_update.go @@ -383,8 +383,13 @@ func (mu *ModUpdate) ClearNetworkUseDisclosure() *ModUpdate { } // SetAiUseDisclosure sets the "ai_use_disclosure" field. +<<<<<<< Updated upstream func (mu *ModUpdate) SetAiUseDisclosure(sud *schema.AiUseDisclosure) *ModUpdate { mu.mutation.SetAiUseDisclosure(sud) +======= +func (mu *ModUpdate) SetAiUseDisclosure(uud *util.AiUseDisclosure) *ModUpdate { + mu.mutation.SetAiUseDisclosure(uud) +>>>>>>> Stashed changes return mu } @@ -1305,8 +1310,13 @@ func (muo *ModUpdateOne) ClearNetworkUseDisclosure() *ModUpdateOne { } // SetAiUseDisclosure sets the "ai_use_disclosure" field. +<<<<<<< Updated upstream func (muo *ModUpdateOne) SetAiUseDisclosure(sud *schema.AiUseDisclosure) *ModUpdateOne { muo.mutation.SetAiUseDisclosure(sud) +======= +func (muo *ModUpdateOne) SetAiUseDisclosure(uud *util.AiUseDisclosure) *ModUpdateOne { + muo.mutation.SetAiUseDisclosure(uud) +>>>>>>> Stashed changes return muo } diff --git a/generated/ent/mutation.go b/generated/ent/mutation.go index a3d37c41..347adaab 100644 --- a/generated/ent/mutation.go +++ b/generated/ent/mutation.go @@ -1964,7 +1964,11 @@ type ModMutation struct { compatibility **util.CompatibilityInfo toggle_network_use *bool network_use_disclosure *string +<<<<<<< Updated upstream ai_use_disclosure **schema.AiUseDisclosure +======= + ai_use_disclosure **util.AiUseDisclosure +>>>>>>> Stashed changes toggle_explicit_content *bool clearedFields map[string]struct{} versions map[string]struct{} @@ -3052,12 +3056,21 @@ func (m *ModMutation) ResetNetworkUseDisclosure() { } // SetAiUseDisclosure sets the "ai_use_disclosure" field. +<<<<<<< Updated upstream func (m *ModMutation) SetAiUseDisclosure(sud *schema.AiUseDisclosure) { m.ai_use_disclosure = &sud } // AiUseDisclosure returns the value of the "ai_use_disclosure" field in the mutation. func (m *ModMutation) AiUseDisclosure() (r *schema.AiUseDisclosure, exists bool) { +======= +func (m *ModMutation) SetAiUseDisclosure(uud *util.AiUseDisclosure) { + m.ai_use_disclosure = &uud +} + +// AiUseDisclosure returns the value of the "ai_use_disclosure" field in the mutation. +func (m *ModMutation) AiUseDisclosure() (r *util.AiUseDisclosure, exists bool) { +>>>>>>> Stashed changes v := m.ai_use_disclosure if v == nil { return @@ -3068,7 +3081,11 @@ func (m *ModMutation) AiUseDisclosure() (r *schema.AiUseDisclosure, exists bool) // OldAiUseDisclosure returns the old "ai_use_disclosure" field's value of the Mod entity. // If the Mod object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. +<<<<<<< Updated upstream func (m *ModMutation) OldAiUseDisclosure(ctx context.Context) (v *schema.AiUseDisclosure, err error) { +======= +func (m *ModMutation) OldAiUseDisclosure(ctx context.Context) (v *util.AiUseDisclosure, err error) { +>>>>>>> Stashed changes if !m.op.Is(OpUpdateOne) { return v, errors.New("OldAiUseDisclosure is only allowed on UpdateOne operations") } @@ -3736,7 +3753,11 @@ func (m *ModMutation) SetField(name string, value ent.Value) error { m.SetNetworkUseDisclosure(v) return nil case mod.FieldAiUseDisclosure: +<<<<<<< Updated upstream v, ok := value.(*schema.AiUseDisclosure) +======= + v, ok := value.(*util.AiUseDisclosure) +>>>>>>> Stashed changes if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } diff --git a/util/db.go b/util/db.go index bcca1b85..660fd1cb 100644 --- a/util/db.go +++ b/util/db.go @@ -26,3 +26,8 @@ type Compatibility struct { State string Note string } + + type AiUseDisclosure struct { + Type string + Note string + } \ No newline at end of file From 6fe9c15c8a0bd59c983446c1ae0b8ca974e13490 Mon Sep 17 00:00:00 2001 From: rhit-zhangl8 <112708732+rhit-zhangl8@users.noreply.github.com> Date: Thu, 22 Jan 2026 17:18:28 -0500 Subject: [PATCH 038/100] hash migration --- migrations/sql/atlas.sum | 84 ++++++++++++++++++++-------------------- 1 file changed, 42 insertions(+), 42 deletions(-) diff --git a/migrations/sql/atlas.sum b/migrations/sql/atlas.sum index e4dc323c..23184b03 100644 --- a/migrations/sql/atlas.sum +++ b/migrations/sql/atlas.sum @@ -1,42 +1,42 @@ -h1:LHkV+TMPuSqpomRq2vg2Zsx86/ERuB6wpHSTTdZCwuc= -000001_create_initial_tables.up.sql h1:D0NgABAZGONTBH9/T9MFCYkbw/LSee86lP4XsQYMx98= -000002_create_user_group_table.up.sql h1:+fOxjCFeU5GoVTO5cXzxWsMZtz2Qz3tal9vT5kdYuFI= -000003_add_last_version_date_mod_table.up.sql h1:t73i5gC2YrwlIcDn/MZmznGnArF0aA8dLYuA9NnVtbE= -000004_add_more_oauth_options.up.sql h1:UfHJiPBYFTjXHL17LQZ4ZgV/DVrghwDXNW8/RbODtaE= -000005_create_user_group_table.up.sql h1:EJZXV0bZqwqoVa6P6PmaolKRIYicgIsChRGggsiJ6lo= -000006_sml_versions_table.up.sql h1:5XDtXz2jQbdvo60fy5B5Ce8IjIv8ps3Ft24WhUCeJgg= -000007_relationships.up.sql h1:1WYFF1wqu0RkWwkWaNwb2A/oB9w9QPG5arrp0mT4WqE= -000008_version_dependencies.up.sql h1:N1z3vwv9inkKVLNsFif1At1UKAcAESxcfxJvkFOcSDs= -000009_bootstrap_versions_table.up.sql h1:w/1bXOeE/oXZCpWrBAZqHRZpeobofO2u4fYQvLu1oGg= -000010_add_version_dependency_optional.up.sql h1:9cHZYZ6TO05wvf0KCfl7+kZJLtLk3UDzF82AN1Hn7l0= -000011_add_mod_reference.up.sql h1:xGokeJASPuf5VnbehlA+fK8zHpevyeZG+r7u1z3tBrA= -000012_add_version_metadata.up.sql h1:redOIFgiRg6ggVs6tmxXvwxJS1xrCrqMdNFm/Buc5d0= -000013_add_version_mod_reference.up.sql h1:JgnH3EpwY4tulGYAlwVztW+eXG6Fh2/rHyDQm5mxfrk= -000014_add_version_split_hidden.up.sql h1:m8+Ai12K/ktPMD5vnKzTmf826pJfsICbQ1YcIruwO4U= -000015_enable_trgm.up.sql h1:K8lVS0W+1MVfuavMgRHplm8mTJowQojOj6zYux6QqHQ= -000016_add_user_groups_dates.up.sql h1:UyASdzLCBLFXhSFU5DkIznmy/2pIj8NeiL86oac0R7I= -000017_add_version_indexes.up.sql h1:n+BDJKAqvkp+z2faXsIgwNLwqMsSS307rKHCfUou4zQ= -000018_add_announcements.up.sql h1:X6OHBgP8fHQwcfRemioYD+CbipdZW5IzQiXwz2aCaK0= -000019_add_tags.up.sql h1:XStGF4N1GNGY2HTgY8YjpCTB7+V9mj431P5zSGJ3Ewo= -000020_add_compatibility.up.sql h1:Q4v3tPOH5xhFjxHkgxBz6zAsDieltsjM0s0WgrF9C8g= -000021_add_mod_platform.up.sql h1:Gzea7AIiEqsxWT6ti3ZtnzlwaHcx8U93uVY/+A9QJrc= -000022_update_mod_targets.up.sql h1:9VZrns7VPceKdEfhfchdbss3GBP+Ih7/SJjs+sA4UnM= -000023_migrate_versions_to_targets.up.sql h1:NytNFpV/ug5hxc6OM1RWvI+eJ3n1QFsERjWZ3dP3fig= -000024_add_sml_engine_version.up.sql h1:s1fzd/7sjyxtfFuh8bFbGCLTlZLjryMV6GHtJNnuTaY= -000025_add_tag_description.up.sql h1:7UdZZTJ70RJ+tA9M+EiVh+KqwwljYdPw27UQxrMedH8= -000026_add_rng.up.sql h1:y2Q8DUV27wx8/eKvTPduSU0RseM7wfCU79x1tvMmRY0= -000027_add_id_columns.up.sql h1:lILQ8le1eipNJuHuqKMaRK6RW8jBGpWOz8GDhiKEAIo= -000028_increase_token_length_limit.up.sql h1:U70DVHXY6f6vqwKxOQJzhnEZmYE5ML0+7Jc5Vh4tXb4= -000029_sml_as_mod.up.sql h1:e6Foai/N7l/zYvntn9+kNKGGPagGWYDaJ5X6XGse4lY= -000030_db_normalization.up.sql h1:rF0E/b2sF9jz3rzm1/1Ql0/TkMirgaj4w0jXTo65TMo= -20240705180551_initial_transfer_to_atlas.up.sql h1:ajYV7/WSvuMOYJDvHN0MY4z2VnX9ANJBIdV+ihZ9EGo= -20240815141045_drop_version_stability_enum.up.sql h1:ywxbAJ9lnwR6JOC+KRaW4r7nXRrLPx0J3INhD3dQlrw= -20240818235330_index_fixes.up.sql h1:YZvT7uroa6JFF+vRoufyn+rf/a/s45O05HTY/dv2Ai0= -20240819092347_user_indexes.up.sql h1:+QCDfycakdaavcoNA+zj0HwbzwfadE2pB3DpiezQS2g= -20240823233610_add_mod_toggles.up.sql h1:nTUp0VvrYxl9G92vjsP69Prgcwk4L4E4mehBcOH4sv0= -20240826153722_add_thumbhash.up.sql h1:1YhxpFNMlJQm3Xi42zD2XZVsJOPy4vNigFe1BP1E63c= -20240930114249_add_required_on_remote.up.sql h1:G3uEz4oAPvu+Q7kEVvZTiMYHMv6v/c+iImQGbQye+TQ= -20241002191358_state_fix.up.sql h1:PkJ9r2oq+nxMtZgWfjhPUvWhlGVLlEeky/1xqTrURjM= -20241003161005_create_virustotal_results_table.up.sql h1:u6cVcBPQnurXvy5pqbyzG6C4ThJ59v6dmhp5DgZBrBE= -20241008092121_nullable_mod_logo.up.sql h1:ZLscID5T67EWW7NVp95cXNyOadb2G5qTH0itfgoCUO4= -20250411023207_AddNetworkUsageDisclosure.up.sql h1:XgIdy3eJQ+VJSlx4Nr8ltcXFk6AwbSnzfnhC4RI9c9k= +h1:uO5GAS75MHqw0OA+NiVI00PL1kOLcGGbAxIKo4FIqsE= +000001_create_initial_tables.up.sql h1:eALkiKdKPk4+PRs015wQKce0l5buzaQIwU8o2Ee9MH4= +000002_create_user_group_table.up.sql h1:lbhpvkwy073swwmvFfCmRN9Xbib3MAhfNx/A1czmiho= +000003_add_last_version_date_mod_table.up.sql h1:be83iHBYpXLRUm+wlET6GJSgTmTEpSSW9aWQesroOhE= +000004_add_more_oauth_options.up.sql h1:3e3eXcmwKXqEQ0foDeFc1RZr54iQbdJLylFfGL4IlgY= +000005_create_user_group_table.up.sql h1:FUEVlyh/017ER3NItEniPtyouKPPFFNVin6jKuOO9P8= +000006_sml_versions_table.up.sql h1:NFcnIrkTLVH7U3KYTghenuGtXBxUkULShyWxsyUmvvU= +000007_relationships.up.sql h1:/jYyGHk37I2WiAGZZrDjCskNKyd4z/e+vQAU0U78GtA= +000008_version_dependencies.up.sql h1:/m+95QDQ8Ifsmqb2mqgN5AFlahi7rNfvLF5tE2zahRw= +000009_bootstrap_versions_table.up.sql h1:9M2iF5uclsrQ2UFJVVJLS1C6qvl2MULYIBRVUNox9Qw= +000010_add_version_dependency_optional.up.sql h1:P8auDs4F1fDyottTkgTsg8VXnVLfqY5MRWIBv7I0C4w= +000011_add_mod_reference.up.sql h1:isrLJWetXEYXPpJUrgXrtoXFhMdGUEOSgPkVzDYJ8Dc= +000012_add_version_metadata.up.sql h1:6nSxmKSOc3Mh/CrG8u/0p2drcpGPp1oeFzYjU2o4kUY= +000013_add_version_mod_reference.up.sql h1:mAJLIJaleQ5LV7oa++H1aRR+bJXM+f+j9nhYaEHQuj0= +000014_add_version_split_hidden.up.sql h1:93XZVBAGSZzO6uSC4s4FnYaiUvxvWcF7U5ZljNeQNR8= +000015_enable_trgm.up.sql h1:P+/V9+tbg8360tjbUobwebQnzstCqBQfZi7Hjst6FtQ= +000016_add_user_groups_dates.up.sql h1:/uyoHsFRGxGR1A3tn+nCZfxXfVROOE/YPPP7mLvjsA4= +000017_add_version_indexes.up.sql h1:i2MtlvEnFJwUdkRKJSUXE/L8QYkLNWk2bI17GiWw4do= +000018_add_announcements.up.sql h1:O34449SeAEbKOL1fZ3zATU12lwYvs94l8q+7Exos70Y= +000019_add_tags.up.sql h1:j6kn0pcdq7iy49jFWvtH7EpXjUjLsKxx3BFMQ8Lw27Y= +000020_add_compatibility.up.sql h1:HzVpQKnQXPiGaANjSVRdXPsSwgoYqYTvBYKaaOp2/cE= +000021_add_mod_platform.up.sql h1:DtdL0wqaqDDOy2q2HRZQ9Evr2PekSb4YdIt4Jn6w4sM= +000022_update_mod_targets.up.sql h1:OcblXeFSlcsGrxteqCVEWLvH/p7ReDXU3JtT+oX0eHM= +000023_migrate_versions_to_targets.up.sql h1:KEn9N6MrhSuRYyL84HpUAm13D2Qjd/LBB5hV3BmOUX0= +000024_add_sml_engine_version.up.sql h1:7bti1EojYknXOgjB3aHdv66DRISdCL72w+FHrDHjJF8= +000025_add_tag_description.up.sql h1:aSWwcp4uXkcvOEMAz3Dy6ZNxxtv6Somv0E0gzLtHA1I= +000026_add_rng.up.sql h1:JHwFMXBMWyTmdQXJDPRIXx7NYGd38T/BX9GffnBXq1k= +000027_add_id_columns.up.sql h1:sqAPyeXrgNCBVAMnt1VsNmqwZmrZxV+rjUQBrs9P0jU= +000028_increase_token_length_limit.up.sql h1:d5p1luBDnA9YvxQUD4nHHa3DdxdCnXxmpn7QDb5z4Tc= +000029_sml_as_mod.up.sql h1:I2Xbvq3Pu/rm7WbQbm+O2nlmUbka7lqM9pbPGKZdGRk= +000030_db_normalization.up.sql h1:nb7WSjHx9l5HIAAk/asnIltT7Eovb8K6g8Vv/qFdYLY= +20240705180551_initial_transfer_to_atlas.up.sql h1:X3BdZBaeuj/C+AolM1JH7PWy9ZCxqoiuYiqppXwvEEs= +20240815141045_drop_version_stability_enum.up.sql h1:Ui82xZfkbwI3Zjp7Y/L/uPDdUJ/ODJoxBPQ9aNQ4aT0= +20240818235330_index_fixes.up.sql h1:b69YMKa7FZlDJOBT9frmRx91+XFKBoraxhrkQTPNV1w= +20240819092347_user_indexes.up.sql h1:+9kXilutFbxW6AE/VA0AbvA9/U5mJe8ClPwz1vdbs7I= +20240823233610_add_mod_toggles.up.sql h1:eEK/n0xy1gKfWzgFBg7fFHtBGFaHeY5y04+9AS9jX+U= +20240826153722_add_thumbhash.up.sql h1:WktUCoRgVowDeShjfBe5GoIySaoiWrMS9pJKaW8O+BU= +20240930114249_add_required_on_remote.up.sql h1:SBZHTXEQCRC1INlK2nNXGQ8Sg5Cvqz9m8WcjKnrc9G4= +20241002191358_state_fix.up.sql h1:ai/YochcoNo8vpT09v9zHUq7AB4R6XpAU0ecFRghbmw= +20241003161005_create_virustotal_results_table.up.sql h1:8cqfx2/sIMFcvTbhvz2BS8xcz6bVDnYmKZ8RGDYIdms= +20241008092121_nullable_mod_logo.up.sql h1:pOV345UdHiAwZUgK9yzxRHK8ye7umoCoUG02qbsgAlY= +20250411023207_AddNetworkUsageDisclosure.up.sql h1:e3HqWusKNEh8WROCPTyN5vP64qNkvBKbVuEkCPUxXjk= From b911e08b0b2a29c77a71273ce4104c1de013a503 Mon Sep 17 00:00:00 2001 From: rhit-zhangl8 <112708732+rhit-zhangl8@users.noreply.github.com> Date: Thu, 22 Jan 2026 17:22:59 -0500 Subject: [PATCH 039/100] fix merge conflicts --- db/schema/mod.go | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/db/schema/mod.go b/db/schema/mod.go index 1eb525e0..562b12d9 100644 --- a/db/schema/mod.go +++ b/db/schema/mod.go @@ -21,15 +21,6 @@ func (Mod) Mixin() []ent.Mixin { } } -<<<<<<< Updated upstream -type AiUseDisclosure struct { - Type string - Note string -} -======= - ->>>>>>> Stashed changes - func (Mod) Fields() []ent.Field { return []ent.Field{ field.String("name").MaxLen(32), @@ -51,12 +42,8 @@ func (Mod) Fields() []ent.Field { field.JSON("compatibility", &util.CompatibilityInfo{}).Optional(), field.Bool("toggle_network_use").Default(false), field.String("network_use_disclosure").Optional().Nillable(), -<<<<<<< Updated upstream - field.JSON("ai_use_disclosure", &AiUseDisclosure{}).Optional(), -======= field.JSON("ai_use_disclosure", &util.AiUseDisclosure{}).Optional(), // field.String("ai_use_disclosure").Optional(), ->>>>>>> Stashed changes field.Bool("toggle_explicit_content").Default(false), } } From bec62c72400e71c03cf5e297063001a7541a9b67 Mon Sep 17 00:00:00 2001 From: rhit-zhangl8 <112708732+rhit-zhangl8@users.noreply.github.com> Date: Tue, 27 Jan 2026 16:27:02 -0500 Subject: [PATCH 040/100] just needs to run new update script --- db/schema/mod.go | 5 + generated/custom_models.go | 22 +- generated/ent/internal/schema.go | 6 +- generated/ent/migrate/schema.go | 1 - generated/ent/mod.go | 20 +- generated/ent/mod/mod.go | 3 - generated/ent/mod/where.go | 10 - generated/ent/mod_create.go | 88 -------- generated/ent/mod_update.go | 47 ----- generated/ent/mutation.go | 97 +-------- generated/ent/runtime/runtime.go | 2 +- generated/generated.go | 351 +++++++++++++++++++++++++++++-- generated/models_gen.go | 70 ++++++ gql/resolver_mods.go | 2 + schemas/mod.graphql | 29 ++- util/db.go | 5 - 16 files changed, 449 insertions(+), 309 deletions(-) diff --git a/db/schema/mod.go b/db/schema/mod.go index 562b12d9..83569ecb 100644 --- a/db/schema/mod.go +++ b/db/schema/mod.go @@ -21,6 +21,11 @@ func (Mod) Mixin() []ent.Mixin { } } +type AiUseDisclosure struct { + Type string + Note string +} + func (Mod) Fields() []ent.Field { return []ent.Field{ field.String("name").MaxLen(32), diff --git a/generated/custom_models.go b/generated/custom_models.go index e4bd354d..ffcdb260 100755 --- a/generated/custom_models.go +++ b/generated/custom_models.go @@ -3,16 +3,17 @@ package generated import "github.com/99designs/gqlgen/graphql" type NewMod struct { - Name string `json:"name" validate:"required,min=3,max=32"` - ShortDescription string `json:"short_description" validate:"required,min=16,max=128"` - FullDescription *string `json:"full_description"` - Logo *graphql.Upload `json:"logo"` - SourceURL *string `json:"source_url"` - ModReference string `json:"mod_reference"` - Hidden *bool `json:"hidden"` - TagIDs []string `json:"tagIDs" validate:"dive,min=3,max=24"` - ToggleNetworkUse *bool `json:"toggle_network_use"` - ToggleExplicitContent *bool `json:"toggle_explicit_content"` + Name string `json:"name" validate:"required,min=3,max=32"` + ShortDescription string `json:"short_description" validate:"required,min=16,max=128"` + FullDescription *string `json:"full_description"` + Logo *graphql.Upload `json:"logo"` + SourceURL *string `json:"source_url"` + ModReference string `json:"mod_reference"` + Hidden *bool `json:"hidden"` + TagIDs []string `json:"tagIDs" validate:"dive,min=3,max=24"` + ToggleNetworkUse *bool `json:"toggle_network_use"` + ToggleExplicitContent *bool `json:"toggle_explicit_content"` + AiUseDisclosure *AiUseDisclosureInput `json:"ai_use_disclosure"` } type UpdateMod struct { @@ -29,4 +30,5 @@ type UpdateMod struct { ToggleNetworkUse *bool `json:"toggle_network_use"` NetworkUseDisclosure graphql.Omittable[*string] `json:"network_use_disclosure"` ToggleExplicitContent *bool `json:"toggle_explicit_content"` + AiUseDisclosure *AiUseDisclosureInput `json:"ai_use_disclosure"` } diff --git a/generated/ent/internal/schema.go b/generated/ent/internal/schema.go index a918f3e2..2fa6da14 100644 --- a/generated/ent/internal/schema.go +++ b/generated/ent/internal/schema.go @@ -6,8 +6,4 @@ // Package internal holds a loadable version of the latest schema. package internal -<<<<<<< Updated upstream -const Schema = "{\"Schema\":\"github.com/satisfactorymodding/smr-api/db/schema\",\"Package\":\"github.com/satisfactorymodding/smr-api/generated/ent\",\"Schemas\":[{\"name\":\"Announcement\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"message\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"importance\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Guide\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"guides\",\"unique\":true,\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"}}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"guide\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":2,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"GuideTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guide\",\"type\":\"Guide\",\"field\":\"guide_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"guide_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"guide_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"Mod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"versions\",\"type\":\"Version\"},{\"name\":\"authors\",\"type\":\"User\",\"ref_name\":\"mods\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"},\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"}},{\"name\":\"dependents\",\"type\":\"Version\",\"ref_name\":\"dependencies\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"full_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"source_url\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"creator_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"popularity\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"last_version_date\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hidden\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"compatibility\",\"type\":{\"Type\":3,\"Ident\":\"*util.CompatibilityInfo\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":true,\"RType\":{\"Name\":\"CompatibilityInfo\",\"Ident\":\"util.CompatibilityInfo\",\"Kind\":22,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{}}},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_network_use\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"network_use_disclosure\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"nillable\":true,\"optional\":true,\"position\":{\"Index\":18,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"ai_use_disclosure\",\"type\":{\"Type\":3,\"Ident\":\"*schema.AiUseDisclosure\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/db/schema\",\"PkgName\":\"schema\",\"Nillable\":true,\"RType\":{\"Name\":\"AiUseDisclosure\",\"Ident\":\"schema.AiUseDisclosure\",\"Kind\":22,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/db/schema\",\"Methods\":{}}},\"optional\":true,\"position\":{\"Index\":19,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_explicit_content\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":20,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"last_version_date\"]},{\"unique\":true,\"fields\":[\"mod_reference\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"ModTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"mod_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"SatisfactoryVersion\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"unique\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"engine_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"default\":true,\"default_value\":\"4.26\",\"default_kind\":24,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}]},{\"name\":\"Tag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mods\",\"type\":\"Mod\",\"ref_name\":\"tags\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"},\"inverse\":true},{\"name\":\"guides\",\"type\":\"Guide\",\"ref_name\":\"tags\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":24,\"unique\":true,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"optional\":true,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"User\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guides\",\"type\":\"Guide\"},{\"name\":\"sessions\",\"type\":\"UserSession\",\"storage_key\":{\"Table\":\"\",\"Symbols\":null,\"Columns\":[\"user_id\"]}},{\"name\":\"mods\",\"type\":\"Mod\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"}},{\"name\":\"groups\",\"type\":\"UserGroup\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"email\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":256,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"username\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"joined_from\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"banned\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"rank\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":1,\"default_kind\":2,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"github_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"optional\":true,\"validators\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"google_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"optional\":true,\"validators\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"facebook_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"optional\":true,\"validators\":1,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"email\"]},{\"unique\":true,\"fields\":[\"github_id\"]},{\"unique\":true,\"fields\":[\"google_id\"]},{\"unique\":true,\"fields\":[\"facebook_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserGroup\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"groups\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"group_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"user_id\",\"group_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserMod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"role\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"user_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"UserSession\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"ref_name\":\"sessions\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"token\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"user_agent\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"token\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Version\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"ref_name\":\"versions\",\"unique\":true,\"inverse\":true,\"required\":true},{\"name\":\"dependencies\",\"type\":\"Mod\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"}},{\"name\":\"targets\",\"type\":\"VersionTarget\"},{\"name\":\"virustotal_results\",\"type\":\"VirustotalResult\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"game_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"required_on_remote\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":true,\"default_kind\":1,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"changelog\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"stability\",\"type\":{\"Type\":6,\"Ident\":\"util.Stability\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":false,\"RType\":{\"Name\":\"Stability\",\"Ident\":\"util.Stability\",\"Kind\":24,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{\"Values\":{\"In\":[],\"Out\":[{\"Name\":\"\",\"Ident\":\"[]string\",\"Kind\":23,\"PkgPath\":\"\",\"Methods\":null}]}}}},\"enums\":[{\"N\":\"release\",\"V\":\"release\"},{\"N\":\"beta\",\"V\":\"beta\"},{\"N\":\"alpha\",\"V\":\"alpha\"}],\"default\":true,\"default_value\":\"release\",\"default_kind\":24,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"metadata\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_major\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_minor\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_patch\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"optional\":true,\"validators\":2,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"approved\"]},{\"fields\":[\"denied\"]},{\"fields\":[\"mod_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"VersionDependency\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"condition\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"optional\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"annotations\":{\"Fields\":{\"ID\":[\"version_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"VersionTarget\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"targets\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"target_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"unique\":true,\"fields\":[\"version_id\",\"target_name\"]}]},{\"name\":\"VirustotalResult\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"virustotal_results\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"safe\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":2,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"file_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":2,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"safe\"]},{\"unique\":true,\"fields\":[\"hash\",\"version_id\"]},{\"fields\":[\"file_name\"]}]}],\"Features\":[\"sql/modifier\",\"intercept\",\"schema/snapshot\",\"sql/execquery\",\"sql/upsert\"]}" -======= -const Schema = "{\"Schema\":\"github.com/satisfactorymodding/smr-api/db/schema\",\"Package\":\"github.com/satisfactorymodding/smr-api/generated/ent\",\"Schemas\":[{\"name\":\"Announcement\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"message\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"importance\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Guide\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"guides\",\"unique\":true,\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"}}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"guide\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":2,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"GuideTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guide\",\"type\":\"Guide\",\"field\":\"guide_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"guide_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"guide_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"Mod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"versions\",\"type\":\"Version\"},{\"name\":\"authors\",\"type\":\"User\",\"ref_name\":\"mods\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"},\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"}},{\"name\":\"dependents\",\"type\":\"Version\",\"ref_name\":\"dependencies\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"full_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"source_url\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"creator_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"popularity\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"last_version_date\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hidden\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"compatibility\",\"type\":{\"Type\":3,\"Ident\":\"*util.CompatibilityInfo\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":true,\"RType\":{\"Name\":\"CompatibilityInfo\",\"Ident\":\"util.CompatibilityInfo\",\"Kind\":22,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{}}},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_network_use\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"network_use_disclosure\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"nillable\":true,\"optional\":true,\"position\":{\"Index\":18,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"ai_use_disclosure\",\"type\":{\"Type\":3,\"Ident\":\"*util.AiUseDisclosure\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":true,\"RType\":{\"Name\":\"AiUseDisclosure\",\"Ident\":\"util.AiUseDisclosure\",\"Kind\":22,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{}}},\"optional\":true,\"position\":{\"Index\":19,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_explicit_content\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":20,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"last_version_date\"]},{\"unique\":true,\"fields\":[\"mod_reference\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"ModTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"mod_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"SatisfactoryVersion\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"unique\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"engine_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"default\":true,\"default_value\":\"4.26\",\"default_kind\":24,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}]},{\"name\":\"Tag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mods\",\"type\":\"Mod\",\"ref_name\":\"tags\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"},\"inverse\":true},{\"name\":\"guides\",\"type\":\"Guide\",\"ref_name\":\"tags\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":24,\"unique\":true,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"optional\":true,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"User\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guides\",\"type\":\"Guide\"},{\"name\":\"sessions\",\"type\":\"UserSession\",\"storage_key\":{\"Table\":\"\",\"Symbols\":null,\"Columns\":[\"user_id\"]}},{\"name\":\"mods\",\"type\":\"Mod\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"}},{\"name\":\"groups\",\"type\":\"UserGroup\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"email\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":256,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"username\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"joined_from\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"banned\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"rank\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":1,\"default_kind\":2,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"github_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"optional\":true,\"validators\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"google_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"optional\":true,\"validators\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"facebook_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"optional\":true,\"validators\":1,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"email\"]},{\"unique\":true,\"fields\":[\"github_id\"]},{\"unique\":true,\"fields\":[\"google_id\"]},{\"unique\":true,\"fields\":[\"facebook_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserGroup\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"groups\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"group_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"user_id\",\"group_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserMod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"role\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"user_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"UserSession\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"ref_name\":\"sessions\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"token\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"user_agent\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"token\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Version\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"ref_name\":\"versions\",\"unique\":true,\"inverse\":true,\"required\":true},{\"name\":\"dependencies\",\"type\":\"Mod\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"}},{\"name\":\"targets\",\"type\":\"VersionTarget\"},{\"name\":\"virustotal_results\",\"type\":\"VirustotalResult\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"game_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"required_on_remote\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":true,\"default_kind\":1,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"changelog\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"stability\",\"type\":{\"Type\":6,\"Ident\":\"util.Stability\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":false,\"RType\":{\"Name\":\"Stability\",\"Ident\":\"util.Stability\",\"Kind\":24,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{\"Values\":{\"In\":[],\"Out\":[{\"Name\":\"\",\"Ident\":\"[]string\",\"Kind\":23,\"PkgPath\":\"\",\"Methods\":null}]}}}},\"enums\":[{\"N\":\"release\",\"V\":\"release\"},{\"N\":\"beta\",\"V\":\"beta\"},{\"N\":\"alpha\",\"V\":\"alpha\"}],\"default\":true,\"default_value\":\"release\",\"default_kind\":24,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"metadata\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_major\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_minor\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_patch\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"optional\":true,\"validators\":2,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"approved\"]},{\"fields\":[\"denied\"]},{\"fields\":[\"mod_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"VersionDependency\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"condition\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"optional\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"annotations\":{\"Fields\":{\"ID\":[\"version_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"VersionTarget\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"targets\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"target_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"unique\":true,\"fields\":[\"version_id\",\"target_name\"]}]},{\"name\":\"VirustotalResult\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"virustotal_results\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"safe\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":2,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"file_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":2,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"safe\"]},{\"unique\":true,\"fields\":[\"hash\",\"version_id\"]},{\"fields\":[\"file_name\"]}]}],\"Features\":[\"sql/modifier\",\"intercept\",\"schema/snapshot\",\"sql/execquery\",\"sql/upsert\"]}" ->>>>>>> Stashed changes +const Schema = "{\"Schema\":\"github.com/satisfactorymodding/smr-api/db/schema\",\"Package\":\"github.com/satisfactorymodding/smr-api/generated/ent\",\"Schemas\":[{\"name\":\"Announcement\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"message\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"importance\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Guide\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"guides\",\"unique\":true,\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"}}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"guide\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":2,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"GuideTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guide\",\"type\":\"Guide\",\"field\":\"guide_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"guide_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"guide_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"Mod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"versions\",\"type\":\"Version\"},{\"name\":\"authors\",\"type\":\"User\",\"ref_name\":\"mods\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"},\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"}},{\"name\":\"dependents\",\"type\":\"Version\",\"ref_name\":\"dependencies\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"full_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"source_url\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"creator_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"popularity\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"last_version_date\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hidden\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"compatibility\",\"type\":{\"Type\":3,\"Ident\":\"*util.CompatibilityInfo\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":true,\"RType\":{\"Name\":\"CompatibilityInfo\",\"Ident\":\"util.CompatibilityInfo\",\"Kind\":22,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{}}},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_network_use\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"network_use_disclosure\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"nillable\":true,\"optional\":true,\"position\":{\"Index\":18,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_explicit_content\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":19,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"last_version_date\"]},{\"unique\":true,\"fields\":[\"mod_reference\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"ModTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"mod_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"SatisfactoryVersion\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"unique\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"engine_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"default\":true,\"default_value\":\"4.26\",\"default_kind\":24,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}]},{\"name\":\"Tag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mods\",\"type\":\"Mod\",\"ref_name\":\"tags\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"},\"inverse\":true},{\"name\":\"guides\",\"type\":\"Guide\",\"ref_name\":\"tags\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":24,\"unique\":true,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"optional\":true,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"User\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guides\",\"type\":\"Guide\"},{\"name\":\"sessions\",\"type\":\"UserSession\",\"storage_key\":{\"Table\":\"\",\"Symbols\":null,\"Columns\":[\"user_id\"]}},{\"name\":\"mods\",\"type\":\"Mod\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"}},{\"name\":\"groups\",\"type\":\"UserGroup\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"email\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":256,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"username\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"joined_from\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"banned\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"rank\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":1,\"default_kind\":2,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"github_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"optional\":true,\"validators\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"google_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"optional\":true,\"validators\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"facebook_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"optional\":true,\"validators\":1,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"email\"]},{\"unique\":true,\"fields\":[\"github_id\"]},{\"unique\":true,\"fields\":[\"google_id\"]},{\"unique\":true,\"fields\":[\"facebook_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserGroup\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"groups\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"group_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"user_id\",\"group_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserMod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"role\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"user_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"UserSession\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"ref_name\":\"sessions\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"token\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"user_agent\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"token\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Version\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"ref_name\":\"versions\",\"unique\":true,\"inverse\":true,\"required\":true},{\"name\":\"dependencies\",\"type\":\"Mod\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"}},{\"name\":\"targets\",\"type\":\"VersionTarget\"},{\"name\":\"virustotal_results\",\"type\":\"VirustotalResult\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"game_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"required_on_remote\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":true,\"default_kind\":1,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"changelog\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"stability\",\"type\":{\"Type\":6,\"Ident\":\"util.Stability\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":false,\"RType\":{\"Name\":\"Stability\",\"Ident\":\"util.Stability\",\"Kind\":24,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{\"Values\":{\"In\":[],\"Out\":[{\"Name\":\"\",\"Ident\":\"[]string\",\"Kind\":23,\"PkgPath\":\"\",\"Methods\":null}]}}}},\"enums\":[{\"N\":\"release\",\"V\":\"release\"},{\"N\":\"beta\",\"V\":\"beta\"},{\"N\":\"alpha\",\"V\":\"alpha\"}],\"default\":true,\"default_value\":\"release\",\"default_kind\":24,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"metadata\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_major\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_minor\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_patch\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"optional\":true,\"validators\":2,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"approved\"]},{\"fields\":[\"denied\"]},{\"fields\":[\"mod_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"VersionDependency\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"condition\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"optional\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"annotations\":{\"Fields\":{\"ID\":[\"version_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"VersionTarget\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"targets\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"target_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"unique\":true,\"fields\":[\"version_id\",\"target_name\"]}]},{\"name\":\"VirustotalResult\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"virustotal_results\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"safe\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":2,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"file_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":2,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"safe\"]},{\"unique\":true,\"fields\":[\"hash\",\"version_id\"]},{\"fields\":[\"file_name\"]}]}],\"Features\":[\"sql/modifier\",\"intercept\",\"schema/snapshot\",\"sql/execquery\",\"sql/upsert\"]}" diff --git a/generated/ent/migrate/schema.go b/generated/ent/migrate/schema.go index 029ee335..4a5fd390 100644 --- a/generated/ent/migrate/schema.go +++ b/generated/ent/migrate/schema.go @@ -113,7 +113,6 @@ var ( {Name: "compatibility", Type: field.TypeJSON, Nullable: true}, {Name: "toggle_network_use", Type: field.TypeBool, Default: false}, {Name: "network_use_disclosure", Type: field.TypeString, Nullable: true}, - {Name: "ai_use_disclosure", Type: field.TypeJSON, Nullable: true}, {Name: "toggle_explicit_content", Type: field.TypeBool, Default: false}, } // ModsTable holds the schema information for the "mods" table. diff --git a/generated/ent/mod.go b/generated/ent/mod.go index 9bfb57aa..0c4f985f 100644 --- a/generated/ent/mod.go +++ b/generated/ent/mod.go @@ -10,7 +10,6 @@ import ( "entgo.io/ent" "entgo.io/ent/dialect/sql" - "github.com/satisfactorymodding/smr-api/db/schema" "github.com/satisfactorymodding/smr-api/generated/ent/mod" "github.com/satisfactorymodding/smr-api/util" ) @@ -64,12 +63,6 @@ type Mod struct { ToggleNetworkUse bool `json:"toggle_network_use,omitempty"` // NetworkUseDisclosure holds the value of the "network_use_disclosure" field. NetworkUseDisclosure *string `json:"network_use_disclosure,omitempty"` - // AiUseDisclosure holds the value of the "ai_use_disclosure" field. -<<<<<<< Updated upstream - AiUseDisclosure *schema.AiUseDisclosure `json:"ai_use_disclosure,omitempty"` -======= - AiUseDisclosure *util.AiUseDisclosure `json:"ai_use_disclosure,omitempty"` ->>>>>>> Stashed changes // ToggleExplicitContent holds the value of the "toggle_explicit_content" field. ToggleExplicitContent bool `json:"toggle_explicit_content,omitempty"` // Edges holds the relations/edges for other nodes in the graph. @@ -167,7 +160,7 @@ func (*Mod) scanValues(columns []string) ([]any, error) { values := make([]any, len(columns)) for i := range columns { switch columns[i] { - case mod.FieldCompatibility, mod.FieldAiUseDisclosure: + case mod.FieldCompatibility: values[i] = new([]byte) case mod.FieldApproved, mod.FieldDenied, mod.FieldHidden, mod.FieldToggleNetworkUse, mod.FieldToggleExplicitContent: values[i] = new(sql.NullBool) @@ -333,14 +326,6 @@ func (m *Mod) assignValues(columns []string, values []any) error { m.NetworkUseDisclosure = new(string) *m.NetworkUseDisclosure = value.String } - case mod.FieldAiUseDisclosure: - if value, ok := values[i].(*[]byte); !ok { - return fmt.Errorf("unexpected type %T for field ai_use_disclosure", values[i]) - } else if value != nil && len(*value) > 0 { - if err := json.Unmarshal(*value, &m.AiUseDisclosure); err != nil { - return fmt.Errorf("unmarshal field ai_use_disclosure: %w", err) - } - } case mod.FieldToggleExplicitContent: if value, ok := values[i].(*sql.NullBool); !ok { return fmt.Errorf("unexpected type %T for field toggle_explicit_content", values[i]) @@ -486,9 +471,6 @@ func (m *Mod) String() string { builder.WriteString(*v) } builder.WriteString(", ") - builder.WriteString("ai_use_disclosure=") - builder.WriteString(fmt.Sprintf("%v", m.AiUseDisclosure)) - builder.WriteString(", ") builder.WriteString("toggle_explicit_content=") builder.WriteString(fmt.Sprintf("%v", m.ToggleExplicitContent)) builder.WriteByte(')') diff --git a/generated/ent/mod/mod.go b/generated/ent/mod/mod.go index a1040ee3..866e383c 100644 --- a/generated/ent/mod/mod.go +++ b/generated/ent/mod/mod.go @@ -59,8 +59,6 @@ const ( FieldToggleNetworkUse = "toggle_network_use" // FieldNetworkUseDisclosure holds the string denoting the network_use_disclosure field in the database. FieldNetworkUseDisclosure = "network_use_disclosure" - // FieldAiUseDisclosure holds the string denoting the ai_use_disclosure field in the database. - FieldAiUseDisclosure = "ai_use_disclosure" // FieldToggleExplicitContent holds the string denoting the toggle_explicit_content field in the database. FieldToggleExplicitContent = "toggle_explicit_content" // EdgeVersions holds the string denoting the versions edge name in mutations. @@ -149,7 +147,6 @@ var Columns = []string{ FieldCompatibility, FieldToggleNetworkUse, FieldNetworkUseDisclosure, - FieldAiUseDisclosure, FieldToggleExplicitContent, } diff --git a/generated/ent/mod/where.go b/generated/ent/mod/where.go index f8c0461e..040a233c 100644 --- a/generated/ent/mod/where.go +++ b/generated/ent/mod/where.go @@ -1190,16 +1190,6 @@ func NetworkUseDisclosureContainsFold(v string) predicate.Mod { return predicate.Mod(sql.FieldContainsFold(FieldNetworkUseDisclosure, v)) } -// AiUseDisclosureIsNil applies the IsNil predicate on the "ai_use_disclosure" field. -func AiUseDisclosureIsNil() predicate.Mod { - return predicate.Mod(sql.FieldIsNull(FieldAiUseDisclosure)) -} - -// AiUseDisclosureNotNil applies the NotNil predicate on the "ai_use_disclosure" field. -func AiUseDisclosureNotNil() predicate.Mod { - return predicate.Mod(sql.FieldNotNull(FieldAiUseDisclosure)) -} - // ToggleExplicitContentEQ applies the EQ predicate on the "toggle_explicit_content" field. func ToggleExplicitContentEQ(v bool) predicate.Mod { return predicate.Mod(sql.FieldEQ(FieldToggleExplicitContent, v)) diff --git a/generated/ent/mod_create.go b/generated/ent/mod_create.go index b16caf74..4a94e92c 100644 --- a/generated/ent/mod_create.go +++ b/generated/ent/mod_create.go @@ -12,7 +12,6 @@ import ( "entgo.io/ent/dialect/sql" "entgo.io/ent/dialect/sql/sqlgraph" "entgo.io/ent/schema/field" - "github.com/satisfactorymodding/smr-api/db/schema" "github.com/satisfactorymodding/smr-api/generated/ent/mod" "github.com/satisfactorymodding/smr-api/generated/ent/tag" "github.com/satisfactorymodding/smr-api/generated/ent/user" @@ -288,17 +287,6 @@ func (mc *ModCreate) SetNillableNetworkUseDisclosure(s *string) *ModCreate { return mc } -// SetAiUseDisclosure sets the "ai_use_disclosure" field. -<<<<<<< Updated upstream -func (mc *ModCreate) SetAiUseDisclosure(sud *schema.AiUseDisclosure) *ModCreate { - mc.mutation.SetAiUseDisclosure(sud) -======= -func (mc *ModCreate) SetAiUseDisclosure(uud *util.AiUseDisclosure) *ModCreate { - mc.mutation.SetAiUseDisclosure(uud) ->>>>>>> Stashed changes - return mc -} - // SetToggleExplicitContent sets the "toggle_explicit_content" field. func (mc *ModCreate) SetToggleExplicitContent(b bool) *ModCreate { mc.mutation.SetToggleExplicitContent(b) @@ -673,10 +661,6 @@ func (mc *ModCreate) createSpec() (*Mod, *sqlgraph.CreateSpec) { _spec.SetField(mod.FieldNetworkUseDisclosure, field.TypeString, value) _node.NetworkUseDisclosure = &value } - if value, ok := mc.mutation.AiUseDisclosure(); ok { - _spec.SetField(mod.FieldAiUseDisclosure, field.TypeJSON, value) - _node.AiUseDisclosure = value - } if value, ok := mc.mutation.ToggleExplicitContent(); ok { _spec.SetField(mod.FieldToggleExplicitContent, field.TypeBool, value) _node.ToggleExplicitContent = value @@ -1119,28 +1103,6 @@ func (u *ModUpsert) ClearNetworkUseDisclosure() *ModUpsert { return u } -// SetAiUseDisclosure sets the "ai_use_disclosure" field. -<<<<<<< Updated upstream -func (u *ModUpsert) SetAiUseDisclosure(v *schema.AiUseDisclosure) *ModUpsert { -======= -func (u *ModUpsert) SetAiUseDisclosure(v *util.AiUseDisclosure) *ModUpsert { ->>>>>>> Stashed changes - u.Set(mod.FieldAiUseDisclosure, v) - return u -} - -// UpdateAiUseDisclosure sets the "ai_use_disclosure" field to the value that was provided on create. -func (u *ModUpsert) UpdateAiUseDisclosure() *ModUpsert { - u.SetExcluded(mod.FieldAiUseDisclosure) - return u -} - -// ClearAiUseDisclosure clears the value of the "ai_use_disclosure" field. -func (u *ModUpsert) ClearAiUseDisclosure() *ModUpsert { - u.SetNull(mod.FieldAiUseDisclosure) - return u -} - // SetToggleExplicitContent sets the "toggle_explicit_content" field. func (u *ModUpsert) SetToggleExplicitContent(v bool) *ModUpsert { u.Set(mod.FieldToggleExplicitContent, v) @@ -1575,31 +1537,6 @@ func (u *ModUpsertOne) ClearNetworkUseDisclosure() *ModUpsertOne { }) } -// SetAiUseDisclosure sets the "ai_use_disclosure" field. -<<<<<<< Updated upstream -func (u *ModUpsertOne) SetAiUseDisclosure(v *schema.AiUseDisclosure) *ModUpsertOne { -======= -func (u *ModUpsertOne) SetAiUseDisclosure(v *util.AiUseDisclosure) *ModUpsertOne { ->>>>>>> Stashed changes - return u.Update(func(s *ModUpsert) { - s.SetAiUseDisclosure(v) - }) -} - -// UpdateAiUseDisclosure sets the "ai_use_disclosure" field to the value that was provided on create. -func (u *ModUpsertOne) UpdateAiUseDisclosure() *ModUpsertOne { - return u.Update(func(s *ModUpsert) { - s.UpdateAiUseDisclosure() - }) -} - -// ClearAiUseDisclosure clears the value of the "ai_use_disclosure" field. -func (u *ModUpsertOne) ClearAiUseDisclosure() *ModUpsertOne { - return u.Update(func(s *ModUpsert) { - s.ClearAiUseDisclosure() - }) -} - // SetToggleExplicitContent sets the "toggle_explicit_content" field. func (u *ModUpsertOne) SetToggleExplicitContent(v bool) *ModUpsertOne { return u.Update(func(s *ModUpsert) { @@ -2203,31 +2140,6 @@ func (u *ModUpsertBulk) ClearNetworkUseDisclosure() *ModUpsertBulk { }) } -// SetAiUseDisclosure sets the "ai_use_disclosure" field. -<<<<<<< Updated upstream -func (u *ModUpsertBulk) SetAiUseDisclosure(v *schema.AiUseDisclosure) *ModUpsertBulk { -======= -func (u *ModUpsertBulk) SetAiUseDisclosure(v *util.AiUseDisclosure) *ModUpsertBulk { ->>>>>>> Stashed changes - return u.Update(func(s *ModUpsert) { - s.SetAiUseDisclosure(v) - }) -} - -// UpdateAiUseDisclosure sets the "ai_use_disclosure" field to the value that was provided on create. -func (u *ModUpsertBulk) UpdateAiUseDisclosure() *ModUpsertBulk { - return u.Update(func(s *ModUpsert) { - s.UpdateAiUseDisclosure() - }) -} - -// ClearAiUseDisclosure clears the value of the "ai_use_disclosure" field. -func (u *ModUpsertBulk) ClearAiUseDisclosure() *ModUpsertBulk { - return u.Update(func(s *ModUpsert) { - s.ClearAiUseDisclosure() - }) -} - // SetToggleExplicitContent sets the "toggle_explicit_content" field. func (u *ModUpsertBulk) SetToggleExplicitContent(v bool) *ModUpsertBulk { return u.Update(func(s *ModUpsert) { diff --git a/generated/ent/mod_update.go b/generated/ent/mod_update.go index 8ca9971c..2c8db0d5 100644 --- a/generated/ent/mod_update.go +++ b/generated/ent/mod_update.go @@ -11,7 +11,6 @@ import ( "entgo.io/ent/dialect/sql" "entgo.io/ent/dialect/sql/sqlgraph" "entgo.io/ent/schema/field" - "github.com/satisfactorymodding/smr-api/db/schema" "github.com/satisfactorymodding/smr-api/generated/ent/mod" "github.com/satisfactorymodding/smr-api/generated/ent/predicate" "github.com/satisfactorymodding/smr-api/generated/ent/tag" @@ -382,23 +381,6 @@ func (mu *ModUpdate) ClearNetworkUseDisclosure() *ModUpdate { return mu } -// SetAiUseDisclosure sets the "ai_use_disclosure" field. -<<<<<<< Updated upstream -func (mu *ModUpdate) SetAiUseDisclosure(sud *schema.AiUseDisclosure) *ModUpdate { - mu.mutation.SetAiUseDisclosure(sud) -======= -func (mu *ModUpdate) SetAiUseDisclosure(uud *util.AiUseDisclosure) *ModUpdate { - mu.mutation.SetAiUseDisclosure(uud) ->>>>>>> Stashed changes - return mu -} - -// ClearAiUseDisclosure clears the value of the "ai_use_disclosure" field. -func (mu *ModUpdate) ClearAiUseDisclosure() *ModUpdate { - mu.mutation.ClearAiUseDisclosure() - return mu -} - // SetToggleExplicitContent sets the "toggle_explicit_content" field. func (mu *ModUpdate) SetToggleExplicitContent(b bool) *ModUpdate { mu.mutation.SetToggleExplicitContent(b) @@ -738,12 +720,6 @@ func (mu *ModUpdate) sqlSave(ctx context.Context) (n int, err error) { if mu.mutation.NetworkUseDisclosureCleared() { _spec.ClearField(mod.FieldNetworkUseDisclosure, field.TypeString) } - if value, ok := mu.mutation.AiUseDisclosure(); ok { - _spec.SetField(mod.FieldAiUseDisclosure, field.TypeJSON, value) - } - if mu.mutation.AiUseDisclosureCleared() { - _spec.ClearField(mod.FieldAiUseDisclosure, field.TypeJSON) - } if value, ok := mu.mutation.ToggleExplicitContent(); ok { _spec.SetField(mod.FieldToggleExplicitContent, field.TypeBool, value) } @@ -1309,23 +1285,6 @@ func (muo *ModUpdateOne) ClearNetworkUseDisclosure() *ModUpdateOne { return muo } -// SetAiUseDisclosure sets the "ai_use_disclosure" field. -<<<<<<< Updated upstream -func (muo *ModUpdateOne) SetAiUseDisclosure(sud *schema.AiUseDisclosure) *ModUpdateOne { - muo.mutation.SetAiUseDisclosure(sud) -======= -func (muo *ModUpdateOne) SetAiUseDisclosure(uud *util.AiUseDisclosure) *ModUpdateOne { - muo.mutation.SetAiUseDisclosure(uud) ->>>>>>> Stashed changes - return muo -} - -// ClearAiUseDisclosure clears the value of the "ai_use_disclosure" field. -func (muo *ModUpdateOne) ClearAiUseDisclosure() *ModUpdateOne { - muo.mutation.ClearAiUseDisclosure() - return muo -} - // SetToggleExplicitContent sets the "toggle_explicit_content" field. func (muo *ModUpdateOne) SetToggleExplicitContent(b bool) *ModUpdateOne { muo.mutation.SetToggleExplicitContent(b) @@ -1695,12 +1654,6 @@ func (muo *ModUpdateOne) sqlSave(ctx context.Context) (_node *Mod, err error) { if muo.mutation.NetworkUseDisclosureCleared() { _spec.ClearField(mod.FieldNetworkUseDisclosure, field.TypeString) } - if value, ok := muo.mutation.AiUseDisclosure(); ok { - _spec.SetField(mod.FieldAiUseDisclosure, field.TypeJSON, value) - } - if muo.mutation.AiUseDisclosureCleared() { - _spec.ClearField(mod.FieldAiUseDisclosure, field.TypeJSON) - } if value, ok := muo.mutation.ToggleExplicitContent(); ok { _spec.SetField(mod.FieldToggleExplicitContent, field.TypeBool, value) } diff --git a/generated/ent/mutation.go b/generated/ent/mutation.go index 347adaab..483aa2cd 100644 --- a/generated/ent/mutation.go +++ b/generated/ent/mutation.go @@ -11,7 +11,6 @@ import ( "entgo.io/ent" "entgo.io/ent/dialect/sql" - "github.com/satisfactorymodding/smr-api/db/schema" "github.com/satisfactorymodding/smr-api/generated/ent/announcement" "github.com/satisfactorymodding/smr-api/generated/ent/guide" "github.com/satisfactorymodding/smr-api/generated/ent/guidetag" @@ -1964,11 +1963,6 @@ type ModMutation struct { compatibility **util.CompatibilityInfo toggle_network_use *bool network_use_disclosure *string -<<<<<<< Updated upstream - ai_use_disclosure **schema.AiUseDisclosure -======= - ai_use_disclosure **util.AiUseDisclosure ->>>>>>> Stashed changes toggle_explicit_content *bool clearedFields map[string]struct{} versions map[string]struct{} @@ -3055,68 +3049,6 @@ func (m *ModMutation) ResetNetworkUseDisclosure() { delete(m.clearedFields, mod.FieldNetworkUseDisclosure) } -// SetAiUseDisclosure sets the "ai_use_disclosure" field. -<<<<<<< Updated upstream -func (m *ModMutation) SetAiUseDisclosure(sud *schema.AiUseDisclosure) { - m.ai_use_disclosure = &sud -} - -// AiUseDisclosure returns the value of the "ai_use_disclosure" field in the mutation. -func (m *ModMutation) AiUseDisclosure() (r *schema.AiUseDisclosure, exists bool) { -======= -func (m *ModMutation) SetAiUseDisclosure(uud *util.AiUseDisclosure) { - m.ai_use_disclosure = &uud -} - -// AiUseDisclosure returns the value of the "ai_use_disclosure" field in the mutation. -func (m *ModMutation) AiUseDisclosure() (r *util.AiUseDisclosure, exists bool) { ->>>>>>> Stashed changes - v := m.ai_use_disclosure - if v == nil { - return - } - return *v, true -} - -// OldAiUseDisclosure returns the old "ai_use_disclosure" field's value of the Mod entity. -// If the Mod object wasn't provided to the builder, the object is fetched from the database. -// An error is returned if the mutation operation is not UpdateOne, or the database query fails. -<<<<<<< Updated upstream -func (m *ModMutation) OldAiUseDisclosure(ctx context.Context) (v *schema.AiUseDisclosure, err error) { -======= -func (m *ModMutation) OldAiUseDisclosure(ctx context.Context) (v *util.AiUseDisclosure, err error) { ->>>>>>> Stashed changes - if !m.op.Is(OpUpdateOne) { - return v, errors.New("OldAiUseDisclosure is only allowed on UpdateOne operations") - } - if m.id == nil || m.oldValue == nil { - return v, errors.New("OldAiUseDisclosure requires an ID field in the mutation") - } - oldValue, err := m.oldValue(ctx) - if err != nil { - return v, fmt.Errorf("querying old value for OldAiUseDisclosure: %w", err) - } - return oldValue.AiUseDisclosure, nil -} - -// ClearAiUseDisclosure clears the value of the "ai_use_disclosure" field. -func (m *ModMutation) ClearAiUseDisclosure() { - m.ai_use_disclosure = nil - m.clearedFields[mod.FieldAiUseDisclosure] = struct{}{} -} - -// AiUseDisclosureCleared returns if the "ai_use_disclosure" field was cleared in this mutation. -func (m *ModMutation) AiUseDisclosureCleared() bool { - _, ok := m.clearedFields[mod.FieldAiUseDisclosure] - return ok -} - -// ResetAiUseDisclosure resets all changes to the "ai_use_disclosure" field. -func (m *ModMutation) ResetAiUseDisclosure() { - m.ai_use_disclosure = nil - delete(m.clearedFields, mod.FieldAiUseDisclosure) -} - // SetToggleExplicitContent sets the "toggle_explicit_content" field. func (m *ModMutation) SetToggleExplicitContent(b bool) { m.toggle_explicit_content = &b @@ -3403,7 +3335,7 @@ func (m *ModMutation) Type() string { // order to get all numeric fields that were incremented/decremented, call // AddedFields(). func (m *ModMutation) Fields() []string { - fields := make([]string, 0, 24) + fields := make([]string, 0, 23) if m.created_at != nil { fields = append(fields, mod.FieldCreatedAt) } @@ -3470,9 +3402,6 @@ func (m *ModMutation) Fields() []string { if m.network_use_disclosure != nil { fields = append(fields, mod.FieldNetworkUseDisclosure) } - if m.ai_use_disclosure != nil { - fields = append(fields, mod.FieldAiUseDisclosure) - } if m.toggle_explicit_content != nil { fields = append(fields, mod.FieldToggleExplicitContent) } @@ -3528,8 +3457,6 @@ func (m *ModMutation) Field(name string) (ent.Value, bool) { return m.ToggleNetworkUse() case mod.FieldNetworkUseDisclosure: return m.NetworkUseDisclosure() - case mod.FieldAiUseDisclosure: - return m.AiUseDisclosure() case mod.FieldToggleExplicitContent: return m.ToggleExplicitContent() } @@ -3585,8 +3512,6 @@ func (m *ModMutation) OldField(ctx context.Context, name string) (ent.Value, err return m.OldToggleNetworkUse(ctx) case mod.FieldNetworkUseDisclosure: return m.OldNetworkUseDisclosure(ctx) - case mod.FieldAiUseDisclosure: - return m.OldAiUseDisclosure(ctx) case mod.FieldToggleExplicitContent: return m.OldToggleExplicitContent(ctx) } @@ -3752,17 +3677,6 @@ func (m *ModMutation) SetField(name string, value ent.Value) error { } m.SetNetworkUseDisclosure(v) return nil - case mod.FieldAiUseDisclosure: -<<<<<<< Updated upstream - v, ok := value.(*schema.AiUseDisclosure) -======= - v, ok := value.(*util.AiUseDisclosure) ->>>>>>> Stashed changes - if !ok { - return fmt.Errorf("unexpected type %T for field %s", value, name) - } - m.SetAiUseDisclosure(v) - return nil case mod.FieldToggleExplicitContent: v, ok := value.(bool) if !ok { @@ -3872,9 +3786,6 @@ func (m *ModMutation) ClearedFields() []string { if m.FieldCleared(mod.FieldNetworkUseDisclosure) { fields = append(fields, mod.FieldNetworkUseDisclosure) } - if m.FieldCleared(mod.FieldAiUseDisclosure) { - fields = append(fields, mod.FieldAiUseDisclosure) - } return fields } @@ -3910,9 +3821,6 @@ func (m *ModMutation) ClearField(name string) error { case mod.FieldNetworkUseDisclosure: m.ClearNetworkUseDisclosure() return nil - case mod.FieldAiUseDisclosure: - m.ClearAiUseDisclosure() - return nil } return fmt.Errorf("unknown Mod nullable field %s", name) } @@ -3987,9 +3895,6 @@ func (m *ModMutation) ResetField(name string) error { case mod.FieldNetworkUseDisclosure: m.ResetNetworkUseDisclosure() return nil - case mod.FieldAiUseDisclosure: - m.ResetAiUseDisclosure() - return nil case mod.FieldToggleExplicitContent: m.ResetToggleExplicitContent() return nil diff --git a/generated/ent/runtime/runtime.go b/generated/ent/runtime/runtime.go index b1daacfb..39eeaebb 100644 --- a/generated/ent/runtime/runtime.go +++ b/generated/ent/runtime/runtime.go @@ -152,7 +152,7 @@ func init() { // mod.DefaultToggleNetworkUse holds the default value on creation for the toggle_network_use field. mod.DefaultToggleNetworkUse = modDescToggleNetworkUse.Default.(bool) // modDescToggleExplicitContent is the schema descriptor for toggle_explicit_content field. - modDescToggleExplicitContent := modFields[20].Descriptor() + modDescToggleExplicitContent := modFields[19].Descriptor() // mod.DefaultToggleExplicitContent holds the default value on creation for the toggle_explicit_content field. mod.DefaultToggleExplicitContent = modDescToggleExplicitContent.Default.(bool) // modDescID is the schema descriptor for id field. diff --git a/generated/generated.go b/generated/generated.go index c492b4b7..327a4e9b 100644 --- a/generated/generated.go +++ b/generated/generated.go @@ -73,6 +73,11 @@ type DirectiveRoot struct { } type ComplexityRoot struct { + AiUseDisclosure struct { + Note func(childComplexity int) int + Type func(childComplexity int) int + } + Announcement struct { ID func(childComplexity int) int Importance func(childComplexity int) int @@ -155,6 +160,7 @@ type ComplexityRoot struct { } Mod struct { + AiUseDisclosure func(childComplexity int) int Approved func(childComplexity int) int Authors func(childComplexity int) int Compatibility func(childComplexity int) int @@ -545,6 +551,20 @@ func (e *executableSchema) Complexity(ctx context.Context, typeName, field strin _ = ec switch typeName + "." + field { + case "AiUseDisclosure.note": + if e.complexity.AiUseDisclosure.Note == nil { + break + } + + return e.complexity.AiUseDisclosure.Note(childComplexity), true + + case "AiUseDisclosure.type": + if e.complexity.AiUseDisclosure.Type == nil { + break + } + + return e.complexity.AiUseDisclosure.Type(childComplexity), true + case "Announcement.id": if e.complexity.Announcement.ID == nil { break @@ -818,6 +838,13 @@ func (e *executableSchema) Complexity(ctx context.Context, typeName, field strin return e.complexity.LatestVersions.Release(childComplexity), true + case "Mod.ai_use_disclosure": + if e.complexity.Mod.AiUseDisclosure == nil { + break + } + + return e.complexity.Mod.AiUseDisclosure(childComplexity), true + case "Mod.approved": if e.complexity.Mod.Approved == nil { break @@ -2412,6 +2439,7 @@ func (e *executableSchema) Exec(ctx context.Context) graphql.ResponseHandler { opCtx := graphql.GetOperationContext(ctx) ec := executionContext{opCtx, e, 0, 0, make(chan graphql.DeferredResult)} inputUnmarshalMap := graphql.BuildUnmarshalerMap( + ec.unmarshalInputAiUseDisclosureInput, ec.unmarshalInputCompatibilityInfoInput, ec.unmarshalInputCompatibilityInput, ec.unmarshalInputControllerCompatibilityInput, @@ -2752,16 +2780,17 @@ enum ModFields { search } -# enum AiUseDisclosureType { -# NotUsed -# AdaMessages -# Used -# } +enum AiUseDisclosureType { + NotUsed + RuntimeUsed + AiContentUsed + NoAnswer +} -# type AiUseDisclosure { -# type: AiUseDisclosureType! -# note: String -# } +type AiUseDisclosure { + type: AiUseDisclosureType! + note: String +} type Mod { id: ModID! @@ -2786,7 +2815,7 @@ type Mod { compatibility: CompatibilityInfo toggle_network_use: Boolean! network_use_disclosure: String - # ai_use_disclosure: AiUseDisclosure + ai_use_disclosure: AiUseDisclosure! toggle_explicit_content: Boolean! authors: [UserMod!]! @@ -2813,6 +2842,11 @@ type ModVersion { ### Inputs +input AiUseDisclosureInput { + type: AiUseDisclosureType + note: String +} + input ModFilter { limit: Int offset: Int @@ -2836,6 +2870,7 @@ input NewMod { tagIDs: [TagID!] toggle_network_use: Boolean toggle_explicit_content: Boolean + ai_use_disclosure: AiUseDisclosureInput! } input UpdateMod { @@ -2851,7 +2886,7 @@ input UpdateMod { compatibility: CompatibilityInfoInput toggle_network_use: Boolean network_use_disclosure: String - # ai_use_disclosure: AiUseDisclosureInput + ai_use_disclosure: AiUseDisclosureInput! toggle_explicit_content: Boolean } @@ -5758,6 +5793,91 @@ func (ec *executionContext) field___Type_fields_argsIncludeDeprecated( // region **************************** field.gotpl ***************************** +func (ec *executionContext) _AiUseDisclosure_type(ctx context.Context, field graphql.CollectedField, obj *AiUseDisclosure) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_AiUseDisclosure_type(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Type, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(AiUseDisclosureType) + fc.Result = res + return ec.marshalNAiUseDisclosureType2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAiUseDisclosureType(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_AiUseDisclosure_type(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "AiUseDisclosure", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type AiUseDisclosureType does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _AiUseDisclosure_note(ctx context.Context, field graphql.CollectedField, obj *AiUseDisclosure) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_AiUseDisclosure_note(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Note, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_AiUseDisclosure_note(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "AiUseDisclosure", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + func (ec *executionContext) _Announcement_id(ctx context.Context, field graphql.CollectedField, obj *Announcement) (ret graphql.Marshaler) { fc, err := ec.fieldContext_Announcement_id(ctx, field) if err != nil { @@ -6530,6 +6650,8 @@ func (ec *executionContext) fieldContext_GetMods_mods(_ context.Context, field g return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "ai_use_disclosure": + return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) case "toggle_explicit_content": return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) case "authors": @@ -6674,6 +6796,8 @@ func (ec *executionContext) fieldContext_GetMyMods_mods(_ context.Context, field return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "ai_use_disclosure": + return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) case "toggle_explicit_content": return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) case "authors": @@ -8882,6 +9006,56 @@ func (ec *executionContext) fieldContext_Mod_network_use_disclosure(_ context.Co return fc, nil } +func (ec *executionContext) _Mod_ai_use_disclosure(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_ai_use_disclosure(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.AiUseDisclosure, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*AiUseDisclosure) + fc.Result = res + return ec.marshalNAiUseDisclosure2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAiUseDisclosure(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_ai_use_disclosure(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "type": + return ec.fieldContext_AiUseDisclosure_type(ctx, field) + case "note": + return ec.fieldContext_AiUseDisclosure_note(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type AiUseDisclosure", field.Name) + }, + } + return fc, nil +} + func (ec *executionContext) _Mod_toggle_explicit_content(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { fc, err := ec.fieldContext_Mod_toggle_explicit_content(ctx, field) if err != nil { @@ -10309,6 +10483,8 @@ func (ec *executionContext) fieldContext_Mutation_createMod(ctx context.Context, return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "ai_use_disclosure": + return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) case "toggle_explicit_content": return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) case "authors": @@ -10454,6 +10630,8 @@ func (ec *executionContext) fieldContext_Mutation_updateMod(ctx context.Context, return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "ai_use_disclosure": + return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) case "toggle_explicit_content": return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) case "authors": @@ -13026,6 +13204,8 @@ func (ec *executionContext) fieldContext_Query_getMod(ctx context.Context, field return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "ai_use_disclosure": + return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) case "toggle_explicit_content": return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) case "authors": @@ -13134,6 +13314,8 @@ func (ec *executionContext) fieldContext_Query_getModByReference(ctx context.Con return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "ai_use_disclosure": + return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) case "toggle_explicit_content": return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) case "authors": @@ -13242,6 +13424,8 @@ func (ec *executionContext) fieldContext_Query_getModByIdOrReference(ctx context return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "ai_use_disclosure": + return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) case "toggle_explicit_content": return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) case "authors": @@ -17029,6 +17213,8 @@ func (ec *executionContext) fieldContext_UserMod_mod(_ context.Context, field gr return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "ai_use_disclosure": + return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) case "toggle_explicit_content": return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) case "authors": @@ -18276,6 +18462,8 @@ func (ec *executionContext) fieldContext_Version_mod(_ context.Context, field gr return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "ai_use_disclosure": + return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) case "toggle_explicit_content": return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) case "authors": @@ -18713,6 +18901,8 @@ func (ec *executionContext) fieldContext_VersionDependency_mod(_ context.Context return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "ai_use_disclosure": + return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) case "toggle_explicit_content": return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) case "authors": @@ -21280,6 +21470,40 @@ func (ec *executionContext) fieldContext___Type_isOneOf(_ context.Context, field // region **************************** input.gotpl ***************************** +func (ec *executionContext) unmarshalInputAiUseDisclosureInput(ctx context.Context, obj any) (AiUseDisclosureInput, error) { + var it AiUseDisclosureInput + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"type", "note"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "type": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("type")) + data, err := ec.unmarshalOAiUseDisclosureType2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAiUseDisclosureType(ctx, v) + if err != nil { + return it, err + } + it.Type = data + case "note": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("note")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.Note = data + } + } + + return it, nil +} + func (ec *executionContext) unmarshalInputCompatibilityInfoInput(ctx context.Context, obj any) (CompatibilityInfoInput, error) { var it CompatibilityInfoInput asMap := map[string]any{} @@ -21664,7 +21888,7 @@ func (ec *executionContext) unmarshalInputNewMod(ctx context.Context, obj any) ( asMap[k] = v } - fieldsInOrder := [...]string{"name", "short_description", "full_description", "logo", "source_url", "mod_reference", "hidden", "tagIDs", "toggle_network_use", "toggle_explicit_content"} + fieldsInOrder := [...]string{"name", "short_description", "full_description", "logo", "source_url", "mod_reference", "hidden", "tagIDs", "toggle_network_use", "toggle_explicit_content", "ai_use_disclosure"} for _, k := range fieldsInOrder { v, ok := asMap[k] if !ok { @@ -21741,6 +21965,13 @@ func (ec *executionContext) unmarshalInputNewMod(ctx context.Context, obj any) ( return it, err } it.ToggleExplicitContent = data + case "ai_use_disclosure": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("ai_use_disclosure")) + data, err := ec.unmarshalNAiUseDisclosureInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAiUseDisclosureInput(ctx, v) + if err != nil { + return it, err + } + it.AiUseDisclosure = data } } @@ -22055,7 +22286,7 @@ func (ec *executionContext) unmarshalInputUpdateMod(ctx context.Context, obj any asMap[k] = v } - fieldsInOrder := [...]string{"name", "short_description", "full_description", "logo", "source_url", "mod_reference", "authors", "hidden", "tagIDs", "compatibility", "toggle_network_use", "network_use_disclosure", "toggle_explicit_content"} + fieldsInOrder := [...]string{"name", "short_description", "full_description", "logo", "source_url", "mod_reference", "authors", "hidden", "tagIDs", "compatibility", "toggle_network_use", "network_use_disclosure", "ai_use_disclosure", "toggle_explicit_content"} for _, k := range fieldsInOrder { v, ok := asMap[k] if !ok { @@ -22146,6 +22377,13 @@ func (ec *executionContext) unmarshalInputUpdateMod(ctx context.Context, obj any return it, err } it.NetworkUseDisclosure = graphql.OmittableOf(data) + case "ai_use_disclosure": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("ai_use_disclosure")) + data, err := ec.unmarshalNAiUseDisclosureInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAiUseDisclosureInput(ctx, v) + if err != nil { + return it, err + } + it.AiUseDisclosure = data case "toggle_explicit_content": ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("toggle_explicit_content")) data, err := ec.unmarshalOBoolean2ᚖbool(ctx, v) @@ -22396,6 +22634,47 @@ func (ec *executionContext) unmarshalInputVersionFilter(ctx context.Context, obj // region **************************** object.gotpl **************************** +var aiUseDisclosureImplementors = []string{"AiUseDisclosure"} + +func (ec *executionContext) _AiUseDisclosure(ctx context.Context, sel ast.SelectionSet, obj *AiUseDisclosure) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, aiUseDisclosureImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("AiUseDisclosure") + case "type": + out.Values[i] = ec._AiUseDisclosure_type(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "note": + out.Values[i] = ec._AiUseDisclosure_note(ctx, field, obj) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + var announcementImplementors = []string{"Announcement"} func (ec *executionContext) _Announcement(ctx context.Context, sel ast.SelectionSet, obj *Announcement) graphql.Marshaler { @@ -23549,6 +23828,11 @@ func (ec *executionContext) _Mod(ctx context.Context, sel ast.SelectionSet, obj } case "network_use_disclosure": out.Values[i] = ec._Mod_network_use_disclosure(ctx, field, obj) + case "ai_use_disclosure": + out.Values[i] = ec._Mod_ai_use_disclosure(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } case "toggle_explicit_content": out.Values[i] = ec._Mod_toggle_explicit_content(ctx, field, obj) if out.Values[i] == graphql.Null { @@ -26458,6 +26742,31 @@ func (ec *executionContext) ___Type(ctx context.Context, sel ast.SelectionSet, o // region ***************************** type.gotpl ***************************** +func (ec *executionContext) marshalNAiUseDisclosure2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAiUseDisclosure(ctx context.Context, sel ast.SelectionSet, v *AiUseDisclosure) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._AiUseDisclosure(ctx, sel, v) +} + +func (ec *executionContext) unmarshalNAiUseDisclosureInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAiUseDisclosureInput(ctx context.Context, v any) (*AiUseDisclosureInput, error) { + res, err := ec.unmarshalInputAiUseDisclosureInput(ctx, v) + return &res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalNAiUseDisclosureType2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAiUseDisclosureType(ctx context.Context, v any) (AiUseDisclosureType, error) { + var res AiUseDisclosureType + err := res.UnmarshalGQL(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNAiUseDisclosureType2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAiUseDisclosureType(ctx context.Context, sel ast.SelectionSet, v AiUseDisclosureType) graphql.Marshaler { + return v +} + func (ec *executionContext) marshalNAnnouncement2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncement(ctx context.Context, sel ast.SelectionSet, v Announcement) graphql.Marshaler { return ec._Announcement(ctx, sel, &v) } @@ -28168,6 +28477,22 @@ func (ec *executionContext) marshalN__TypeKind2string(ctx context.Context, sel a return res } +func (ec *executionContext) unmarshalOAiUseDisclosureType2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAiUseDisclosureType(ctx context.Context, v any) (*AiUseDisclosureType, error) { + if v == nil { + return nil, nil + } + var res = new(AiUseDisclosureType) + err := res.UnmarshalGQL(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOAiUseDisclosureType2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAiUseDisclosureType(ctx context.Context, sel ast.SelectionSet, v *AiUseDisclosureType) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return v +} + func (ec *executionContext) marshalOAnnouncement2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncement(ctx context.Context, sel ast.SelectionSet, v *Announcement) graphql.Marshaler { if v == nil { return graphql.Null diff --git a/generated/models_gen.go b/generated/models_gen.go index c5f645c4..386f56c9 100644 --- a/generated/models_gen.go +++ b/generated/models_gen.go @@ -11,6 +11,16 @@ import ( "github.com/99designs/gqlgen/graphql" ) +type AiUseDisclosure struct { + Type AiUseDisclosureType `json:"type"` + Note *string `json:"note,omitempty"` +} + +type AiUseDisclosureInput struct { + Type *AiUseDisclosureType `json:"type,omitempty"` + Note *string `json:"note,omitempty"` +} + type Announcement struct { ID string `json:"id"` Message string `json:"message"` @@ -131,6 +141,7 @@ type Mod struct { Compatibility *CompatibilityInfo `json:"compatibility,omitempty"` ToggleNetworkUse bool `json:"toggle_network_use"` NetworkUseDisclosure *string `json:"network_use_disclosure,omitempty"` + AiUseDisclosure *AiUseDisclosure `json:"ai_use_disclosure"` ToggleExplicitContent bool `json:"toggle_explicit_content"` Authors []*UserMod `json:"authors"` Version *Version `json:"version,omitempty"` @@ -352,6 +363,65 @@ type VirustotalResult struct { UpdatedAt *string `json:"updated_at,omitempty"` } +type AiUseDisclosureType string + +const ( + AiUseDisclosureTypeNotUsed AiUseDisclosureType = "NotUsed" + AiUseDisclosureTypeRuntimeUsed AiUseDisclosureType = "RuntimeUsed" + AiUseDisclosureTypeAiContentUsed AiUseDisclosureType = "AiContentUsed" + AiUseDisclosureTypeNoAnswer AiUseDisclosureType = "NoAnswer" +) + +var AllAiUseDisclosureType = []AiUseDisclosureType{ + AiUseDisclosureTypeNotUsed, + AiUseDisclosureTypeRuntimeUsed, + AiUseDisclosureTypeAiContentUsed, + AiUseDisclosureTypeNoAnswer, +} + +func (e AiUseDisclosureType) IsValid() bool { + switch e { + case AiUseDisclosureTypeNotUsed, AiUseDisclosureTypeRuntimeUsed, AiUseDisclosureTypeAiContentUsed, AiUseDisclosureTypeNoAnswer: + return true + } + return false +} + +func (e AiUseDisclosureType) String() string { + return string(e) +} + +func (e *AiUseDisclosureType) UnmarshalGQL(v any) error { + str, ok := v.(string) + if !ok { + return fmt.Errorf("enums must be strings") + } + + *e = AiUseDisclosureType(str) + if !e.IsValid() { + return fmt.Errorf("%s is not a valid AiUseDisclosureType", str) + } + return nil +} + +func (e AiUseDisclosureType) MarshalGQL(w io.Writer) { + fmt.Fprint(w, strconv.Quote(e.String())) +} + +func (e *AiUseDisclosureType) UnmarshalJSON(b []byte) error { + s, err := strconv.Unquote(string(b)) + if err != nil { + return err + } + return e.UnmarshalGQL(s) +} + +func (e AiUseDisclosureType) MarshalJSON() ([]byte, error) { + var buf bytes.Buffer + e.MarshalGQL(&buf) + return buf.Bytes(), nil +} + type AnnouncementImportance string const ( diff --git a/gql/resolver_mods.go b/gql/resolver_mods.go index e0ab82f6..96d03f84 100644 --- a/gql/resolver_mods.go +++ b/gql/resolver_mods.go @@ -81,6 +81,7 @@ func (r *mutationResolver) CreateMod(ctx context.Context, newMod generated.NewMo SetINNF(newMod.Hidden, dbMod.SetHidden) SetINNF(newMod.ToggleNetworkUse, dbMod.SetToggleNetworkUse) SetINNF(newMod.ToggleExplicitContent, dbMod.SetToggleExplicitContent) + SetINNF(newMod.AiUseDisclosure, dbMod.SetAiUseDisclosure) user, _, err := db.UserFromGQLContext(ctx) if err != nil { @@ -188,6 +189,7 @@ func (r *mutationResolver) UpdateMod(ctx context.Context, modID string, updateMo SetINNF(updateMod.Hidden, dbUpdate.SetHidden) SetCompatibilityINNF(updateMod.Compatibility, dbUpdate.SetCompatibility) SetINNF(updateMod.ToggleNetworkUse, dbUpdate.SetToggleNetworkUse) + SetINNF(updateMod.AiUseDisclosure, dbUpdate.SetAiUseDisclosure) newNetworkDisclosure, isSet := updateMod.NetworkUseDisclosure.ValueOK() if isSet { diff --git a/schemas/mod.graphql b/schemas/mod.graphql index 1024586d..5bb672e0 100755 --- a/schemas/mod.graphql +++ b/schemas/mod.graphql @@ -15,16 +15,17 @@ enum ModFields { search } -# enum AiUseDisclosureType { -# NotUsed -# AdaMessages -# Used -# } +enum AiUseDisclosureType { + NotUsed + RuntimeUsed + AiContentUsed + NoAnswer +} -# type AiUseDisclosure { -# type: AiUseDisclosureType! -# note: String -# } +type AiUseDisclosure { + type: AiUseDisclosureType! + note: String +} type Mod { id: ModID! @@ -49,7 +50,7 @@ type Mod { compatibility: CompatibilityInfo toggle_network_use: Boolean! network_use_disclosure: String - # ai_use_disclosure: AiUseDisclosure + ai_use_disclosure: AiUseDisclosure! toggle_explicit_content: Boolean! authors: [UserMod!]! @@ -76,6 +77,11 @@ type ModVersion { ### Inputs +input AiUseDisclosureInput { + type: AiUseDisclosureType + note: String +} + input ModFilter { limit: Int offset: Int @@ -99,6 +105,7 @@ input NewMod { tagIDs: [TagID!] toggle_network_use: Boolean toggle_explicit_content: Boolean + ai_use_disclosure: AiUseDisclosureInput! } input UpdateMod { @@ -114,7 +121,7 @@ input UpdateMod { compatibility: CompatibilityInfoInput toggle_network_use: Boolean network_use_disclosure: String - # ai_use_disclosure: AiUseDisclosureInput + ai_use_disclosure: AiUseDisclosureInput! toggle_explicit_content: Boolean } diff --git a/util/db.go b/util/db.go index 660fd1cb..bcca1b85 100644 --- a/util/db.go +++ b/util/db.go @@ -26,8 +26,3 @@ type Compatibility struct { State string Note string } - - type AiUseDisclosure struct { - Type string - Note string - } \ No newline at end of file From bcc4fbb68ce2dc525ed00defc2083bc009ab21dc Mon Sep 17 00:00:00 2001 From: rhit-zhangl8 <112708732+rhit-zhangl8@users.noreply.github.com> Date: Tue, 27 Jan 2026 16:29:11 -0500 Subject: [PATCH 041/100] added sql lines --- migrations/sql/000031_add_ai_disclosure.down.sql | 2 ++ migrations/sql/000031_add_ai_disclosure.up.sql | 2 ++ 2 files changed, 4 insertions(+) create mode 100644 migrations/sql/000031_add_ai_disclosure.down.sql create mode 100644 migrations/sql/000031_add_ai_disclosure.up.sql diff --git a/migrations/sql/000031_add_ai_disclosure.down.sql b/migrations/sql/000031_add_ai_disclosure.down.sql new file mode 100644 index 00000000..484d79fb --- /dev/null +++ b/migrations/sql/000031_add_ai_disclosure.down.sql @@ -0,0 +1,2 @@ +ALTER TABLE mods + DROP COLUMN compatibility \ No newline at end of file diff --git a/migrations/sql/000031_add_ai_disclosure.up.sql b/migrations/sql/000031_add_ai_disclosure.up.sql new file mode 100644 index 00000000..a422e36f --- /dev/null +++ b/migrations/sql/000031_add_ai_disclosure.up.sql @@ -0,0 +1,2 @@ +ALTER TABLE mods + ADD COLUMN compatibility jsonb \ No newline at end of file From 8d939984fddb059d54edc537b18f25eadc4f2b8f Mon Sep 17 00:00:00 2001 From: rhit-zhangl8 <112708732+rhit-zhangl8@users.noreply.github.com> Date: Tue, 27 Jan 2026 16:32:41 -0500 Subject: [PATCH 042/100] minor mistake --- db/schema/mod.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db/schema/mod.go b/db/schema/mod.go index 83569ecb..33f38c33 100644 --- a/db/schema/mod.go +++ b/db/schema/mod.go @@ -47,7 +47,7 @@ func (Mod) Fields() []ent.Field { field.JSON("compatibility", &util.CompatibilityInfo{}).Optional(), field.Bool("toggle_network_use").Default(false), field.String("network_use_disclosure").Optional().Nillable(), - field.JSON("ai_use_disclosure", &util.AiUseDisclosure{}).Optional(), + field.JSON("ai_use_disclosure", &AiUseDisclosure{}).Optional(), // field.String("ai_use_disclosure").Optional(), field.Bool("toggle_explicit_content").Default(false), } From 0e5041ae7d558cff4187150fb587571f0d843aac Mon Sep 17 00:00:00 2001 From: rhit-zhangl8 <112708732+rhit-zhangl8@users.noreply.github.com> Date: Tue, 27 Jan 2026 16:36:31 -0500 Subject: [PATCH 043/100] oopsie --- migrations/sql/000031_add_ai_disclosure.down.sql | 2 +- migrations/sql/000031_add_ai_disclosure.up.sql | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/migrations/sql/000031_add_ai_disclosure.down.sql b/migrations/sql/000031_add_ai_disclosure.down.sql index 484d79fb..3235961a 100644 --- a/migrations/sql/000031_add_ai_disclosure.down.sql +++ b/migrations/sql/000031_add_ai_disclosure.down.sql @@ -1,2 +1,2 @@ ALTER TABLE mods - DROP COLUMN compatibility \ No newline at end of file + DROP COLUMN ai_use_disclosure \ No newline at end of file diff --git a/migrations/sql/000031_add_ai_disclosure.up.sql b/migrations/sql/000031_add_ai_disclosure.up.sql index a422e36f..93475f2f 100644 --- a/migrations/sql/000031_add_ai_disclosure.up.sql +++ b/migrations/sql/000031_add_ai_disclosure.up.sql @@ -1,2 +1,2 @@ ALTER TABLE mods - ADD COLUMN compatibility jsonb \ No newline at end of file + ADD COLUMN ai_use_disclosure jsonb \ No newline at end of file From e40deb6b6929457972177137348ccfc2219d5459 Mon Sep 17 00:00:00 2001 From: rhit-zhangl8 <112708732+rhit-zhangl8@users.noreply.github.com> Date: Tue, 27 Jan 2026 16:38:49 -0500 Subject: [PATCH 044/100] hash update --- migrations/sql/atlas.sum | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/migrations/sql/atlas.sum b/migrations/sql/atlas.sum index 23184b03..e9c8f47a 100644 --- a/migrations/sql/atlas.sum +++ b/migrations/sql/atlas.sum @@ -1,4 +1,4 @@ -h1:uO5GAS75MHqw0OA+NiVI00PL1kOLcGGbAxIKo4FIqsE= +h1:RQ1QwkphZgnhGeC/UejmHfwWMmFPOVfICTBck8efcCc= 000001_create_initial_tables.up.sql h1:eALkiKdKPk4+PRs015wQKce0l5buzaQIwU8o2Ee9MH4= 000002_create_user_group_table.up.sql h1:lbhpvkwy073swwmvFfCmRN9Xbib3MAhfNx/A1czmiho= 000003_add_last_version_date_mod_table.up.sql h1:be83iHBYpXLRUm+wlET6GJSgTmTEpSSW9aWQesroOhE= @@ -29,14 +29,15 @@ h1:uO5GAS75MHqw0OA+NiVI00PL1kOLcGGbAxIKo4FIqsE= 000028_increase_token_length_limit.up.sql h1:d5p1luBDnA9YvxQUD4nHHa3DdxdCnXxmpn7QDb5z4Tc= 000029_sml_as_mod.up.sql h1:I2Xbvq3Pu/rm7WbQbm+O2nlmUbka7lqM9pbPGKZdGRk= 000030_db_normalization.up.sql h1:nb7WSjHx9l5HIAAk/asnIltT7Eovb8K6g8Vv/qFdYLY= -20240705180551_initial_transfer_to_atlas.up.sql h1:X3BdZBaeuj/C+AolM1JH7PWy9ZCxqoiuYiqppXwvEEs= -20240815141045_drop_version_stability_enum.up.sql h1:Ui82xZfkbwI3Zjp7Y/L/uPDdUJ/ODJoxBPQ9aNQ4aT0= -20240818235330_index_fixes.up.sql h1:b69YMKa7FZlDJOBT9frmRx91+XFKBoraxhrkQTPNV1w= -20240819092347_user_indexes.up.sql h1:+9kXilutFbxW6AE/VA0AbvA9/U5mJe8ClPwz1vdbs7I= -20240823233610_add_mod_toggles.up.sql h1:eEK/n0xy1gKfWzgFBg7fFHtBGFaHeY5y04+9AS9jX+U= -20240826153722_add_thumbhash.up.sql h1:WktUCoRgVowDeShjfBe5GoIySaoiWrMS9pJKaW8O+BU= -20240930114249_add_required_on_remote.up.sql h1:SBZHTXEQCRC1INlK2nNXGQ8Sg5Cvqz9m8WcjKnrc9G4= -20241002191358_state_fix.up.sql h1:ai/YochcoNo8vpT09v9zHUq7AB4R6XpAU0ecFRghbmw= -20241003161005_create_virustotal_results_table.up.sql h1:8cqfx2/sIMFcvTbhvz2BS8xcz6bVDnYmKZ8RGDYIdms= -20241008092121_nullable_mod_logo.up.sql h1:pOV345UdHiAwZUgK9yzxRHK8ye7umoCoUG02qbsgAlY= -20250411023207_AddNetworkUsageDisclosure.up.sql h1:e3HqWusKNEh8WROCPTyN5vP64qNkvBKbVuEkCPUxXjk= +000031_add_ai_disclosure.up.sql h1:13bTvEaTmnUy/dssgxDv0hlMSYQ+tj3lQBnU5G9kaJg= +20240705180551_initial_transfer_to_atlas.up.sql h1:N1br1sM/DKaLIUZV23CYAcM+01LVYQHOsrV+IPF0v+Q= +20240815141045_drop_version_stability_enum.up.sql h1:0VHVwxumgt6yKhb35QjouLaH5ll3QpsZKlCdgqQfF2s= +20240818235330_index_fixes.up.sql h1:x4Mp+za/4DcXoGqskxV+7N9gH+cq2JEV0P9UFPOKwDc= +20240819092347_user_indexes.up.sql h1:/QYunICDXLZ9TfegS6MiOUOuUmwn91s5aM7Cz6835hQ= +20240823233610_add_mod_toggles.up.sql h1:vw7mT69ytQX8ZAwzeyQDA+hfOssRlqtQHnXxbhXq8qo= +20240826153722_add_thumbhash.up.sql h1:X7SCNbqNy5vArYOdV+S/Vt3/jX/Ozshqmch3Db/6/uU= +20240930114249_add_required_on_remote.up.sql h1:2vVApQ1kfoJg0ji/+dQKuAZpJ6NqslZkMAjEelC4vSo= +20241002191358_state_fix.up.sql h1:EsZ5PCu355fJ1bKh/gdbkPGg7m9OohkB4pYKnezDKYo= +20241003161005_create_virustotal_results_table.up.sql h1:6hzMN/6TdYpyofCRuR94nWuJMoHkaPSqScccn7na+Y4= +20241008092121_nullable_mod_logo.up.sql h1:IpUXaNgt2HhiPG28dLQgRDUmq+6pBS9pEFuC23RGtPk= +20250411023207_AddNetworkUsageDisclosure.up.sql h1:TkpXVeTr3LJEpUN9X/dEnGN/49GEo+A5xjGGUlZO6c8= From 9e7e6b298922f564ce4528ada125bc4085f89c69 Mon Sep 17 00:00:00 2001 From: rhit-zhangl8 <112708732+rhit-zhangl8@users.noreply.github.com> Date: Tue, 10 Mar 2026 16:59:37 -0400 Subject: [PATCH 045/100] added generated files --- db/schema/mod.go | 7 +-- generated/conv/mod.go | 12 +++++ generated/ent/internal/schema.go | 2 +- generated/ent/migrate/schema.go | 1 + generated/ent/mod.go | 15 ++++++- generated/ent/mod/mod.go | 3 ++ generated/ent/mod/where.go | 10 +++++ generated/ent/mod_create.go | 70 +++++++++++++++++++++++++++++ generated/ent/mod_update.go | 36 +++++++++++++++ generated/ent/mutation.go | 75 +++++++++++++++++++++++++++++++- generated/ent/runtime/runtime.go | 2 +- gql/resolver_mods.go | 4 +- tools.go | 2 +- util/db.go | 5 +++ 14 files changed, 231 insertions(+), 13 deletions(-) diff --git a/db/schema/mod.go b/db/schema/mod.go index 33f38c33..562b12d9 100644 --- a/db/schema/mod.go +++ b/db/schema/mod.go @@ -21,11 +21,6 @@ func (Mod) Mixin() []ent.Mixin { } } -type AiUseDisclosure struct { - Type string - Note string -} - func (Mod) Fields() []ent.Field { return []ent.Field{ field.String("name").MaxLen(32), @@ -47,7 +42,7 @@ func (Mod) Fields() []ent.Field { field.JSON("compatibility", &util.CompatibilityInfo{}).Optional(), field.Bool("toggle_network_use").Default(false), field.String("network_use_disclosure").Optional().Nillable(), - field.JSON("ai_use_disclosure", &AiUseDisclosure{}).Optional(), + field.JSON("ai_use_disclosure", &util.AiUseDisclosure{}).Optional(), // field.String("ai_use_disclosure").Optional(), field.Bool("toggle_explicit_content").Default(false), } diff --git a/generated/conv/mod.go b/generated/conv/mod.go index d9ddeed6..af8eb046 100755 --- a/generated/conv/mod.go +++ b/generated/conv/mod.go @@ -51,6 +51,7 @@ func (c *ModImpl) Convert(source *ent.Mod) *generated.Mod { xstring := *(*source).NetworkUseDisclosure generatedMod.NetworkUseDisclosure = &xstring } + generatedMod.AiUseDisclosure = c.pUtilAiUseDisclosureToPGeneratedAiUseDisclosure((*source).AiUseDisclosure) generatedMod.ToggleExplicitContent = (*source).ToggleExplicitContent pGeneratedMod = &generatedMod } @@ -77,6 +78,17 @@ func (c *ModImpl) pEntTagToPGeneratedTag(source *ent.Tag) *generated.Tag { } return pGeneratedTag } +func (c *ModImpl) pUtilAiUseDisclosureToPGeneratedAiUseDisclosure(source *util.AiUseDisclosure) *generated.AiUseDisclosure { + var pGeneratedAiUseDisclosure *generated.AiUseDisclosure + if source != nil { + var generatedAiUseDisclosure generated.AiUseDisclosure + generatedAiUseDisclosure.Type = generated.AiUseDisclosureType((*source).Type) + pString := (*source).Note + generatedAiUseDisclosure.Note = &pString + pGeneratedAiUseDisclosure = &generatedAiUseDisclosure + } + return pGeneratedAiUseDisclosure +} func (c *ModImpl) pUtilCompatibilityInfoToPGeneratedCompatibilityInfo(source *util.CompatibilityInfo) *generated.CompatibilityInfo { var pGeneratedCompatibilityInfo *generated.CompatibilityInfo if source != nil { diff --git a/generated/ent/internal/schema.go b/generated/ent/internal/schema.go index 2fa6da14..6b0ac3d8 100644 --- a/generated/ent/internal/schema.go +++ b/generated/ent/internal/schema.go @@ -6,4 +6,4 @@ // Package internal holds a loadable version of the latest schema. package internal -const Schema = "{\"Schema\":\"github.com/satisfactorymodding/smr-api/db/schema\",\"Package\":\"github.com/satisfactorymodding/smr-api/generated/ent\",\"Schemas\":[{\"name\":\"Announcement\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"message\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"importance\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Guide\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"guides\",\"unique\":true,\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"}}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"guide\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":2,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"GuideTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guide\",\"type\":\"Guide\",\"field\":\"guide_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"guide_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"guide_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"Mod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"versions\",\"type\":\"Version\"},{\"name\":\"authors\",\"type\":\"User\",\"ref_name\":\"mods\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"},\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"}},{\"name\":\"dependents\",\"type\":\"Version\",\"ref_name\":\"dependencies\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"full_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"source_url\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"creator_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"popularity\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"last_version_date\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hidden\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"compatibility\",\"type\":{\"Type\":3,\"Ident\":\"*util.CompatibilityInfo\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":true,\"RType\":{\"Name\":\"CompatibilityInfo\",\"Ident\":\"util.CompatibilityInfo\",\"Kind\":22,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{}}},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_network_use\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"network_use_disclosure\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"nillable\":true,\"optional\":true,\"position\":{\"Index\":18,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_explicit_content\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":19,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"last_version_date\"]},{\"unique\":true,\"fields\":[\"mod_reference\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"ModTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"mod_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"SatisfactoryVersion\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"unique\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"engine_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"default\":true,\"default_value\":\"4.26\",\"default_kind\":24,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}]},{\"name\":\"Tag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mods\",\"type\":\"Mod\",\"ref_name\":\"tags\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"},\"inverse\":true},{\"name\":\"guides\",\"type\":\"Guide\",\"ref_name\":\"tags\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":24,\"unique\":true,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"optional\":true,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"User\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guides\",\"type\":\"Guide\"},{\"name\":\"sessions\",\"type\":\"UserSession\",\"storage_key\":{\"Table\":\"\",\"Symbols\":null,\"Columns\":[\"user_id\"]}},{\"name\":\"mods\",\"type\":\"Mod\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"}},{\"name\":\"groups\",\"type\":\"UserGroup\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"email\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":256,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"username\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"joined_from\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"banned\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"rank\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":1,\"default_kind\":2,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"github_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"optional\":true,\"validators\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"google_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"optional\":true,\"validators\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"facebook_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"optional\":true,\"validators\":1,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"email\"]},{\"unique\":true,\"fields\":[\"github_id\"]},{\"unique\":true,\"fields\":[\"google_id\"]},{\"unique\":true,\"fields\":[\"facebook_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserGroup\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"groups\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"group_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"user_id\",\"group_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserMod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"role\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"user_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"UserSession\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"ref_name\":\"sessions\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"token\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"user_agent\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"token\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Version\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"ref_name\":\"versions\",\"unique\":true,\"inverse\":true,\"required\":true},{\"name\":\"dependencies\",\"type\":\"Mod\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"}},{\"name\":\"targets\",\"type\":\"VersionTarget\"},{\"name\":\"virustotal_results\",\"type\":\"VirustotalResult\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"game_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"required_on_remote\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":true,\"default_kind\":1,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"changelog\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"stability\",\"type\":{\"Type\":6,\"Ident\":\"util.Stability\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":false,\"RType\":{\"Name\":\"Stability\",\"Ident\":\"util.Stability\",\"Kind\":24,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{\"Values\":{\"In\":[],\"Out\":[{\"Name\":\"\",\"Ident\":\"[]string\",\"Kind\":23,\"PkgPath\":\"\",\"Methods\":null}]}}}},\"enums\":[{\"N\":\"release\",\"V\":\"release\"},{\"N\":\"beta\",\"V\":\"beta\"},{\"N\":\"alpha\",\"V\":\"alpha\"}],\"default\":true,\"default_value\":\"release\",\"default_kind\":24,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"metadata\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_major\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_minor\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_patch\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"optional\":true,\"validators\":2,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"approved\"]},{\"fields\":[\"denied\"]},{\"fields\":[\"mod_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"VersionDependency\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"condition\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"optional\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"annotations\":{\"Fields\":{\"ID\":[\"version_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"VersionTarget\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"targets\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"target_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"unique\":true,\"fields\":[\"version_id\",\"target_name\"]}]},{\"name\":\"VirustotalResult\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"virustotal_results\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"safe\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":2,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"file_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":2,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"safe\"]},{\"unique\":true,\"fields\":[\"hash\",\"version_id\"]},{\"fields\":[\"file_name\"]}]}],\"Features\":[\"sql/modifier\",\"intercept\",\"schema/snapshot\",\"sql/execquery\",\"sql/upsert\"]}" +const Schema = "{\"Schema\":\"github.com/satisfactorymodding/smr-api/db/schema\",\"Package\":\"github.com/satisfactorymodding/smr-api/generated/ent\",\"Schemas\":[{\"name\":\"Announcement\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"message\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"importance\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Guide\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"guides\",\"unique\":true,\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"}}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"guide\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":2,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"GuideTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guide\",\"type\":\"Guide\",\"field\":\"guide_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"guide_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"guide_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"Mod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"versions\",\"type\":\"Version\"},{\"name\":\"authors\",\"type\":\"User\",\"ref_name\":\"mods\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"},\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"}},{\"name\":\"dependents\",\"type\":\"Version\",\"ref_name\":\"dependencies\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"full_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"source_url\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"creator_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"popularity\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"last_version_date\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hidden\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"compatibility\",\"type\":{\"Type\":3,\"Ident\":\"*util.CompatibilityInfo\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":true,\"RType\":{\"Name\":\"CompatibilityInfo\",\"Ident\":\"util.CompatibilityInfo\",\"Kind\":22,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{}}},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_network_use\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"network_use_disclosure\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"nillable\":true,\"optional\":true,\"position\":{\"Index\":18,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"ai_use_disclosure\",\"type\":{\"Type\":3,\"Ident\":\"*util.AiUseDisclosure\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":true,\"RType\":{\"Name\":\"AiUseDisclosure\",\"Ident\":\"util.AiUseDisclosure\",\"Kind\":22,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{}}},\"optional\":true,\"position\":{\"Index\":19,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_explicit_content\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":20,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"last_version_date\"]},{\"unique\":true,\"fields\":[\"mod_reference\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"ModTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"mod_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"SatisfactoryVersion\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"unique\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"engine_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"default\":true,\"default_value\":\"4.26\",\"default_kind\":24,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}]},{\"name\":\"Tag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mods\",\"type\":\"Mod\",\"ref_name\":\"tags\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"},\"inverse\":true},{\"name\":\"guides\",\"type\":\"Guide\",\"ref_name\":\"tags\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":24,\"unique\":true,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"optional\":true,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"User\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guides\",\"type\":\"Guide\"},{\"name\":\"sessions\",\"type\":\"UserSession\",\"storage_key\":{\"Table\":\"\",\"Symbols\":null,\"Columns\":[\"user_id\"]}},{\"name\":\"mods\",\"type\":\"Mod\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"}},{\"name\":\"groups\",\"type\":\"UserGroup\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"email\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":256,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"username\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"joined_from\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"banned\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"rank\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":1,\"default_kind\":2,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"github_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"optional\":true,\"validators\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"google_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"optional\":true,\"validators\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"facebook_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"optional\":true,\"validators\":1,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"email\"]},{\"unique\":true,\"fields\":[\"github_id\"]},{\"unique\":true,\"fields\":[\"google_id\"]},{\"unique\":true,\"fields\":[\"facebook_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserGroup\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"groups\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"group_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"user_id\",\"group_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserMod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"role\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"user_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"UserSession\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"ref_name\":\"sessions\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"token\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"user_agent\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"token\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Version\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"ref_name\":\"versions\",\"unique\":true,\"inverse\":true,\"required\":true},{\"name\":\"dependencies\",\"type\":\"Mod\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"}},{\"name\":\"targets\",\"type\":\"VersionTarget\"},{\"name\":\"virustotal_results\",\"type\":\"VirustotalResult\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"game_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"required_on_remote\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":true,\"default_kind\":1,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"changelog\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"stability\",\"type\":{\"Type\":6,\"Ident\":\"util.Stability\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":false,\"RType\":{\"Name\":\"Stability\",\"Ident\":\"util.Stability\",\"Kind\":24,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{\"Values\":{\"In\":[],\"Out\":[{\"Name\":\"\",\"Ident\":\"[]string\",\"Kind\":23,\"PkgPath\":\"\",\"Methods\":null}]}}}},\"enums\":[{\"N\":\"release\",\"V\":\"release\"},{\"N\":\"beta\",\"V\":\"beta\"},{\"N\":\"alpha\",\"V\":\"alpha\"}],\"default\":true,\"default_value\":\"release\",\"default_kind\":24,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"metadata\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_major\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_minor\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_patch\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"optional\":true,\"validators\":2,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"approved\"]},{\"fields\":[\"denied\"]},{\"fields\":[\"mod_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"VersionDependency\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"condition\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"optional\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"annotations\":{\"Fields\":{\"ID\":[\"version_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"VersionTarget\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"targets\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"target_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"unique\":true,\"fields\":[\"version_id\",\"target_name\"]}]},{\"name\":\"VirustotalResult\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"virustotal_results\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"safe\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":2,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"file_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":2,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"safe\"]},{\"unique\":true,\"fields\":[\"hash\",\"version_id\"]},{\"fields\":[\"file_name\"]}]}],\"Features\":[\"sql/modifier\",\"intercept\",\"schema/snapshot\",\"sql/execquery\",\"sql/upsert\"]}" diff --git a/generated/ent/migrate/schema.go b/generated/ent/migrate/schema.go index 4a5fd390..029ee335 100644 --- a/generated/ent/migrate/schema.go +++ b/generated/ent/migrate/schema.go @@ -113,6 +113,7 @@ var ( {Name: "compatibility", Type: field.TypeJSON, Nullable: true}, {Name: "toggle_network_use", Type: field.TypeBool, Default: false}, {Name: "network_use_disclosure", Type: field.TypeString, Nullable: true}, + {Name: "ai_use_disclosure", Type: field.TypeJSON, Nullable: true}, {Name: "toggle_explicit_content", Type: field.TypeBool, Default: false}, } // ModsTable holds the schema information for the "mods" table. diff --git a/generated/ent/mod.go b/generated/ent/mod.go index 0c4f985f..9c99d885 100644 --- a/generated/ent/mod.go +++ b/generated/ent/mod.go @@ -63,6 +63,8 @@ type Mod struct { ToggleNetworkUse bool `json:"toggle_network_use,omitempty"` // NetworkUseDisclosure holds the value of the "network_use_disclosure" field. NetworkUseDisclosure *string `json:"network_use_disclosure,omitempty"` + // AiUseDisclosure holds the value of the "ai_use_disclosure" field. + AiUseDisclosure *util.AiUseDisclosure `json:"ai_use_disclosure,omitempty"` // ToggleExplicitContent holds the value of the "toggle_explicit_content" field. ToggleExplicitContent bool `json:"toggle_explicit_content,omitempty"` // Edges holds the relations/edges for other nodes in the graph. @@ -160,7 +162,7 @@ func (*Mod) scanValues(columns []string) ([]any, error) { values := make([]any, len(columns)) for i := range columns { switch columns[i] { - case mod.FieldCompatibility: + case mod.FieldCompatibility, mod.FieldAiUseDisclosure: values[i] = new([]byte) case mod.FieldApproved, mod.FieldDenied, mod.FieldHidden, mod.FieldToggleNetworkUse, mod.FieldToggleExplicitContent: values[i] = new(sql.NullBool) @@ -326,6 +328,14 @@ func (m *Mod) assignValues(columns []string, values []any) error { m.NetworkUseDisclosure = new(string) *m.NetworkUseDisclosure = value.String } + case mod.FieldAiUseDisclosure: + if value, ok := values[i].(*[]byte); !ok { + return fmt.Errorf("unexpected type %T for field ai_use_disclosure", values[i]) + } else if value != nil && len(*value) > 0 { + if err := json.Unmarshal(*value, &m.AiUseDisclosure); err != nil { + return fmt.Errorf("unmarshal field ai_use_disclosure: %w", err) + } + } case mod.FieldToggleExplicitContent: if value, ok := values[i].(*sql.NullBool); !ok { return fmt.Errorf("unexpected type %T for field toggle_explicit_content", values[i]) @@ -471,6 +481,9 @@ func (m *Mod) String() string { builder.WriteString(*v) } builder.WriteString(", ") + builder.WriteString("ai_use_disclosure=") + builder.WriteString(fmt.Sprintf("%v", m.AiUseDisclosure)) + builder.WriteString(", ") builder.WriteString("toggle_explicit_content=") builder.WriteString(fmt.Sprintf("%v", m.ToggleExplicitContent)) builder.WriteByte(')') diff --git a/generated/ent/mod/mod.go b/generated/ent/mod/mod.go index 866e383c..a1040ee3 100644 --- a/generated/ent/mod/mod.go +++ b/generated/ent/mod/mod.go @@ -59,6 +59,8 @@ const ( FieldToggleNetworkUse = "toggle_network_use" // FieldNetworkUseDisclosure holds the string denoting the network_use_disclosure field in the database. FieldNetworkUseDisclosure = "network_use_disclosure" + // FieldAiUseDisclosure holds the string denoting the ai_use_disclosure field in the database. + FieldAiUseDisclosure = "ai_use_disclosure" // FieldToggleExplicitContent holds the string denoting the toggle_explicit_content field in the database. FieldToggleExplicitContent = "toggle_explicit_content" // EdgeVersions holds the string denoting the versions edge name in mutations. @@ -147,6 +149,7 @@ var Columns = []string{ FieldCompatibility, FieldToggleNetworkUse, FieldNetworkUseDisclosure, + FieldAiUseDisclosure, FieldToggleExplicitContent, } diff --git a/generated/ent/mod/where.go b/generated/ent/mod/where.go index 040a233c..f8c0461e 100644 --- a/generated/ent/mod/where.go +++ b/generated/ent/mod/where.go @@ -1190,6 +1190,16 @@ func NetworkUseDisclosureContainsFold(v string) predicate.Mod { return predicate.Mod(sql.FieldContainsFold(FieldNetworkUseDisclosure, v)) } +// AiUseDisclosureIsNil applies the IsNil predicate on the "ai_use_disclosure" field. +func AiUseDisclosureIsNil() predicate.Mod { + return predicate.Mod(sql.FieldIsNull(FieldAiUseDisclosure)) +} + +// AiUseDisclosureNotNil applies the NotNil predicate on the "ai_use_disclosure" field. +func AiUseDisclosureNotNil() predicate.Mod { + return predicate.Mod(sql.FieldNotNull(FieldAiUseDisclosure)) +} + // ToggleExplicitContentEQ applies the EQ predicate on the "toggle_explicit_content" field. func ToggleExplicitContentEQ(v bool) predicate.Mod { return predicate.Mod(sql.FieldEQ(FieldToggleExplicitContent, v)) diff --git a/generated/ent/mod_create.go b/generated/ent/mod_create.go index 4a94e92c..708e03c0 100644 --- a/generated/ent/mod_create.go +++ b/generated/ent/mod_create.go @@ -287,6 +287,12 @@ func (mc *ModCreate) SetNillableNetworkUseDisclosure(s *string) *ModCreate { return mc } +// SetAiUseDisclosure sets the "ai_use_disclosure" field. +func (mc *ModCreate) SetAiUseDisclosure(uud *util.AiUseDisclosure) *ModCreate { + mc.mutation.SetAiUseDisclosure(uud) + return mc +} + // SetToggleExplicitContent sets the "toggle_explicit_content" field. func (mc *ModCreate) SetToggleExplicitContent(b bool) *ModCreate { mc.mutation.SetToggleExplicitContent(b) @@ -661,6 +667,10 @@ func (mc *ModCreate) createSpec() (*Mod, *sqlgraph.CreateSpec) { _spec.SetField(mod.FieldNetworkUseDisclosure, field.TypeString, value) _node.NetworkUseDisclosure = &value } + if value, ok := mc.mutation.AiUseDisclosure(); ok { + _spec.SetField(mod.FieldAiUseDisclosure, field.TypeJSON, value) + _node.AiUseDisclosure = value + } if value, ok := mc.mutation.ToggleExplicitContent(); ok { _spec.SetField(mod.FieldToggleExplicitContent, field.TypeBool, value) _node.ToggleExplicitContent = value @@ -1103,6 +1113,24 @@ func (u *ModUpsert) ClearNetworkUseDisclosure() *ModUpsert { return u } +// SetAiUseDisclosure sets the "ai_use_disclosure" field. +func (u *ModUpsert) SetAiUseDisclosure(v *util.AiUseDisclosure) *ModUpsert { + u.Set(mod.FieldAiUseDisclosure, v) + return u +} + +// UpdateAiUseDisclosure sets the "ai_use_disclosure" field to the value that was provided on create. +func (u *ModUpsert) UpdateAiUseDisclosure() *ModUpsert { + u.SetExcluded(mod.FieldAiUseDisclosure) + return u +} + +// ClearAiUseDisclosure clears the value of the "ai_use_disclosure" field. +func (u *ModUpsert) ClearAiUseDisclosure() *ModUpsert { + u.SetNull(mod.FieldAiUseDisclosure) + return u +} + // SetToggleExplicitContent sets the "toggle_explicit_content" field. func (u *ModUpsert) SetToggleExplicitContent(v bool) *ModUpsert { u.Set(mod.FieldToggleExplicitContent, v) @@ -1537,6 +1565,27 @@ func (u *ModUpsertOne) ClearNetworkUseDisclosure() *ModUpsertOne { }) } +// SetAiUseDisclosure sets the "ai_use_disclosure" field. +func (u *ModUpsertOne) SetAiUseDisclosure(v *util.AiUseDisclosure) *ModUpsertOne { + return u.Update(func(s *ModUpsert) { + s.SetAiUseDisclosure(v) + }) +} + +// UpdateAiUseDisclosure sets the "ai_use_disclosure" field to the value that was provided on create. +func (u *ModUpsertOne) UpdateAiUseDisclosure() *ModUpsertOne { + return u.Update(func(s *ModUpsert) { + s.UpdateAiUseDisclosure() + }) +} + +// ClearAiUseDisclosure clears the value of the "ai_use_disclosure" field. +func (u *ModUpsertOne) ClearAiUseDisclosure() *ModUpsertOne { + return u.Update(func(s *ModUpsert) { + s.ClearAiUseDisclosure() + }) +} + // SetToggleExplicitContent sets the "toggle_explicit_content" field. func (u *ModUpsertOne) SetToggleExplicitContent(v bool) *ModUpsertOne { return u.Update(func(s *ModUpsert) { @@ -2140,6 +2189,27 @@ func (u *ModUpsertBulk) ClearNetworkUseDisclosure() *ModUpsertBulk { }) } +// SetAiUseDisclosure sets the "ai_use_disclosure" field. +func (u *ModUpsertBulk) SetAiUseDisclosure(v *util.AiUseDisclosure) *ModUpsertBulk { + return u.Update(func(s *ModUpsert) { + s.SetAiUseDisclosure(v) + }) +} + +// UpdateAiUseDisclosure sets the "ai_use_disclosure" field to the value that was provided on create. +func (u *ModUpsertBulk) UpdateAiUseDisclosure() *ModUpsertBulk { + return u.Update(func(s *ModUpsert) { + s.UpdateAiUseDisclosure() + }) +} + +// ClearAiUseDisclosure clears the value of the "ai_use_disclosure" field. +func (u *ModUpsertBulk) ClearAiUseDisclosure() *ModUpsertBulk { + return u.Update(func(s *ModUpsert) { + s.ClearAiUseDisclosure() + }) +} + // SetToggleExplicitContent sets the "toggle_explicit_content" field. func (u *ModUpsertBulk) SetToggleExplicitContent(v bool) *ModUpsertBulk { return u.Update(func(s *ModUpsert) { diff --git a/generated/ent/mod_update.go b/generated/ent/mod_update.go index 2c8db0d5..2309030e 100644 --- a/generated/ent/mod_update.go +++ b/generated/ent/mod_update.go @@ -381,6 +381,18 @@ func (mu *ModUpdate) ClearNetworkUseDisclosure() *ModUpdate { return mu } +// SetAiUseDisclosure sets the "ai_use_disclosure" field. +func (mu *ModUpdate) SetAiUseDisclosure(uud *util.AiUseDisclosure) *ModUpdate { + mu.mutation.SetAiUseDisclosure(uud) + return mu +} + +// ClearAiUseDisclosure clears the value of the "ai_use_disclosure" field. +func (mu *ModUpdate) ClearAiUseDisclosure() *ModUpdate { + mu.mutation.ClearAiUseDisclosure() + return mu +} + // SetToggleExplicitContent sets the "toggle_explicit_content" field. func (mu *ModUpdate) SetToggleExplicitContent(b bool) *ModUpdate { mu.mutation.SetToggleExplicitContent(b) @@ -720,6 +732,12 @@ func (mu *ModUpdate) sqlSave(ctx context.Context) (n int, err error) { if mu.mutation.NetworkUseDisclosureCleared() { _spec.ClearField(mod.FieldNetworkUseDisclosure, field.TypeString) } + if value, ok := mu.mutation.AiUseDisclosure(); ok { + _spec.SetField(mod.FieldAiUseDisclosure, field.TypeJSON, value) + } + if mu.mutation.AiUseDisclosureCleared() { + _spec.ClearField(mod.FieldAiUseDisclosure, field.TypeJSON) + } if value, ok := mu.mutation.ToggleExplicitContent(); ok { _spec.SetField(mod.FieldToggleExplicitContent, field.TypeBool, value) } @@ -1285,6 +1303,18 @@ func (muo *ModUpdateOne) ClearNetworkUseDisclosure() *ModUpdateOne { return muo } +// SetAiUseDisclosure sets the "ai_use_disclosure" field. +func (muo *ModUpdateOne) SetAiUseDisclosure(uud *util.AiUseDisclosure) *ModUpdateOne { + muo.mutation.SetAiUseDisclosure(uud) + return muo +} + +// ClearAiUseDisclosure clears the value of the "ai_use_disclosure" field. +func (muo *ModUpdateOne) ClearAiUseDisclosure() *ModUpdateOne { + muo.mutation.ClearAiUseDisclosure() + return muo +} + // SetToggleExplicitContent sets the "toggle_explicit_content" field. func (muo *ModUpdateOne) SetToggleExplicitContent(b bool) *ModUpdateOne { muo.mutation.SetToggleExplicitContent(b) @@ -1654,6 +1684,12 @@ func (muo *ModUpdateOne) sqlSave(ctx context.Context) (_node *Mod, err error) { if muo.mutation.NetworkUseDisclosureCleared() { _spec.ClearField(mod.FieldNetworkUseDisclosure, field.TypeString) } + if value, ok := muo.mutation.AiUseDisclosure(); ok { + _spec.SetField(mod.FieldAiUseDisclosure, field.TypeJSON, value) + } + if muo.mutation.AiUseDisclosureCleared() { + _spec.ClearField(mod.FieldAiUseDisclosure, field.TypeJSON) + } if value, ok := muo.mutation.ToggleExplicitContent(); ok { _spec.SetField(mod.FieldToggleExplicitContent, field.TypeBool, value) } diff --git a/generated/ent/mutation.go b/generated/ent/mutation.go index 483aa2cd..01b2377a 100644 --- a/generated/ent/mutation.go +++ b/generated/ent/mutation.go @@ -1963,6 +1963,7 @@ type ModMutation struct { compatibility **util.CompatibilityInfo toggle_network_use *bool network_use_disclosure *string + ai_use_disclosure **util.AiUseDisclosure toggle_explicit_content *bool clearedFields map[string]struct{} versions map[string]struct{} @@ -3049,6 +3050,55 @@ func (m *ModMutation) ResetNetworkUseDisclosure() { delete(m.clearedFields, mod.FieldNetworkUseDisclosure) } +// SetAiUseDisclosure sets the "ai_use_disclosure" field. +func (m *ModMutation) SetAiUseDisclosure(uud *util.AiUseDisclosure) { + m.ai_use_disclosure = &uud +} + +// AiUseDisclosure returns the value of the "ai_use_disclosure" field in the mutation. +func (m *ModMutation) AiUseDisclosure() (r *util.AiUseDisclosure, exists bool) { + v := m.ai_use_disclosure + if v == nil { + return + } + return *v, true +} + +// OldAiUseDisclosure returns the old "ai_use_disclosure" field's value of the Mod entity. +// If the Mod object wasn't provided to the builder, the object is fetched from the database. +// An error is returned if the mutation operation is not UpdateOne, or the database query fails. +func (m *ModMutation) OldAiUseDisclosure(ctx context.Context) (v *util.AiUseDisclosure, err error) { + if !m.op.Is(OpUpdateOne) { + return v, errors.New("OldAiUseDisclosure is only allowed on UpdateOne operations") + } + if m.id == nil || m.oldValue == nil { + return v, errors.New("OldAiUseDisclosure requires an ID field in the mutation") + } + oldValue, err := m.oldValue(ctx) + if err != nil { + return v, fmt.Errorf("querying old value for OldAiUseDisclosure: %w", err) + } + return oldValue.AiUseDisclosure, nil +} + +// ClearAiUseDisclosure clears the value of the "ai_use_disclosure" field. +func (m *ModMutation) ClearAiUseDisclosure() { + m.ai_use_disclosure = nil + m.clearedFields[mod.FieldAiUseDisclosure] = struct{}{} +} + +// AiUseDisclosureCleared returns if the "ai_use_disclosure" field was cleared in this mutation. +func (m *ModMutation) AiUseDisclosureCleared() bool { + _, ok := m.clearedFields[mod.FieldAiUseDisclosure] + return ok +} + +// ResetAiUseDisclosure resets all changes to the "ai_use_disclosure" field. +func (m *ModMutation) ResetAiUseDisclosure() { + m.ai_use_disclosure = nil + delete(m.clearedFields, mod.FieldAiUseDisclosure) +} + // SetToggleExplicitContent sets the "toggle_explicit_content" field. func (m *ModMutation) SetToggleExplicitContent(b bool) { m.toggle_explicit_content = &b @@ -3335,7 +3385,7 @@ func (m *ModMutation) Type() string { // order to get all numeric fields that were incremented/decremented, call // AddedFields(). func (m *ModMutation) Fields() []string { - fields := make([]string, 0, 23) + fields := make([]string, 0, 24) if m.created_at != nil { fields = append(fields, mod.FieldCreatedAt) } @@ -3402,6 +3452,9 @@ func (m *ModMutation) Fields() []string { if m.network_use_disclosure != nil { fields = append(fields, mod.FieldNetworkUseDisclosure) } + if m.ai_use_disclosure != nil { + fields = append(fields, mod.FieldAiUseDisclosure) + } if m.toggle_explicit_content != nil { fields = append(fields, mod.FieldToggleExplicitContent) } @@ -3457,6 +3510,8 @@ func (m *ModMutation) Field(name string) (ent.Value, bool) { return m.ToggleNetworkUse() case mod.FieldNetworkUseDisclosure: return m.NetworkUseDisclosure() + case mod.FieldAiUseDisclosure: + return m.AiUseDisclosure() case mod.FieldToggleExplicitContent: return m.ToggleExplicitContent() } @@ -3512,6 +3567,8 @@ func (m *ModMutation) OldField(ctx context.Context, name string) (ent.Value, err return m.OldToggleNetworkUse(ctx) case mod.FieldNetworkUseDisclosure: return m.OldNetworkUseDisclosure(ctx) + case mod.FieldAiUseDisclosure: + return m.OldAiUseDisclosure(ctx) case mod.FieldToggleExplicitContent: return m.OldToggleExplicitContent(ctx) } @@ -3677,6 +3734,13 @@ func (m *ModMutation) SetField(name string, value ent.Value) error { } m.SetNetworkUseDisclosure(v) return nil + case mod.FieldAiUseDisclosure: + v, ok := value.(*util.AiUseDisclosure) + if !ok { + return fmt.Errorf("unexpected type %T for field %s", value, name) + } + m.SetAiUseDisclosure(v) + return nil case mod.FieldToggleExplicitContent: v, ok := value.(bool) if !ok { @@ -3786,6 +3850,9 @@ func (m *ModMutation) ClearedFields() []string { if m.FieldCleared(mod.FieldNetworkUseDisclosure) { fields = append(fields, mod.FieldNetworkUseDisclosure) } + if m.FieldCleared(mod.FieldAiUseDisclosure) { + fields = append(fields, mod.FieldAiUseDisclosure) + } return fields } @@ -3821,6 +3888,9 @@ func (m *ModMutation) ClearField(name string) error { case mod.FieldNetworkUseDisclosure: m.ClearNetworkUseDisclosure() return nil + case mod.FieldAiUseDisclosure: + m.ClearAiUseDisclosure() + return nil } return fmt.Errorf("unknown Mod nullable field %s", name) } @@ -3895,6 +3965,9 @@ func (m *ModMutation) ResetField(name string) error { case mod.FieldNetworkUseDisclosure: m.ResetNetworkUseDisclosure() return nil + case mod.FieldAiUseDisclosure: + m.ResetAiUseDisclosure() + return nil case mod.FieldToggleExplicitContent: m.ResetToggleExplicitContent() return nil diff --git a/generated/ent/runtime/runtime.go b/generated/ent/runtime/runtime.go index 39eeaebb..b1daacfb 100644 --- a/generated/ent/runtime/runtime.go +++ b/generated/ent/runtime/runtime.go @@ -152,7 +152,7 @@ func init() { // mod.DefaultToggleNetworkUse holds the default value on creation for the toggle_network_use field. mod.DefaultToggleNetworkUse = modDescToggleNetworkUse.Default.(bool) // modDescToggleExplicitContent is the schema descriptor for toggle_explicit_content field. - modDescToggleExplicitContent := modFields[19].Descriptor() + modDescToggleExplicitContent := modFields[20].Descriptor() // mod.DefaultToggleExplicitContent holds the default value on creation for the toggle_explicit_content field. mod.DefaultToggleExplicitContent = modDescToggleExplicitContent.Default.(bool) // modDescID is the schema descriptor for id field. diff --git a/gql/resolver_mods.go b/gql/resolver_mods.go index 96d03f84..7dcf5d2b 100644 --- a/gql/resolver_mods.go +++ b/gql/resolver_mods.go @@ -81,7 +81,7 @@ func (r *mutationResolver) CreateMod(ctx context.Context, newMod generated.NewMo SetINNF(newMod.Hidden, dbMod.SetHidden) SetINNF(newMod.ToggleNetworkUse, dbMod.SetToggleNetworkUse) SetINNF(newMod.ToggleExplicitContent, dbMod.SetToggleExplicitContent) - SetINNF(newMod.AiUseDisclosure, dbMod.SetAiUseDisclosure) + //SetINNF(newMod.AiUseDisclosure, dbMod.SetAiUseDisclosure) user, _, err := db.UserFromGQLContext(ctx) if err != nil { @@ -189,7 +189,7 @@ func (r *mutationResolver) UpdateMod(ctx context.Context, modID string, updateMo SetINNF(updateMod.Hidden, dbUpdate.SetHidden) SetCompatibilityINNF(updateMod.Compatibility, dbUpdate.SetCompatibility) SetINNF(updateMod.ToggleNetworkUse, dbUpdate.SetToggleNetworkUse) - SetINNF(updateMod.AiUseDisclosure, dbUpdate.SetAiUseDisclosure) + //SetINNF(updateMod.AiUseDisclosure, dbUpdate.SetAiUseDisclosure) newNetworkDisclosure, isSet := updateMod.NetworkUseDisclosure.ValueOK() if isSet { diff --git a/tools.go b/tools.go index 4e46c1af..086fa2bd 100644 --- a/tools.go +++ b/tools.go @@ -11,11 +11,11 @@ import ( // go generate -tags tools -x ./... +//go:generate go run tools.go //go:generate protoc -I./proto --go_out=./proto --go_opt=paths=source_relative --go-grpc_out=./proto --go-grpc_opt=paths=source_relative proto/parser/parser.proto //go:generate go tool github.com/99designs/gqlgen generate //go:generate go tool github.com/jmattheis/goverter/cmd/goverter gen -g wrapErrors -g ignoreUnexported ./conversion //go:generate go tool github.com/swaggo/swag/cmd/swag init --generalInfo cmd/api/serve.go --output ./generated/docs -//go:generate go run tools.go func main() { generateEnt() diff --git a/util/db.go b/util/db.go index bcca1b85..3f16e336 100644 --- a/util/db.go +++ b/util/db.go @@ -26,3 +26,8 @@ type Compatibility struct { State string Note string } + +type AiUseDisclosure struct { + Type string + Note string +} From 1eb174709621896ebf78e1c5af0131f6547a1570 Mon Sep 17 00:00:00 2001 From: rhit-zhangl8 <112708732+rhit-zhangl8@users.noreply.github.com> Date: Tue, 10 Mar 2026 17:30:29 -0400 Subject: [PATCH 046/100] seperated fields, serving correctly --- db/schema/mod.go | 4 +- generated/conv/mod.go | 15 +- generated/custom_models.go | 26 +- generated/ent/internal/schema.go | 2 +- generated/ent/migrate/schema.go | 3 +- generated/ent/mod.go | 27 +- generated/ent/mod/mod.go | 13 + generated/ent/mod/where.go | 150 +++++++ generated/ent/mod_create.go | 98 ++++- generated/ent/mod_update.go | 84 +++- generated/ent/mutation.go | 87 +++- generated/ent/runtime/runtime.go | 2 +- generated/generated.go | 384 ++++++------------ generated/models_gen.go | 72 +--- gql/resolver_mods.go | 7 +- .../sql/000031_add_ai_disclosure.down.sql | 3 +- .../sql/000031_add_ai_disclosure.up.sql | 3 +- schemas/mod.graphql | 26 +- util/db.go | 5 - workflows/versionupload/extract_mod_info.go | 2 +- 20 files changed, 594 insertions(+), 419 deletions(-) diff --git a/db/schema/mod.go b/db/schema/mod.go index 562b12d9..897e0978 100644 --- a/db/schema/mod.go +++ b/db/schema/mod.go @@ -42,8 +42,8 @@ func (Mod) Fields() []ent.Field { field.JSON("compatibility", &util.CompatibilityInfo{}).Optional(), field.Bool("toggle_network_use").Default(false), field.String("network_use_disclosure").Optional().Nillable(), - field.JSON("ai_use_disclosure", &util.AiUseDisclosure{}).Optional(), - // field.String("ai_use_disclosure").Optional(), + field.String("ai_use_disclosure_type").Optional(), + field.String("ai_use_disclosure").Optional(), field.Bool("toggle_explicit_content").Default(false), } } diff --git a/generated/conv/mod.go b/generated/conv/mod.go index af8eb046..fd8c0197 100755 --- a/generated/conv/mod.go +++ b/generated/conv/mod.go @@ -51,7 +51,9 @@ func (c *ModImpl) Convert(source *ent.Mod) *generated.Mod { xstring := *(*source).NetworkUseDisclosure generatedMod.NetworkUseDisclosure = &xstring } - generatedMod.AiUseDisclosure = c.pUtilAiUseDisclosureToPGeneratedAiUseDisclosure((*source).AiUseDisclosure) + generatedMod.AiUseDisclosureType = (*source).AiUseDisclosureType + pString5 := (*source).AiUseDisclosure + generatedMod.AiUseDisclosure = &pString5 generatedMod.ToggleExplicitContent = (*source).ToggleExplicitContent pGeneratedMod = &generatedMod } @@ -78,17 +80,6 @@ func (c *ModImpl) pEntTagToPGeneratedTag(source *ent.Tag) *generated.Tag { } return pGeneratedTag } -func (c *ModImpl) pUtilAiUseDisclosureToPGeneratedAiUseDisclosure(source *util.AiUseDisclosure) *generated.AiUseDisclosure { - var pGeneratedAiUseDisclosure *generated.AiUseDisclosure - if source != nil { - var generatedAiUseDisclosure generated.AiUseDisclosure - generatedAiUseDisclosure.Type = generated.AiUseDisclosureType((*source).Type) - pString := (*source).Note - generatedAiUseDisclosure.Note = &pString - pGeneratedAiUseDisclosure = &generatedAiUseDisclosure - } - return pGeneratedAiUseDisclosure -} func (c *ModImpl) pUtilCompatibilityInfoToPGeneratedCompatibilityInfo(source *util.CompatibilityInfo) *generated.CompatibilityInfo { var pGeneratedCompatibilityInfo *generated.CompatibilityInfo if source != nil { diff --git a/generated/custom_models.go b/generated/custom_models.go index ffcdb260..c2006e6c 100755 --- a/generated/custom_models.go +++ b/generated/custom_models.go @@ -3,17 +3,18 @@ package generated import "github.com/99designs/gqlgen/graphql" type NewMod struct { - Name string `json:"name" validate:"required,min=3,max=32"` - ShortDescription string `json:"short_description" validate:"required,min=16,max=128"` - FullDescription *string `json:"full_description"` - Logo *graphql.Upload `json:"logo"` - SourceURL *string `json:"source_url"` - ModReference string `json:"mod_reference"` - Hidden *bool `json:"hidden"` - TagIDs []string `json:"tagIDs" validate:"dive,min=3,max=24"` - ToggleNetworkUse *bool `json:"toggle_network_use"` - ToggleExplicitContent *bool `json:"toggle_explicit_content"` - AiUseDisclosure *AiUseDisclosureInput `json:"ai_use_disclosure"` + Name string `json:"name" validate:"required,min=3,max=32"` + ShortDescription string `json:"short_description" validate:"required,min=16,max=128"` + FullDescription *string `json:"full_description"` + Logo *graphql.Upload `json:"logo"` + SourceURL *string `json:"source_url"` + ModReference string `json:"mod_reference"` + Hidden *bool `json:"hidden"` + TagIDs []string `json:"tagIDs" validate:"dive,min=3,max=24"` + ToggleNetworkUse *bool `json:"toggle_network_use"` + ToggleExplicitContent *bool `json:"toggle_explicit_content"` + AiUseDisclosureType *string `json:"ai_use_disclosure_type"` + AiUseDisclosure *string `json:"ai_use_disclosure"` } type UpdateMod struct { @@ -30,5 +31,6 @@ type UpdateMod struct { ToggleNetworkUse *bool `json:"toggle_network_use"` NetworkUseDisclosure graphql.Omittable[*string] `json:"network_use_disclosure"` ToggleExplicitContent *bool `json:"toggle_explicit_content"` - AiUseDisclosure *AiUseDisclosureInput `json:"ai_use_disclosure"` + AiUseDisclosureType *string `json:"ai_use_disclosure_type"` + AiUseDisclosure *string `json:"ai_use_disclosure"` } diff --git a/generated/ent/internal/schema.go b/generated/ent/internal/schema.go index 6b0ac3d8..31889e92 100644 --- a/generated/ent/internal/schema.go +++ b/generated/ent/internal/schema.go @@ -6,4 +6,4 @@ // Package internal holds a loadable version of the latest schema. package internal -const Schema = "{\"Schema\":\"github.com/satisfactorymodding/smr-api/db/schema\",\"Package\":\"github.com/satisfactorymodding/smr-api/generated/ent\",\"Schemas\":[{\"name\":\"Announcement\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"message\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"importance\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Guide\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"guides\",\"unique\":true,\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"}}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"guide\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":2,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"GuideTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guide\",\"type\":\"Guide\",\"field\":\"guide_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"guide_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"guide_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"Mod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"versions\",\"type\":\"Version\"},{\"name\":\"authors\",\"type\":\"User\",\"ref_name\":\"mods\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"},\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"}},{\"name\":\"dependents\",\"type\":\"Version\",\"ref_name\":\"dependencies\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"full_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"source_url\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"creator_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"popularity\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"last_version_date\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hidden\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"compatibility\",\"type\":{\"Type\":3,\"Ident\":\"*util.CompatibilityInfo\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":true,\"RType\":{\"Name\":\"CompatibilityInfo\",\"Ident\":\"util.CompatibilityInfo\",\"Kind\":22,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{}}},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_network_use\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"network_use_disclosure\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"nillable\":true,\"optional\":true,\"position\":{\"Index\":18,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"ai_use_disclosure\",\"type\":{\"Type\":3,\"Ident\":\"*util.AiUseDisclosure\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":true,\"RType\":{\"Name\":\"AiUseDisclosure\",\"Ident\":\"util.AiUseDisclosure\",\"Kind\":22,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{}}},\"optional\":true,\"position\":{\"Index\":19,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_explicit_content\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":20,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"last_version_date\"]},{\"unique\":true,\"fields\":[\"mod_reference\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"ModTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"mod_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"SatisfactoryVersion\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"unique\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"engine_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"default\":true,\"default_value\":\"4.26\",\"default_kind\":24,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}]},{\"name\":\"Tag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mods\",\"type\":\"Mod\",\"ref_name\":\"tags\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"},\"inverse\":true},{\"name\":\"guides\",\"type\":\"Guide\",\"ref_name\":\"tags\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":24,\"unique\":true,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"optional\":true,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"User\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guides\",\"type\":\"Guide\"},{\"name\":\"sessions\",\"type\":\"UserSession\",\"storage_key\":{\"Table\":\"\",\"Symbols\":null,\"Columns\":[\"user_id\"]}},{\"name\":\"mods\",\"type\":\"Mod\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"}},{\"name\":\"groups\",\"type\":\"UserGroup\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"email\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":256,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"username\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"joined_from\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"banned\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"rank\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":1,\"default_kind\":2,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"github_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"optional\":true,\"validators\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"google_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"optional\":true,\"validators\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"facebook_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"optional\":true,\"validators\":1,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"email\"]},{\"unique\":true,\"fields\":[\"github_id\"]},{\"unique\":true,\"fields\":[\"google_id\"]},{\"unique\":true,\"fields\":[\"facebook_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserGroup\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"groups\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"group_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"user_id\",\"group_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserMod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"role\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"user_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"UserSession\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"ref_name\":\"sessions\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"token\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"user_agent\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"token\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Version\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"ref_name\":\"versions\",\"unique\":true,\"inverse\":true,\"required\":true},{\"name\":\"dependencies\",\"type\":\"Mod\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"}},{\"name\":\"targets\",\"type\":\"VersionTarget\"},{\"name\":\"virustotal_results\",\"type\":\"VirustotalResult\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"game_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"required_on_remote\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":true,\"default_kind\":1,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"changelog\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"stability\",\"type\":{\"Type\":6,\"Ident\":\"util.Stability\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":false,\"RType\":{\"Name\":\"Stability\",\"Ident\":\"util.Stability\",\"Kind\":24,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{\"Values\":{\"In\":[],\"Out\":[{\"Name\":\"\",\"Ident\":\"[]string\",\"Kind\":23,\"PkgPath\":\"\",\"Methods\":null}]}}}},\"enums\":[{\"N\":\"release\",\"V\":\"release\"},{\"N\":\"beta\",\"V\":\"beta\"},{\"N\":\"alpha\",\"V\":\"alpha\"}],\"default\":true,\"default_value\":\"release\",\"default_kind\":24,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"metadata\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_major\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_minor\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_patch\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"optional\":true,\"validators\":2,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"approved\"]},{\"fields\":[\"denied\"]},{\"fields\":[\"mod_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"VersionDependency\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"condition\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"optional\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"annotations\":{\"Fields\":{\"ID\":[\"version_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"VersionTarget\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"targets\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"target_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"unique\":true,\"fields\":[\"version_id\",\"target_name\"]}]},{\"name\":\"VirustotalResult\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"virustotal_results\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"safe\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":2,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"file_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":2,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"safe\"]},{\"unique\":true,\"fields\":[\"hash\",\"version_id\"]},{\"fields\":[\"file_name\"]}]}],\"Features\":[\"sql/modifier\",\"intercept\",\"schema/snapshot\",\"sql/execquery\",\"sql/upsert\"]}" +const Schema = "{\"Schema\":\"github.com/satisfactorymodding/smr-api/db/schema\",\"Package\":\"github.com/satisfactorymodding/smr-api/generated/ent\",\"Schemas\":[{\"name\":\"Announcement\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"message\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"importance\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Guide\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"guides\",\"unique\":true,\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"}}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"guide\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":2,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"GuideTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guide\",\"type\":\"Guide\",\"field\":\"guide_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"guide_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"guide_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"Mod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"versions\",\"type\":\"Version\"},{\"name\":\"authors\",\"type\":\"User\",\"ref_name\":\"mods\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"},\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"}},{\"name\":\"dependents\",\"type\":\"Version\",\"ref_name\":\"dependencies\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"full_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"source_url\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"creator_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"popularity\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"last_version_date\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hidden\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"compatibility\",\"type\":{\"Type\":3,\"Ident\":\"*util.CompatibilityInfo\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":true,\"RType\":{\"Name\":\"CompatibilityInfo\",\"Ident\":\"util.CompatibilityInfo\",\"Kind\":22,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{}}},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_network_use\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"network_use_disclosure\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"nillable\":true,\"optional\":true,\"position\":{\"Index\":18,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"ai_use_disclosure_type\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":19,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"ai_use_disclosure\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":20,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_explicit_content\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":21,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"last_version_date\"]},{\"unique\":true,\"fields\":[\"mod_reference\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"ModTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"mod_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"SatisfactoryVersion\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"unique\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"engine_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"default\":true,\"default_value\":\"4.26\",\"default_kind\":24,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}]},{\"name\":\"Tag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mods\",\"type\":\"Mod\",\"ref_name\":\"tags\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"},\"inverse\":true},{\"name\":\"guides\",\"type\":\"Guide\",\"ref_name\":\"tags\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":24,\"unique\":true,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"optional\":true,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"User\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guides\",\"type\":\"Guide\"},{\"name\":\"sessions\",\"type\":\"UserSession\",\"storage_key\":{\"Table\":\"\",\"Symbols\":null,\"Columns\":[\"user_id\"]}},{\"name\":\"mods\",\"type\":\"Mod\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"}},{\"name\":\"groups\",\"type\":\"UserGroup\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"email\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":256,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"username\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"joined_from\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"banned\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"rank\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":1,\"default_kind\":2,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"github_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"optional\":true,\"validators\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"google_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"optional\":true,\"validators\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"facebook_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"optional\":true,\"validators\":1,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"email\"]},{\"unique\":true,\"fields\":[\"github_id\"]},{\"unique\":true,\"fields\":[\"google_id\"]},{\"unique\":true,\"fields\":[\"facebook_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserGroup\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"groups\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"group_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"user_id\",\"group_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserMod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"role\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"user_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"UserSession\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"ref_name\":\"sessions\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"token\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"user_agent\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"token\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Version\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"ref_name\":\"versions\",\"unique\":true,\"inverse\":true,\"required\":true},{\"name\":\"dependencies\",\"type\":\"Mod\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"}},{\"name\":\"targets\",\"type\":\"VersionTarget\"},{\"name\":\"virustotal_results\",\"type\":\"VirustotalResult\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"game_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"required_on_remote\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":true,\"default_kind\":1,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"changelog\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"stability\",\"type\":{\"Type\":6,\"Ident\":\"util.Stability\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":false,\"RType\":{\"Name\":\"Stability\",\"Ident\":\"util.Stability\",\"Kind\":24,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{\"Values\":{\"In\":[],\"Out\":[{\"Name\":\"\",\"Ident\":\"[]string\",\"Kind\":23,\"PkgPath\":\"\",\"Methods\":null}]}}}},\"enums\":[{\"N\":\"release\",\"V\":\"release\"},{\"N\":\"beta\",\"V\":\"beta\"},{\"N\":\"alpha\",\"V\":\"alpha\"}],\"default\":true,\"default_value\":\"release\",\"default_kind\":24,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"metadata\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_major\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_minor\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_patch\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"optional\":true,\"validators\":2,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"approved\"]},{\"fields\":[\"denied\"]},{\"fields\":[\"mod_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"VersionDependency\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"condition\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"optional\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"annotations\":{\"Fields\":{\"ID\":[\"version_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"VersionTarget\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"targets\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"target_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"unique\":true,\"fields\":[\"version_id\",\"target_name\"]}]},{\"name\":\"VirustotalResult\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"virustotal_results\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"safe\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":2,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"file_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":2,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"safe\"]},{\"unique\":true,\"fields\":[\"hash\",\"version_id\"]},{\"fields\":[\"file_name\"]}]}],\"Features\":[\"sql/modifier\",\"intercept\",\"schema/snapshot\",\"sql/execquery\",\"sql/upsert\"]}" diff --git a/generated/ent/migrate/schema.go b/generated/ent/migrate/schema.go index 029ee335..ea664a62 100644 --- a/generated/ent/migrate/schema.go +++ b/generated/ent/migrate/schema.go @@ -113,7 +113,8 @@ var ( {Name: "compatibility", Type: field.TypeJSON, Nullable: true}, {Name: "toggle_network_use", Type: field.TypeBool, Default: false}, {Name: "network_use_disclosure", Type: field.TypeString, Nullable: true}, - {Name: "ai_use_disclosure", Type: field.TypeJSON, Nullable: true}, + {Name: "ai_use_disclosure_type", Type: field.TypeString, Nullable: true}, + {Name: "ai_use_disclosure", Type: field.TypeString, Nullable: true}, {Name: "toggle_explicit_content", Type: field.TypeBool, Default: false}, } // ModsTable holds the schema information for the "mods" table. diff --git a/generated/ent/mod.go b/generated/ent/mod.go index 9c99d885..fe373bc8 100644 --- a/generated/ent/mod.go +++ b/generated/ent/mod.go @@ -63,8 +63,10 @@ type Mod struct { ToggleNetworkUse bool `json:"toggle_network_use,omitempty"` // NetworkUseDisclosure holds the value of the "network_use_disclosure" field. NetworkUseDisclosure *string `json:"network_use_disclosure,omitempty"` + // AiUseDisclosureType holds the value of the "ai_use_disclosure_type" field. + AiUseDisclosureType string `json:"ai_use_disclosure_type,omitempty"` // AiUseDisclosure holds the value of the "ai_use_disclosure" field. - AiUseDisclosure *util.AiUseDisclosure `json:"ai_use_disclosure,omitempty"` + AiUseDisclosure string `json:"ai_use_disclosure,omitempty"` // ToggleExplicitContent holds the value of the "toggle_explicit_content" field. ToggleExplicitContent bool `json:"toggle_explicit_content,omitempty"` // Edges holds the relations/edges for other nodes in the graph. @@ -162,13 +164,13 @@ func (*Mod) scanValues(columns []string) ([]any, error) { values := make([]any, len(columns)) for i := range columns { switch columns[i] { - case mod.FieldCompatibility, mod.FieldAiUseDisclosure: + case mod.FieldCompatibility: values[i] = new([]byte) case mod.FieldApproved, mod.FieldDenied, mod.FieldHidden, mod.FieldToggleNetworkUse, mod.FieldToggleExplicitContent: values[i] = new(sql.NullBool) case mod.FieldViews, mod.FieldHotness, mod.FieldPopularity, mod.FieldDownloads: values[i] = new(sql.NullInt64) - case mod.FieldID, mod.FieldName, mod.FieldShortDescription, mod.FieldFullDescription, mod.FieldLogo, mod.FieldLogoThumbhash, mod.FieldSourceURL, mod.FieldCreatorID, mod.FieldModReference, mod.FieldNetworkUseDisclosure: + case mod.FieldID, mod.FieldName, mod.FieldShortDescription, mod.FieldFullDescription, mod.FieldLogo, mod.FieldLogoThumbhash, mod.FieldSourceURL, mod.FieldCreatorID, mod.FieldModReference, mod.FieldNetworkUseDisclosure, mod.FieldAiUseDisclosureType, mod.FieldAiUseDisclosure: values[i] = new(sql.NullString) case mod.FieldCreatedAt, mod.FieldUpdatedAt, mod.FieldDeletedAt, mod.FieldLastVersionDate: values[i] = new(sql.NullTime) @@ -328,13 +330,17 @@ func (m *Mod) assignValues(columns []string, values []any) error { m.NetworkUseDisclosure = new(string) *m.NetworkUseDisclosure = value.String } + case mod.FieldAiUseDisclosureType: + if value, ok := values[i].(*sql.NullString); !ok { + return fmt.Errorf("unexpected type %T for field ai_use_disclosure_type", values[i]) + } else if value.Valid { + m.AiUseDisclosureType = value.String + } case mod.FieldAiUseDisclosure: - if value, ok := values[i].(*[]byte); !ok { + if value, ok := values[i].(*sql.NullString); !ok { return fmt.Errorf("unexpected type %T for field ai_use_disclosure", values[i]) - } else if value != nil && len(*value) > 0 { - if err := json.Unmarshal(*value, &m.AiUseDisclosure); err != nil { - return fmt.Errorf("unmarshal field ai_use_disclosure: %w", err) - } + } else if value.Valid { + m.AiUseDisclosure = value.String } case mod.FieldToggleExplicitContent: if value, ok := values[i].(*sql.NullBool); !ok { @@ -481,8 +487,11 @@ func (m *Mod) String() string { builder.WriteString(*v) } builder.WriteString(", ") + builder.WriteString("ai_use_disclosure_type=") + builder.WriteString(m.AiUseDisclosureType) + builder.WriteString(", ") builder.WriteString("ai_use_disclosure=") - builder.WriteString(fmt.Sprintf("%v", m.AiUseDisclosure)) + builder.WriteString(m.AiUseDisclosure) builder.WriteString(", ") builder.WriteString("toggle_explicit_content=") builder.WriteString(fmt.Sprintf("%v", m.ToggleExplicitContent)) diff --git a/generated/ent/mod/mod.go b/generated/ent/mod/mod.go index a1040ee3..290eded1 100644 --- a/generated/ent/mod/mod.go +++ b/generated/ent/mod/mod.go @@ -59,6 +59,8 @@ const ( FieldToggleNetworkUse = "toggle_network_use" // FieldNetworkUseDisclosure holds the string denoting the network_use_disclosure field in the database. FieldNetworkUseDisclosure = "network_use_disclosure" + // FieldAiUseDisclosureType holds the string denoting the ai_use_disclosure_type field in the database. + FieldAiUseDisclosureType = "ai_use_disclosure_type" // FieldAiUseDisclosure holds the string denoting the ai_use_disclosure field in the database. FieldAiUseDisclosure = "ai_use_disclosure" // FieldToggleExplicitContent holds the string denoting the toggle_explicit_content field in the database. @@ -149,6 +151,7 @@ var Columns = []string{ FieldCompatibility, FieldToggleNetworkUse, FieldNetworkUseDisclosure, + FieldAiUseDisclosureType, FieldAiUseDisclosure, FieldToggleExplicitContent, } @@ -330,6 +333,16 @@ func ByNetworkUseDisclosure(opts ...sql.OrderTermOption) OrderOption { return sql.OrderByField(FieldNetworkUseDisclosure, opts...).ToFunc() } +// ByAiUseDisclosureType orders the results by the ai_use_disclosure_type field. +func ByAiUseDisclosureType(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldAiUseDisclosureType, opts...).ToFunc() +} + +// ByAiUseDisclosure orders the results by the ai_use_disclosure field. +func ByAiUseDisclosure(opts ...sql.OrderTermOption) OrderOption { + return sql.OrderByField(FieldAiUseDisclosure, opts...).ToFunc() +} + // ByToggleExplicitContent orders the results by the toggle_explicit_content field. func ByToggleExplicitContent(opts ...sql.OrderTermOption) OrderOption { return sql.OrderByField(FieldToggleExplicitContent, opts...).ToFunc() diff --git a/generated/ent/mod/where.go b/generated/ent/mod/where.go index f8c0461e..e11627d9 100644 --- a/generated/ent/mod/where.go +++ b/generated/ent/mod/where.go @@ -170,6 +170,16 @@ func NetworkUseDisclosure(v string) predicate.Mod { return predicate.Mod(sql.FieldEQ(FieldNetworkUseDisclosure, v)) } +// AiUseDisclosureType applies equality check predicate on the "ai_use_disclosure_type" field. It's identical to AiUseDisclosureTypeEQ. +func AiUseDisclosureType(v string) predicate.Mod { + return predicate.Mod(sql.FieldEQ(FieldAiUseDisclosureType, v)) +} + +// AiUseDisclosure applies equality check predicate on the "ai_use_disclosure" field. It's identical to AiUseDisclosureEQ. +func AiUseDisclosure(v string) predicate.Mod { + return predicate.Mod(sql.FieldEQ(FieldAiUseDisclosure, v)) +} + // ToggleExplicitContent applies equality check predicate on the "toggle_explicit_content" field. It's identical to ToggleExplicitContentEQ. func ToggleExplicitContent(v bool) predicate.Mod { return predicate.Mod(sql.FieldEQ(FieldToggleExplicitContent, v)) @@ -1190,6 +1200,136 @@ func NetworkUseDisclosureContainsFold(v string) predicate.Mod { return predicate.Mod(sql.FieldContainsFold(FieldNetworkUseDisclosure, v)) } +// AiUseDisclosureTypeEQ applies the EQ predicate on the "ai_use_disclosure_type" field. +func AiUseDisclosureTypeEQ(v string) predicate.Mod { + return predicate.Mod(sql.FieldEQ(FieldAiUseDisclosureType, v)) +} + +// AiUseDisclosureTypeNEQ applies the NEQ predicate on the "ai_use_disclosure_type" field. +func AiUseDisclosureTypeNEQ(v string) predicate.Mod { + return predicate.Mod(sql.FieldNEQ(FieldAiUseDisclosureType, v)) +} + +// AiUseDisclosureTypeIn applies the In predicate on the "ai_use_disclosure_type" field. +func AiUseDisclosureTypeIn(vs ...string) predicate.Mod { + return predicate.Mod(sql.FieldIn(FieldAiUseDisclosureType, vs...)) +} + +// AiUseDisclosureTypeNotIn applies the NotIn predicate on the "ai_use_disclosure_type" field. +func AiUseDisclosureTypeNotIn(vs ...string) predicate.Mod { + return predicate.Mod(sql.FieldNotIn(FieldAiUseDisclosureType, vs...)) +} + +// AiUseDisclosureTypeGT applies the GT predicate on the "ai_use_disclosure_type" field. +func AiUseDisclosureTypeGT(v string) predicate.Mod { + return predicate.Mod(sql.FieldGT(FieldAiUseDisclosureType, v)) +} + +// AiUseDisclosureTypeGTE applies the GTE predicate on the "ai_use_disclosure_type" field. +func AiUseDisclosureTypeGTE(v string) predicate.Mod { + return predicate.Mod(sql.FieldGTE(FieldAiUseDisclosureType, v)) +} + +// AiUseDisclosureTypeLT applies the LT predicate on the "ai_use_disclosure_type" field. +func AiUseDisclosureTypeLT(v string) predicate.Mod { + return predicate.Mod(sql.FieldLT(FieldAiUseDisclosureType, v)) +} + +// AiUseDisclosureTypeLTE applies the LTE predicate on the "ai_use_disclosure_type" field. +func AiUseDisclosureTypeLTE(v string) predicate.Mod { + return predicate.Mod(sql.FieldLTE(FieldAiUseDisclosureType, v)) +} + +// AiUseDisclosureTypeContains applies the Contains predicate on the "ai_use_disclosure_type" field. +func AiUseDisclosureTypeContains(v string) predicate.Mod { + return predicate.Mod(sql.FieldContains(FieldAiUseDisclosureType, v)) +} + +// AiUseDisclosureTypeHasPrefix applies the HasPrefix predicate on the "ai_use_disclosure_type" field. +func AiUseDisclosureTypeHasPrefix(v string) predicate.Mod { + return predicate.Mod(sql.FieldHasPrefix(FieldAiUseDisclosureType, v)) +} + +// AiUseDisclosureTypeHasSuffix applies the HasSuffix predicate on the "ai_use_disclosure_type" field. +func AiUseDisclosureTypeHasSuffix(v string) predicate.Mod { + return predicate.Mod(sql.FieldHasSuffix(FieldAiUseDisclosureType, v)) +} + +// AiUseDisclosureTypeIsNil applies the IsNil predicate on the "ai_use_disclosure_type" field. +func AiUseDisclosureTypeIsNil() predicate.Mod { + return predicate.Mod(sql.FieldIsNull(FieldAiUseDisclosureType)) +} + +// AiUseDisclosureTypeNotNil applies the NotNil predicate on the "ai_use_disclosure_type" field. +func AiUseDisclosureTypeNotNil() predicate.Mod { + return predicate.Mod(sql.FieldNotNull(FieldAiUseDisclosureType)) +} + +// AiUseDisclosureTypeEqualFold applies the EqualFold predicate on the "ai_use_disclosure_type" field. +func AiUseDisclosureTypeEqualFold(v string) predicate.Mod { + return predicate.Mod(sql.FieldEqualFold(FieldAiUseDisclosureType, v)) +} + +// AiUseDisclosureTypeContainsFold applies the ContainsFold predicate on the "ai_use_disclosure_type" field. +func AiUseDisclosureTypeContainsFold(v string) predicate.Mod { + return predicate.Mod(sql.FieldContainsFold(FieldAiUseDisclosureType, v)) +} + +// AiUseDisclosureEQ applies the EQ predicate on the "ai_use_disclosure" field. +func AiUseDisclosureEQ(v string) predicate.Mod { + return predicate.Mod(sql.FieldEQ(FieldAiUseDisclosure, v)) +} + +// AiUseDisclosureNEQ applies the NEQ predicate on the "ai_use_disclosure" field. +func AiUseDisclosureNEQ(v string) predicate.Mod { + return predicate.Mod(sql.FieldNEQ(FieldAiUseDisclosure, v)) +} + +// AiUseDisclosureIn applies the In predicate on the "ai_use_disclosure" field. +func AiUseDisclosureIn(vs ...string) predicate.Mod { + return predicate.Mod(sql.FieldIn(FieldAiUseDisclosure, vs...)) +} + +// AiUseDisclosureNotIn applies the NotIn predicate on the "ai_use_disclosure" field. +func AiUseDisclosureNotIn(vs ...string) predicate.Mod { + return predicate.Mod(sql.FieldNotIn(FieldAiUseDisclosure, vs...)) +} + +// AiUseDisclosureGT applies the GT predicate on the "ai_use_disclosure" field. +func AiUseDisclosureGT(v string) predicate.Mod { + return predicate.Mod(sql.FieldGT(FieldAiUseDisclosure, v)) +} + +// AiUseDisclosureGTE applies the GTE predicate on the "ai_use_disclosure" field. +func AiUseDisclosureGTE(v string) predicate.Mod { + return predicate.Mod(sql.FieldGTE(FieldAiUseDisclosure, v)) +} + +// AiUseDisclosureLT applies the LT predicate on the "ai_use_disclosure" field. +func AiUseDisclosureLT(v string) predicate.Mod { + return predicate.Mod(sql.FieldLT(FieldAiUseDisclosure, v)) +} + +// AiUseDisclosureLTE applies the LTE predicate on the "ai_use_disclosure" field. +func AiUseDisclosureLTE(v string) predicate.Mod { + return predicate.Mod(sql.FieldLTE(FieldAiUseDisclosure, v)) +} + +// AiUseDisclosureContains applies the Contains predicate on the "ai_use_disclosure" field. +func AiUseDisclosureContains(v string) predicate.Mod { + return predicate.Mod(sql.FieldContains(FieldAiUseDisclosure, v)) +} + +// AiUseDisclosureHasPrefix applies the HasPrefix predicate on the "ai_use_disclosure" field. +func AiUseDisclosureHasPrefix(v string) predicate.Mod { + return predicate.Mod(sql.FieldHasPrefix(FieldAiUseDisclosure, v)) +} + +// AiUseDisclosureHasSuffix applies the HasSuffix predicate on the "ai_use_disclosure" field. +func AiUseDisclosureHasSuffix(v string) predicate.Mod { + return predicate.Mod(sql.FieldHasSuffix(FieldAiUseDisclosure, v)) +} + // AiUseDisclosureIsNil applies the IsNil predicate on the "ai_use_disclosure" field. func AiUseDisclosureIsNil() predicate.Mod { return predicate.Mod(sql.FieldIsNull(FieldAiUseDisclosure)) @@ -1200,6 +1340,16 @@ func AiUseDisclosureNotNil() predicate.Mod { return predicate.Mod(sql.FieldNotNull(FieldAiUseDisclosure)) } +// AiUseDisclosureEqualFold applies the EqualFold predicate on the "ai_use_disclosure" field. +func AiUseDisclosureEqualFold(v string) predicate.Mod { + return predicate.Mod(sql.FieldEqualFold(FieldAiUseDisclosure, v)) +} + +// AiUseDisclosureContainsFold applies the ContainsFold predicate on the "ai_use_disclosure" field. +func AiUseDisclosureContainsFold(v string) predicate.Mod { + return predicate.Mod(sql.FieldContainsFold(FieldAiUseDisclosure, v)) +} + // ToggleExplicitContentEQ applies the EQ predicate on the "toggle_explicit_content" field. func ToggleExplicitContentEQ(v bool) predicate.Mod { return predicate.Mod(sql.FieldEQ(FieldToggleExplicitContent, v)) diff --git a/generated/ent/mod_create.go b/generated/ent/mod_create.go index 708e03c0..309dec48 100644 --- a/generated/ent/mod_create.go +++ b/generated/ent/mod_create.go @@ -287,9 +287,31 @@ func (mc *ModCreate) SetNillableNetworkUseDisclosure(s *string) *ModCreate { return mc } +// SetAiUseDisclosureType sets the "ai_use_disclosure_type" field. +func (mc *ModCreate) SetAiUseDisclosureType(s string) *ModCreate { + mc.mutation.SetAiUseDisclosureType(s) + return mc +} + +// SetNillableAiUseDisclosureType sets the "ai_use_disclosure_type" field if the given value is not nil. +func (mc *ModCreate) SetNillableAiUseDisclosureType(s *string) *ModCreate { + if s != nil { + mc.SetAiUseDisclosureType(*s) + } + return mc +} + // SetAiUseDisclosure sets the "ai_use_disclosure" field. -func (mc *ModCreate) SetAiUseDisclosure(uud *util.AiUseDisclosure) *ModCreate { - mc.mutation.SetAiUseDisclosure(uud) +func (mc *ModCreate) SetAiUseDisclosure(s string) *ModCreate { + mc.mutation.SetAiUseDisclosure(s) + return mc +} + +// SetNillableAiUseDisclosure sets the "ai_use_disclosure" field if the given value is not nil. +func (mc *ModCreate) SetNillableAiUseDisclosure(s *string) *ModCreate { + if s != nil { + mc.SetAiUseDisclosure(*s) + } return mc } @@ -667,8 +689,12 @@ func (mc *ModCreate) createSpec() (*Mod, *sqlgraph.CreateSpec) { _spec.SetField(mod.FieldNetworkUseDisclosure, field.TypeString, value) _node.NetworkUseDisclosure = &value } + if value, ok := mc.mutation.AiUseDisclosureType(); ok { + _spec.SetField(mod.FieldAiUseDisclosureType, field.TypeString, value) + _node.AiUseDisclosureType = value + } if value, ok := mc.mutation.AiUseDisclosure(); ok { - _spec.SetField(mod.FieldAiUseDisclosure, field.TypeJSON, value) + _spec.SetField(mod.FieldAiUseDisclosure, field.TypeString, value) _node.AiUseDisclosure = value } if value, ok := mc.mutation.ToggleExplicitContent(); ok { @@ -1113,8 +1139,26 @@ func (u *ModUpsert) ClearNetworkUseDisclosure() *ModUpsert { return u } +// SetAiUseDisclosureType sets the "ai_use_disclosure_type" field. +func (u *ModUpsert) SetAiUseDisclosureType(v string) *ModUpsert { + u.Set(mod.FieldAiUseDisclosureType, v) + return u +} + +// UpdateAiUseDisclosureType sets the "ai_use_disclosure_type" field to the value that was provided on create. +func (u *ModUpsert) UpdateAiUseDisclosureType() *ModUpsert { + u.SetExcluded(mod.FieldAiUseDisclosureType) + return u +} + +// ClearAiUseDisclosureType clears the value of the "ai_use_disclosure_type" field. +func (u *ModUpsert) ClearAiUseDisclosureType() *ModUpsert { + u.SetNull(mod.FieldAiUseDisclosureType) + return u +} + // SetAiUseDisclosure sets the "ai_use_disclosure" field. -func (u *ModUpsert) SetAiUseDisclosure(v *util.AiUseDisclosure) *ModUpsert { +func (u *ModUpsert) SetAiUseDisclosure(v string) *ModUpsert { u.Set(mod.FieldAiUseDisclosure, v) return u } @@ -1565,8 +1609,29 @@ func (u *ModUpsertOne) ClearNetworkUseDisclosure() *ModUpsertOne { }) } +// SetAiUseDisclosureType sets the "ai_use_disclosure_type" field. +func (u *ModUpsertOne) SetAiUseDisclosureType(v string) *ModUpsertOne { + return u.Update(func(s *ModUpsert) { + s.SetAiUseDisclosureType(v) + }) +} + +// UpdateAiUseDisclosureType sets the "ai_use_disclosure_type" field to the value that was provided on create. +func (u *ModUpsertOne) UpdateAiUseDisclosureType() *ModUpsertOne { + return u.Update(func(s *ModUpsert) { + s.UpdateAiUseDisclosureType() + }) +} + +// ClearAiUseDisclosureType clears the value of the "ai_use_disclosure_type" field. +func (u *ModUpsertOne) ClearAiUseDisclosureType() *ModUpsertOne { + return u.Update(func(s *ModUpsert) { + s.ClearAiUseDisclosureType() + }) +} + // SetAiUseDisclosure sets the "ai_use_disclosure" field. -func (u *ModUpsertOne) SetAiUseDisclosure(v *util.AiUseDisclosure) *ModUpsertOne { +func (u *ModUpsertOne) SetAiUseDisclosure(v string) *ModUpsertOne { return u.Update(func(s *ModUpsert) { s.SetAiUseDisclosure(v) }) @@ -2189,8 +2254,29 @@ func (u *ModUpsertBulk) ClearNetworkUseDisclosure() *ModUpsertBulk { }) } +// SetAiUseDisclosureType sets the "ai_use_disclosure_type" field. +func (u *ModUpsertBulk) SetAiUseDisclosureType(v string) *ModUpsertBulk { + return u.Update(func(s *ModUpsert) { + s.SetAiUseDisclosureType(v) + }) +} + +// UpdateAiUseDisclosureType sets the "ai_use_disclosure_type" field to the value that was provided on create. +func (u *ModUpsertBulk) UpdateAiUseDisclosureType() *ModUpsertBulk { + return u.Update(func(s *ModUpsert) { + s.UpdateAiUseDisclosureType() + }) +} + +// ClearAiUseDisclosureType clears the value of the "ai_use_disclosure_type" field. +func (u *ModUpsertBulk) ClearAiUseDisclosureType() *ModUpsertBulk { + return u.Update(func(s *ModUpsert) { + s.ClearAiUseDisclosureType() + }) +} + // SetAiUseDisclosure sets the "ai_use_disclosure" field. -func (u *ModUpsertBulk) SetAiUseDisclosure(v *util.AiUseDisclosure) *ModUpsertBulk { +func (u *ModUpsertBulk) SetAiUseDisclosure(v string) *ModUpsertBulk { return u.Update(func(s *ModUpsert) { s.SetAiUseDisclosure(v) }) diff --git a/generated/ent/mod_update.go b/generated/ent/mod_update.go index 2309030e..037643e3 100644 --- a/generated/ent/mod_update.go +++ b/generated/ent/mod_update.go @@ -381,9 +381,37 @@ func (mu *ModUpdate) ClearNetworkUseDisclosure() *ModUpdate { return mu } +// SetAiUseDisclosureType sets the "ai_use_disclosure_type" field. +func (mu *ModUpdate) SetAiUseDisclosureType(s string) *ModUpdate { + mu.mutation.SetAiUseDisclosureType(s) + return mu +} + +// SetNillableAiUseDisclosureType sets the "ai_use_disclosure_type" field if the given value is not nil. +func (mu *ModUpdate) SetNillableAiUseDisclosureType(s *string) *ModUpdate { + if s != nil { + mu.SetAiUseDisclosureType(*s) + } + return mu +} + +// ClearAiUseDisclosureType clears the value of the "ai_use_disclosure_type" field. +func (mu *ModUpdate) ClearAiUseDisclosureType() *ModUpdate { + mu.mutation.ClearAiUseDisclosureType() + return mu +} + // SetAiUseDisclosure sets the "ai_use_disclosure" field. -func (mu *ModUpdate) SetAiUseDisclosure(uud *util.AiUseDisclosure) *ModUpdate { - mu.mutation.SetAiUseDisclosure(uud) +func (mu *ModUpdate) SetAiUseDisclosure(s string) *ModUpdate { + mu.mutation.SetAiUseDisclosure(s) + return mu +} + +// SetNillableAiUseDisclosure sets the "ai_use_disclosure" field if the given value is not nil. +func (mu *ModUpdate) SetNillableAiUseDisclosure(s *string) *ModUpdate { + if s != nil { + mu.SetAiUseDisclosure(*s) + } return mu } @@ -732,11 +760,17 @@ func (mu *ModUpdate) sqlSave(ctx context.Context) (n int, err error) { if mu.mutation.NetworkUseDisclosureCleared() { _spec.ClearField(mod.FieldNetworkUseDisclosure, field.TypeString) } + if value, ok := mu.mutation.AiUseDisclosureType(); ok { + _spec.SetField(mod.FieldAiUseDisclosureType, field.TypeString, value) + } + if mu.mutation.AiUseDisclosureTypeCleared() { + _spec.ClearField(mod.FieldAiUseDisclosureType, field.TypeString) + } if value, ok := mu.mutation.AiUseDisclosure(); ok { - _spec.SetField(mod.FieldAiUseDisclosure, field.TypeJSON, value) + _spec.SetField(mod.FieldAiUseDisclosure, field.TypeString, value) } if mu.mutation.AiUseDisclosureCleared() { - _spec.ClearField(mod.FieldAiUseDisclosure, field.TypeJSON) + _spec.ClearField(mod.FieldAiUseDisclosure, field.TypeString) } if value, ok := mu.mutation.ToggleExplicitContent(); ok { _spec.SetField(mod.FieldToggleExplicitContent, field.TypeBool, value) @@ -1303,9 +1337,37 @@ func (muo *ModUpdateOne) ClearNetworkUseDisclosure() *ModUpdateOne { return muo } +// SetAiUseDisclosureType sets the "ai_use_disclosure_type" field. +func (muo *ModUpdateOne) SetAiUseDisclosureType(s string) *ModUpdateOne { + muo.mutation.SetAiUseDisclosureType(s) + return muo +} + +// SetNillableAiUseDisclosureType sets the "ai_use_disclosure_type" field if the given value is not nil. +func (muo *ModUpdateOne) SetNillableAiUseDisclosureType(s *string) *ModUpdateOne { + if s != nil { + muo.SetAiUseDisclosureType(*s) + } + return muo +} + +// ClearAiUseDisclosureType clears the value of the "ai_use_disclosure_type" field. +func (muo *ModUpdateOne) ClearAiUseDisclosureType() *ModUpdateOne { + muo.mutation.ClearAiUseDisclosureType() + return muo +} + // SetAiUseDisclosure sets the "ai_use_disclosure" field. -func (muo *ModUpdateOne) SetAiUseDisclosure(uud *util.AiUseDisclosure) *ModUpdateOne { - muo.mutation.SetAiUseDisclosure(uud) +func (muo *ModUpdateOne) SetAiUseDisclosure(s string) *ModUpdateOne { + muo.mutation.SetAiUseDisclosure(s) + return muo +} + +// SetNillableAiUseDisclosure sets the "ai_use_disclosure" field if the given value is not nil. +func (muo *ModUpdateOne) SetNillableAiUseDisclosure(s *string) *ModUpdateOne { + if s != nil { + muo.SetAiUseDisclosure(*s) + } return muo } @@ -1684,11 +1746,17 @@ func (muo *ModUpdateOne) sqlSave(ctx context.Context) (_node *Mod, err error) { if muo.mutation.NetworkUseDisclosureCleared() { _spec.ClearField(mod.FieldNetworkUseDisclosure, field.TypeString) } + if value, ok := muo.mutation.AiUseDisclosureType(); ok { + _spec.SetField(mod.FieldAiUseDisclosureType, field.TypeString, value) + } + if muo.mutation.AiUseDisclosureTypeCleared() { + _spec.ClearField(mod.FieldAiUseDisclosureType, field.TypeString) + } if value, ok := muo.mutation.AiUseDisclosure(); ok { - _spec.SetField(mod.FieldAiUseDisclosure, field.TypeJSON, value) + _spec.SetField(mod.FieldAiUseDisclosure, field.TypeString, value) } if muo.mutation.AiUseDisclosureCleared() { - _spec.ClearField(mod.FieldAiUseDisclosure, field.TypeJSON) + _spec.ClearField(mod.FieldAiUseDisclosure, field.TypeString) } if value, ok := muo.mutation.ToggleExplicitContent(); ok { _spec.SetField(mod.FieldToggleExplicitContent, field.TypeBool, value) diff --git a/generated/ent/mutation.go b/generated/ent/mutation.go index 01b2377a..1cad27f9 100644 --- a/generated/ent/mutation.go +++ b/generated/ent/mutation.go @@ -1963,7 +1963,8 @@ type ModMutation struct { compatibility **util.CompatibilityInfo toggle_network_use *bool network_use_disclosure *string - ai_use_disclosure **util.AiUseDisclosure + ai_use_disclosure_type *string + ai_use_disclosure *string toggle_explicit_content *bool clearedFields map[string]struct{} versions map[string]struct{} @@ -3050,13 +3051,62 @@ func (m *ModMutation) ResetNetworkUseDisclosure() { delete(m.clearedFields, mod.FieldNetworkUseDisclosure) } +// SetAiUseDisclosureType sets the "ai_use_disclosure_type" field. +func (m *ModMutation) SetAiUseDisclosureType(s string) { + m.ai_use_disclosure_type = &s +} + +// AiUseDisclosureType returns the value of the "ai_use_disclosure_type" field in the mutation. +func (m *ModMutation) AiUseDisclosureType() (r string, exists bool) { + v := m.ai_use_disclosure_type + if v == nil { + return + } + return *v, true +} + +// OldAiUseDisclosureType returns the old "ai_use_disclosure_type" field's value of the Mod entity. +// If the Mod object wasn't provided to the builder, the object is fetched from the database. +// An error is returned if the mutation operation is not UpdateOne, or the database query fails. +func (m *ModMutation) OldAiUseDisclosureType(ctx context.Context) (v string, err error) { + if !m.op.Is(OpUpdateOne) { + return v, errors.New("OldAiUseDisclosureType is only allowed on UpdateOne operations") + } + if m.id == nil || m.oldValue == nil { + return v, errors.New("OldAiUseDisclosureType requires an ID field in the mutation") + } + oldValue, err := m.oldValue(ctx) + if err != nil { + return v, fmt.Errorf("querying old value for OldAiUseDisclosureType: %w", err) + } + return oldValue.AiUseDisclosureType, nil +} + +// ClearAiUseDisclosureType clears the value of the "ai_use_disclosure_type" field. +func (m *ModMutation) ClearAiUseDisclosureType() { + m.ai_use_disclosure_type = nil + m.clearedFields[mod.FieldAiUseDisclosureType] = struct{}{} +} + +// AiUseDisclosureTypeCleared returns if the "ai_use_disclosure_type" field was cleared in this mutation. +func (m *ModMutation) AiUseDisclosureTypeCleared() bool { + _, ok := m.clearedFields[mod.FieldAiUseDisclosureType] + return ok +} + +// ResetAiUseDisclosureType resets all changes to the "ai_use_disclosure_type" field. +func (m *ModMutation) ResetAiUseDisclosureType() { + m.ai_use_disclosure_type = nil + delete(m.clearedFields, mod.FieldAiUseDisclosureType) +} + // SetAiUseDisclosure sets the "ai_use_disclosure" field. -func (m *ModMutation) SetAiUseDisclosure(uud *util.AiUseDisclosure) { - m.ai_use_disclosure = &uud +func (m *ModMutation) SetAiUseDisclosure(s string) { + m.ai_use_disclosure = &s } // AiUseDisclosure returns the value of the "ai_use_disclosure" field in the mutation. -func (m *ModMutation) AiUseDisclosure() (r *util.AiUseDisclosure, exists bool) { +func (m *ModMutation) AiUseDisclosure() (r string, exists bool) { v := m.ai_use_disclosure if v == nil { return @@ -3067,7 +3117,7 @@ func (m *ModMutation) AiUseDisclosure() (r *util.AiUseDisclosure, exists bool) { // OldAiUseDisclosure returns the old "ai_use_disclosure" field's value of the Mod entity. // If the Mod object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. -func (m *ModMutation) OldAiUseDisclosure(ctx context.Context) (v *util.AiUseDisclosure, err error) { +func (m *ModMutation) OldAiUseDisclosure(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldAiUseDisclosure is only allowed on UpdateOne operations") } @@ -3385,7 +3435,7 @@ func (m *ModMutation) Type() string { // order to get all numeric fields that were incremented/decremented, call // AddedFields(). func (m *ModMutation) Fields() []string { - fields := make([]string, 0, 24) + fields := make([]string, 0, 25) if m.created_at != nil { fields = append(fields, mod.FieldCreatedAt) } @@ -3452,6 +3502,9 @@ func (m *ModMutation) Fields() []string { if m.network_use_disclosure != nil { fields = append(fields, mod.FieldNetworkUseDisclosure) } + if m.ai_use_disclosure_type != nil { + fields = append(fields, mod.FieldAiUseDisclosureType) + } if m.ai_use_disclosure != nil { fields = append(fields, mod.FieldAiUseDisclosure) } @@ -3510,6 +3563,8 @@ func (m *ModMutation) Field(name string) (ent.Value, bool) { return m.ToggleNetworkUse() case mod.FieldNetworkUseDisclosure: return m.NetworkUseDisclosure() + case mod.FieldAiUseDisclosureType: + return m.AiUseDisclosureType() case mod.FieldAiUseDisclosure: return m.AiUseDisclosure() case mod.FieldToggleExplicitContent: @@ -3567,6 +3622,8 @@ func (m *ModMutation) OldField(ctx context.Context, name string) (ent.Value, err return m.OldToggleNetworkUse(ctx) case mod.FieldNetworkUseDisclosure: return m.OldNetworkUseDisclosure(ctx) + case mod.FieldAiUseDisclosureType: + return m.OldAiUseDisclosureType(ctx) case mod.FieldAiUseDisclosure: return m.OldAiUseDisclosure(ctx) case mod.FieldToggleExplicitContent: @@ -3734,8 +3791,15 @@ func (m *ModMutation) SetField(name string, value ent.Value) error { } m.SetNetworkUseDisclosure(v) return nil + case mod.FieldAiUseDisclosureType: + v, ok := value.(string) + if !ok { + return fmt.Errorf("unexpected type %T for field %s", value, name) + } + m.SetAiUseDisclosureType(v) + return nil case mod.FieldAiUseDisclosure: - v, ok := value.(*util.AiUseDisclosure) + v, ok := value.(string) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } @@ -3850,6 +3914,9 @@ func (m *ModMutation) ClearedFields() []string { if m.FieldCleared(mod.FieldNetworkUseDisclosure) { fields = append(fields, mod.FieldNetworkUseDisclosure) } + if m.FieldCleared(mod.FieldAiUseDisclosureType) { + fields = append(fields, mod.FieldAiUseDisclosureType) + } if m.FieldCleared(mod.FieldAiUseDisclosure) { fields = append(fields, mod.FieldAiUseDisclosure) } @@ -3888,6 +3955,9 @@ func (m *ModMutation) ClearField(name string) error { case mod.FieldNetworkUseDisclosure: m.ClearNetworkUseDisclosure() return nil + case mod.FieldAiUseDisclosureType: + m.ClearAiUseDisclosureType() + return nil case mod.FieldAiUseDisclosure: m.ClearAiUseDisclosure() return nil @@ -3965,6 +4035,9 @@ func (m *ModMutation) ResetField(name string) error { case mod.FieldNetworkUseDisclosure: m.ResetNetworkUseDisclosure() return nil + case mod.FieldAiUseDisclosureType: + m.ResetAiUseDisclosureType() + return nil case mod.FieldAiUseDisclosure: m.ResetAiUseDisclosure() return nil diff --git a/generated/ent/runtime/runtime.go b/generated/ent/runtime/runtime.go index b1daacfb..2f1d0e22 100644 --- a/generated/ent/runtime/runtime.go +++ b/generated/ent/runtime/runtime.go @@ -152,7 +152,7 @@ func init() { // mod.DefaultToggleNetworkUse holds the default value on creation for the toggle_network_use field. mod.DefaultToggleNetworkUse = modDescToggleNetworkUse.Default.(bool) // modDescToggleExplicitContent is the schema descriptor for toggle_explicit_content field. - modDescToggleExplicitContent := modFields[20].Descriptor() + modDescToggleExplicitContent := modFields[21].Descriptor() // mod.DefaultToggleExplicitContent holds the default value on creation for the toggle_explicit_content field. mod.DefaultToggleExplicitContent = modDescToggleExplicitContent.Default.(bool) // modDescID is the schema descriptor for id field. diff --git a/generated/generated.go b/generated/generated.go index 327a4e9b..c41fdabd 100644 --- a/generated/generated.go +++ b/generated/generated.go @@ -73,11 +73,6 @@ type DirectiveRoot struct { } type ComplexityRoot struct { - AiUseDisclosure struct { - Note func(childComplexity int) int - Type func(childComplexity int) int - } - Announcement struct { ID func(childComplexity int) int Importance func(childComplexity int) int @@ -161,6 +156,7 @@ type ComplexityRoot struct { Mod struct { AiUseDisclosure func(childComplexity int) int + AiUseDisclosureType func(childComplexity int) int Approved func(childComplexity int) int Authors func(childComplexity int) int Compatibility func(childComplexity int) int @@ -551,20 +547,6 @@ func (e *executableSchema) Complexity(ctx context.Context, typeName, field strin _ = ec switch typeName + "." + field { - case "AiUseDisclosure.note": - if e.complexity.AiUseDisclosure.Note == nil { - break - } - - return e.complexity.AiUseDisclosure.Note(childComplexity), true - - case "AiUseDisclosure.type": - if e.complexity.AiUseDisclosure.Type == nil { - break - } - - return e.complexity.AiUseDisclosure.Type(childComplexity), true - case "Announcement.id": if e.complexity.Announcement.ID == nil { break @@ -845,6 +827,13 @@ func (e *executableSchema) Complexity(ctx context.Context, typeName, field strin return e.complexity.Mod.AiUseDisclosure(childComplexity), true + case "Mod.ai_use_disclosure_type": + if e.complexity.Mod.AiUseDisclosureType == nil { + break + } + + return e.complexity.Mod.AiUseDisclosureType(childComplexity), true + case "Mod.approved": if e.complexity.Mod.Approved == nil { break @@ -2439,7 +2428,6 @@ func (e *executableSchema) Exec(ctx context.Context) graphql.ResponseHandler { opCtx := graphql.GetOperationContext(ctx) ec := executionContext{opCtx, e, 0, 0, make(chan graphql.DeferredResult)} inputUnmarshalMap := graphql.BuildUnmarshalerMap( - ec.unmarshalInputAiUseDisclosureInput, ec.unmarshalInputCompatibilityInfoInput, ec.unmarshalInputCompatibilityInput, ec.unmarshalInputControllerCompatibilityInput, @@ -2780,18 +2768,6 @@ enum ModFields { search } -enum AiUseDisclosureType { - NotUsed - RuntimeUsed - AiContentUsed - NoAnswer -} - -type AiUseDisclosure { - type: AiUseDisclosureType! - note: String -} - type Mod { id: ModID! name: String! @@ -2815,7 +2791,8 @@ type Mod { compatibility: CompatibilityInfo toggle_network_use: Boolean! network_use_disclosure: String - ai_use_disclosure: AiUseDisclosure! + ai_use_disclosure_type: String! + ai_use_disclosure: String toggle_explicit_content: Boolean! authors: [UserMod!]! @@ -2842,11 +2819,6 @@ type ModVersion { ### Inputs -input AiUseDisclosureInput { - type: AiUseDisclosureType - note: String -} - input ModFilter { limit: Int offset: Int @@ -2870,7 +2842,8 @@ input NewMod { tagIDs: [TagID!] toggle_network_use: Boolean toggle_explicit_content: Boolean - ai_use_disclosure: AiUseDisclosureInput! + ai_use_disclosure_type: String! + ai_use_disclosure: String } input UpdateMod { @@ -2886,7 +2859,8 @@ input UpdateMod { compatibility: CompatibilityInfoInput toggle_network_use: Boolean network_use_disclosure: String - ai_use_disclosure: AiUseDisclosureInput! + ai_use_disclosure_type: String! + ai_use_disclosure: String toggle_explicit_content: Boolean } @@ -5793,91 +5767,6 @@ func (ec *executionContext) field___Type_fields_argsIncludeDeprecated( // region **************************** field.gotpl ***************************** -func (ec *executionContext) _AiUseDisclosure_type(ctx context.Context, field graphql.CollectedField, obj *AiUseDisclosure) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_AiUseDisclosure_type(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Type, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(AiUseDisclosureType) - fc.Result = res - return ec.marshalNAiUseDisclosureType2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAiUseDisclosureType(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_AiUseDisclosure_type(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "AiUseDisclosure", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type AiUseDisclosureType does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _AiUseDisclosure_note(ctx context.Context, field graphql.CollectedField, obj *AiUseDisclosure) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_AiUseDisclosure_note(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Note, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_AiUseDisclosure_note(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "AiUseDisclosure", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - func (ec *executionContext) _Announcement_id(ctx context.Context, field graphql.CollectedField, obj *Announcement) (ret graphql.Marshaler) { fc, err := ec.fieldContext_Announcement_id(ctx, field) if err != nil { @@ -6650,6 +6539,8 @@ func (ec *executionContext) fieldContext_GetMods_mods(_ context.Context, field g return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "ai_use_disclosure_type": + return ec.fieldContext_Mod_ai_use_disclosure_type(ctx, field) case "ai_use_disclosure": return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) case "toggle_explicit_content": @@ -6796,6 +6687,8 @@ func (ec *executionContext) fieldContext_GetMyMods_mods(_ context.Context, field return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "ai_use_disclosure_type": + return ec.fieldContext_Mod_ai_use_disclosure_type(ctx, field) case "ai_use_disclosure": return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) case "toggle_explicit_content": @@ -9006,8 +8899,8 @@ func (ec *executionContext) fieldContext_Mod_network_use_disclosure(_ context.Co return fc, nil } -func (ec *executionContext) _Mod_ai_use_disclosure(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_ai_use_disclosure(ctx, field) +func (ec *executionContext) _Mod_ai_use_disclosure_type(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_ai_use_disclosure_type(ctx, field) if err != nil { return graphql.Null } @@ -9020,7 +8913,7 @@ func (ec *executionContext) _Mod_ai_use_disclosure(ctx context.Context, field gr }() resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children - return obj.AiUseDisclosure, nil + return obj.AiUseDisclosureType, nil }) if err != nil { ec.Error(ctx, err) @@ -9032,9 +8925,50 @@ func (ec *executionContext) _Mod_ai_use_disclosure(ctx context.Context, field gr } return graphql.Null } - res := resTmp.(*AiUseDisclosure) + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_ai_use_disclosure_type(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_ai_use_disclosure(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_ai_use_disclosure(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.AiUseDisclosure, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) fc.Result = res - return ec.marshalNAiUseDisclosure2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAiUseDisclosure(ctx, field.Selections, res) + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) } func (ec *executionContext) fieldContext_Mod_ai_use_disclosure(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { @@ -9044,13 +8978,7 @@ func (ec *executionContext) fieldContext_Mod_ai_use_disclosure(_ context.Context IsMethod: false, IsResolver: false, Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "type": - return ec.fieldContext_AiUseDisclosure_type(ctx, field) - case "note": - return ec.fieldContext_AiUseDisclosure_note(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type AiUseDisclosure", field.Name) + return nil, errors.New("field of type String does not have child fields") }, } return fc, nil @@ -10483,6 +10411,8 @@ func (ec *executionContext) fieldContext_Mutation_createMod(ctx context.Context, return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "ai_use_disclosure_type": + return ec.fieldContext_Mod_ai_use_disclosure_type(ctx, field) case "ai_use_disclosure": return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) case "toggle_explicit_content": @@ -10630,6 +10560,8 @@ func (ec *executionContext) fieldContext_Mutation_updateMod(ctx context.Context, return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "ai_use_disclosure_type": + return ec.fieldContext_Mod_ai_use_disclosure_type(ctx, field) case "ai_use_disclosure": return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) case "toggle_explicit_content": @@ -13204,6 +13136,8 @@ func (ec *executionContext) fieldContext_Query_getMod(ctx context.Context, field return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "ai_use_disclosure_type": + return ec.fieldContext_Mod_ai_use_disclosure_type(ctx, field) case "ai_use_disclosure": return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) case "toggle_explicit_content": @@ -13314,6 +13248,8 @@ func (ec *executionContext) fieldContext_Query_getModByReference(ctx context.Con return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "ai_use_disclosure_type": + return ec.fieldContext_Mod_ai_use_disclosure_type(ctx, field) case "ai_use_disclosure": return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) case "toggle_explicit_content": @@ -13424,6 +13360,8 @@ func (ec *executionContext) fieldContext_Query_getModByIdOrReference(ctx context return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "ai_use_disclosure_type": + return ec.fieldContext_Mod_ai_use_disclosure_type(ctx, field) case "ai_use_disclosure": return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) case "toggle_explicit_content": @@ -17213,6 +17151,8 @@ func (ec *executionContext) fieldContext_UserMod_mod(_ context.Context, field gr return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "ai_use_disclosure_type": + return ec.fieldContext_Mod_ai_use_disclosure_type(ctx, field) case "ai_use_disclosure": return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) case "toggle_explicit_content": @@ -18462,6 +18402,8 @@ func (ec *executionContext) fieldContext_Version_mod(_ context.Context, field gr return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "ai_use_disclosure_type": + return ec.fieldContext_Mod_ai_use_disclosure_type(ctx, field) case "ai_use_disclosure": return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) case "toggle_explicit_content": @@ -18901,6 +18843,8 @@ func (ec *executionContext) fieldContext_VersionDependency_mod(_ context.Context return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "ai_use_disclosure_type": + return ec.fieldContext_Mod_ai_use_disclosure_type(ctx, field) case "ai_use_disclosure": return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) case "toggle_explicit_content": @@ -21470,40 +21414,6 @@ func (ec *executionContext) fieldContext___Type_isOneOf(_ context.Context, field // region **************************** input.gotpl ***************************** -func (ec *executionContext) unmarshalInputAiUseDisclosureInput(ctx context.Context, obj any) (AiUseDisclosureInput, error) { - var it AiUseDisclosureInput - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"type", "note"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "type": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("type")) - data, err := ec.unmarshalOAiUseDisclosureType2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAiUseDisclosureType(ctx, v) - if err != nil { - return it, err - } - it.Type = data - case "note": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("note")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it.Note = data - } - } - - return it, nil -} - func (ec *executionContext) unmarshalInputCompatibilityInfoInput(ctx context.Context, obj any) (CompatibilityInfoInput, error) { var it CompatibilityInfoInput asMap := map[string]any{} @@ -21888,7 +21798,7 @@ func (ec *executionContext) unmarshalInputNewMod(ctx context.Context, obj any) ( asMap[k] = v } - fieldsInOrder := [...]string{"name", "short_description", "full_description", "logo", "source_url", "mod_reference", "hidden", "tagIDs", "toggle_network_use", "toggle_explicit_content", "ai_use_disclosure"} + fieldsInOrder := [...]string{"name", "short_description", "full_description", "logo", "source_url", "mod_reference", "hidden", "tagIDs", "toggle_network_use", "toggle_explicit_content", "ai_use_disclosure_type", "ai_use_disclosure"} for _, k := range fieldsInOrder { v, ok := asMap[k] if !ok { @@ -21965,9 +21875,16 @@ func (ec *executionContext) unmarshalInputNewMod(ctx context.Context, obj any) ( return it, err } it.ToggleExplicitContent = data + case "ai_use_disclosure_type": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("ai_use_disclosure_type")) + data, err := ec.unmarshalNString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.AiUseDisclosureType = data case "ai_use_disclosure": ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("ai_use_disclosure")) - data, err := ec.unmarshalNAiUseDisclosureInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAiUseDisclosureInput(ctx, v) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) if err != nil { return it, err } @@ -22286,7 +22203,7 @@ func (ec *executionContext) unmarshalInputUpdateMod(ctx context.Context, obj any asMap[k] = v } - fieldsInOrder := [...]string{"name", "short_description", "full_description", "logo", "source_url", "mod_reference", "authors", "hidden", "tagIDs", "compatibility", "toggle_network_use", "network_use_disclosure", "ai_use_disclosure", "toggle_explicit_content"} + fieldsInOrder := [...]string{"name", "short_description", "full_description", "logo", "source_url", "mod_reference", "authors", "hidden", "tagIDs", "compatibility", "toggle_network_use", "network_use_disclosure", "ai_use_disclosure_type", "ai_use_disclosure", "toggle_explicit_content"} for _, k := range fieldsInOrder { v, ok := asMap[k] if !ok { @@ -22377,9 +22294,16 @@ func (ec *executionContext) unmarshalInputUpdateMod(ctx context.Context, obj any return it, err } it.NetworkUseDisclosure = graphql.OmittableOf(data) + case "ai_use_disclosure_type": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("ai_use_disclosure_type")) + data, err := ec.unmarshalNString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.AiUseDisclosureType = data case "ai_use_disclosure": ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("ai_use_disclosure")) - data, err := ec.unmarshalNAiUseDisclosureInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAiUseDisclosureInput(ctx, v) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) if err != nil { return it, err } @@ -22634,47 +22558,6 @@ func (ec *executionContext) unmarshalInputVersionFilter(ctx context.Context, obj // region **************************** object.gotpl **************************** -var aiUseDisclosureImplementors = []string{"AiUseDisclosure"} - -func (ec *executionContext) _AiUseDisclosure(ctx context.Context, sel ast.SelectionSet, obj *AiUseDisclosure) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, aiUseDisclosureImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("AiUseDisclosure") - case "type": - out.Values[i] = ec._AiUseDisclosure_type(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "note": - out.Values[i] = ec._AiUseDisclosure_note(ctx, field, obj) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - var announcementImplementors = []string{"Announcement"} func (ec *executionContext) _Announcement(ctx context.Context, sel ast.SelectionSet, obj *Announcement) graphql.Marshaler { @@ -23828,11 +23711,13 @@ func (ec *executionContext) _Mod(ctx context.Context, sel ast.SelectionSet, obj } case "network_use_disclosure": out.Values[i] = ec._Mod_network_use_disclosure(ctx, field, obj) - case "ai_use_disclosure": - out.Values[i] = ec._Mod_ai_use_disclosure(ctx, field, obj) + case "ai_use_disclosure_type": + out.Values[i] = ec._Mod_ai_use_disclosure_type(ctx, field, obj) if out.Values[i] == graphql.Null { atomic.AddUint32(&out.Invalids, 1) } + case "ai_use_disclosure": + out.Values[i] = ec._Mod_ai_use_disclosure(ctx, field, obj) case "toggle_explicit_content": out.Values[i] = ec._Mod_toggle_explicit_content(ctx, field, obj) if out.Values[i] == graphql.Null { @@ -26742,31 +26627,6 @@ func (ec *executionContext) ___Type(ctx context.Context, sel ast.SelectionSet, o // region ***************************** type.gotpl ***************************** -func (ec *executionContext) marshalNAiUseDisclosure2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAiUseDisclosure(ctx context.Context, sel ast.SelectionSet, v *AiUseDisclosure) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._AiUseDisclosure(ctx, sel, v) -} - -func (ec *executionContext) unmarshalNAiUseDisclosureInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAiUseDisclosureInput(ctx context.Context, v any) (*AiUseDisclosureInput, error) { - res, err := ec.unmarshalInputAiUseDisclosureInput(ctx, v) - return &res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalNAiUseDisclosureType2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAiUseDisclosureType(ctx context.Context, v any) (AiUseDisclosureType, error) { - var res AiUseDisclosureType - err := res.UnmarshalGQL(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNAiUseDisclosureType2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAiUseDisclosureType(ctx context.Context, sel ast.SelectionSet, v AiUseDisclosureType) graphql.Marshaler { - return v -} - func (ec *executionContext) marshalNAnnouncement2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncement(ctx context.Context, sel ast.SelectionSet, v Announcement) graphql.Marshaler { return ec._Announcement(ctx, sel, &v) } @@ -27661,6 +27521,28 @@ func (ec *executionContext) marshalNString2ᚕstringᚄ(ctx context.Context, sel return ret } +func (ec *executionContext) unmarshalNString2ᚖstring(ctx context.Context, v any) (*string, error) { + res, err := graphql.UnmarshalString(v) + return &res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNString2ᚖstring(ctx context.Context, sel ast.SelectionSet, v *string) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + _ = sel + res := graphql.MarshalString(*v) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + func (ec *executionContext) marshalNTag2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTag(ctx context.Context, sel ast.SelectionSet, v Tag) graphql.Marshaler { return ec._Tag(ctx, sel, &v) } @@ -28477,22 +28359,6 @@ func (ec *executionContext) marshalN__TypeKind2string(ctx context.Context, sel a return res } -func (ec *executionContext) unmarshalOAiUseDisclosureType2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAiUseDisclosureType(ctx context.Context, v any) (*AiUseDisclosureType, error) { - if v == nil { - return nil, nil - } - var res = new(AiUseDisclosureType) - err := res.UnmarshalGQL(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalOAiUseDisclosureType2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAiUseDisclosureType(ctx context.Context, sel ast.SelectionSet, v *AiUseDisclosureType) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return v -} - func (ec *executionContext) marshalOAnnouncement2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncement(ctx context.Context, sel ast.SelectionSet, v *Announcement) graphql.Marshaler { if v == nil { return graphql.Null diff --git a/generated/models_gen.go b/generated/models_gen.go index 386f56c9..74c3fec4 100644 --- a/generated/models_gen.go +++ b/generated/models_gen.go @@ -11,16 +11,6 @@ import ( "github.com/99designs/gqlgen/graphql" ) -type AiUseDisclosure struct { - Type AiUseDisclosureType `json:"type"` - Note *string `json:"note,omitempty"` -} - -type AiUseDisclosureInput struct { - Type *AiUseDisclosureType `json:"type,omitempty"` - Note *string `json:"note,omitempty"` -} - type Announcement struct { ID string `json:"id"` Message string `json:"message"` @@ -141,7 +131,8 @@ type Mod struct { Compatibility *CompatibilityInfo `json:"compatibility,omitempty"` ToggleNetworkUse bool `json:"toggle_network_use"` NetworkUseDisclosure *string `json:"network_use_disclosure,omitempty"` - AiUseDisclosure *AiUseDisclosure `json:"ai_use_disclosure"` + AiUseDisclosureType string `json:"ai_use_disclosure_type"` + AiUseDisclosure *string `json:"ai_use_disclosure,omitempty"` ToggleExplicitContent bool `json:"toggle_explicit_content"` Authors []*UserMod `json:"authors"` Version *Version `json:"version,omitempty"` @@ -363,65 +354,6 @@ type VirustotalResult struct { UpdatedAt *string `json:"updated_at,omitempty"` } -type AiUseDisclosureType string - -const ( - AiUseDisclosureTypeNotUsed AiUseDisclosureType = "NotUsed" - AiUseDisclosureTypeRuntimeUsed AiUseDisclosureType = "RuntimeUsed" - AiUseDisclosureTypeAiContentUsed AiUseDisclosureType = "AiContentUsed" - AiUseDisclosureTypeNoAnswer AiUseDisclosureType = "NoAnswer" -) - -var AllAiUseDisclosureType = []AiUseDisclosureType{ - AiUseDisclosureTypeNotUsed, - AiUseDisclosureTypeRuntimeUsed, - AiUseDisclosureTypeAiContentUsed, - AiUseDisclosureTypeNoAnswer, -} - -func (e AiUseDisclosureType) IsValid() bool { - switch e { - case AiUseDisclosureTypeNotUsed, AiUseDisclosureTypeRuntimeUsed, AiUseDisclosureTypeAiContentUsed, AiUseDisclosureTypeNoAnswer: - return true - } - return false -} - -func (e AiUseDisclosureType) String() string { - return string(e) -} - -func (e *AiUseDisclosureType) UnmarshalGQL(v any) error { - str, ok := v.(string) - if !ok { - return fmt.Errorf("enums must be strings") - } - - *e = AiUseDisclosureType(str) - if !e.IsValid() { - return fmt.Errorf("%s is not a valid AiUseDisclosureType", str) - } - return nil -} - -func (e AiUseDisclosureType) MarshalGQL(w io.Writer) { - fmt.Fprint(w, strconv.Quote(e.String())) -} - -func (e *AiUseDisclosureType) UnmarshalJSON(b []byte) error { - s, err := strconv.Unquote(string(b)) - if err != nil { - return err - } - return e.UnmarshalGQL(s) -} - -func (e AiUseDisclosureType) MarshalJSON() ([]byte, error) { - var buf bytes.Buffer - e.MarshalGQL(&buf) - return buf.Bytes(), nil -} - type AnnouncementImportance string const ( diff --git a/gql/resolver_mods.go b/gql/resolver_mods.go index 7dcf5d2b..58c53924 100644 --- a/gql/resolver_mods.go +++ b/gql/resolver_mods.go @@ -81,7 +81,8 @@ func (r *mutationResolver) CreateMod(ctx context.Context, newMod generated.NewMo SetINNF(newMod.Hidden, dbMod.SetHidden) SetINNF(newMod.ToggleNetworkUse, dbMod.SetToggleNetworkUse) SetINNF(newMod.ToggleExplicitContent, dbMod.SetToggleExplicitContent) - //SetINNF(newMod.AiUseDisclosure, dbMod.SetAiUseDisclosure) + SetINNF(newMod.AiUseDisclosureType, dbMod.SetAiUseDisclosureType) + SetINNF(newMod.AiUseDisclosure, dbMod.SetAiUseDisclosure) user, _, err := db.UserFromGQLContext(ctx) if err != nil { @@ -189,7 +190,8 @@ func (r *mutationResolver) UpdateMod(ctx context.Context, modID string, updateMo SetINNF(updateMod.Hidden, dbUpdate.SetHidden) SetCompatibilityINNF(updateMod.Compatibility, dbUpdate.SetCompatibility) SetINNF(updateMod.ToggleNetworkUse, dbUpdate.SetToggleNetworkUse) - //SetINNF(updateMod.AiUseDisclosure, dbUpdate.SetAiUseDisclosure) + SetINNF(updateMod.AiUseDisclosureType, dbUpdate.SetAiUseDisclosureType) + SetINNF(updateMod.AiUseDisclosure, dbUpdate.SetAiUseDisclosure) newNetworkDisclosure, isSet := updateMod.NetworkUseDisclosure.ValueOK() if isSet { @@ -199,7 +201,6 @@ func (r *mutationResolver) UpdateMod(ctx context.Context, modID string, updateMo dbUpdate.SetNetworkUseDisclosure(*newNetworkDisclosure) } } - // SetINNF(updateMod.AiUseDisclosure, dbUpdate.SetAiUseDisclosure) SetINNF(updateMod.ToggleExplicitContent, dbUpdate.SetToggleExplicitContent) if updateMod.Logo != nil { diff --git a/migrations/sql/000031_add_ai_disclosure.down.sql b/migrations/sql/000031_add_ai_disclosure.down.sql index 3235961a..47f39f6c 100644 --- a/migrations/sql/000031_add_ai_disclosure.down.sql +++ b/migrations/sql/000031_add_ai_disclosure.down.sql @@ -1,2 +1,3 @@ ALTER TABLE mods - DROP COLUMN ai_use_disclosure \ No newline at end of file + DROP COLUMN ai_use_disclosure, + DROP COLUMN ai_use_disclosure_type; \ No newline at end of file diff --git a/migrations/sql/000031_add_ai_disclosure.up.sql b/migrations/sql/000031_add_ai_disclosure.up.sql index 93475f2f..7bbfbc32 100644 --- a/migrations/sql/000031_add_ai_disclosure.up.sql +++ b/migrations/sql/000031_add_ai_disclosure.up.sql @@ -1,2 +1,3 @@ ALTER TABLE mods - ADD COLUMN ai_use_disclosure jsonb \ No newline at end of file + ADD COLUMN ai_use_disclosure text, + ADD COLUMN ai_use_disclosure_type text; \ No newline at end of file diff --git a/schemas/mod.graphql b/schemas/mod.graphql index 5bb672e0..af221cec 100755 --- a/schemas/mod.graphql +++ b/schemas/mod.graphql @@ -15,18 +15,6 @@ enum ModFields { search } -enum AiUseDisclosureType { - NotUsed - RuntimeUsed - AiContentUsed - NoAnswer -} - -type AiUseDisclosure { - type: AiUseDisclosureType! - note: String -} - type Mod { id: ModID! name: String! @@ -50,7 +38,8 @@ type Mod { compatibility: CompatibilityInfo toggle_network_use: Boolean! network_use_disclosure: String - ai_use_disclosure: AiUseDisclosure! + ai_use_disclosure_type: String! + ai_use_disclosure: String toggle_explicit_content: Boolean! authors: [UserMod!]! @@ -77,11 +66,6 @@ type ModVersion { ### Inputs -input AiUseDisclosureInput { - type: AiUseDisclosureType - note: String -} - input ModFilter { limit: Int offset: Int @@ -105,7 +89,8 @@ input NewMod { tagIDs: [TagID!] toggle_network_use: Boolean toggle_explicit_content: Boolean - ai_use_disclosure: AiUseDisclosureInput! + ai_use_disclosure_type: String! + ai_use_disclosure: String } input UpdateMod { @@ -121,7 +106,8 @@ input UpdateMod { compatibility: CompatibilityInfoInput toggle_network_use: Boolean network_use_disclosure: String - ai_use_disclosure: AiUseDisclosureInput! + ai_use_disclosure_type: String! + ai_use_disclosure: String toggle_explicit_content: Boolean } diff --git a/util/db.go b/util/db.go index 3f16e336..bcca1b85 100644 --- a/util/db.go +++ b/util/db.go @@ -26,8 +26,3 @@ type Compatibility struct { State string Note string } - -type AiUseDisclosure struct { - Type string - Note string -} diff --git a/workflows/versionupload/extract_mod_info.go b/workflows/versionupload/extract_mod_info.go index e73c14a5..0a5f91c8 100644 --- a/workflows/versionupload/extract_mod_info.go +++ b/workflows/versionupload/extract_mod_info.go @@ -78,7 +78,7 @@ func (*A) ExtractModInfoActivity(ctx context.Context, args ExtractModInfoArgs) ( return nil, temporal.NewNonRetryableApplicationError("reusing the version name of a deleted mod version is not allowed", "fatal", nil) } - if mod.AiUseDisclosure.Type == "" { + if mod.AiUseDisclosureType == "" { return nil, temporal.NewNonRetryableApplicationError("ai use disclosure is required", "fatal", nil) } From 82900605ad22f2713424a9d5a55d91d7248a3270 Mon Sep 17 00:00:00 2001 From: rhit-silkaijr Date: Fri, 27 Mar 2026 15:43:11 -0400 Subject: [PATCH 047/100] Using struct instead of strings --- db/schema/mod.go | 3 +- generated/conv/mod.go | 15 +- generated/custom_models.go | 26 +- generated/ent/internal/schema.go | 2 +- generated/ent/migrate/schema.go | 3 +- generated/ent/mod.go | 27 +- generated/ent/mod/mod.go | 13 - generated/ent/mod/where.go | 150 -------- generated/ent/mod_create.go | 98 +---- generated/ent/mod_update.go | 84 +--- generated/ent/mutation.go | 87 +---- generated/ent/runtime/runtime.go | 2 +- generated/generated.go | 363 ++++++++++++------ generated/models_gen.go | 124 ++++-- gql/gql_types.go | 20 + gql/gql_utils.go | 7 + gql/resolver_mods.go | 6 +- .../sql/000031_add_ai_disclosure.down.sql | 3 +- .../sql/000031_add_ai_disclosure.up.sql | 3 +- schemas/mod.graphql | 25 +- util/db.go | 5 + workflows/versionupload/extract_mod_info.go | 4 - 22 files changed, 445 insertions(+), 625 deletions(-) diff --git a/db/schema/mod.go b/db/schema/mod.go index 897e0978..a7e8a599 100644 --- a/db/schema/mod.go +++ b/db/schema/mod.go @@ -42,8 +42,7 @@ func (Mod) Fields() []ent.Field { field.JSON("compatibility", &util.CompatibilityInfo{}).Optional(), field.Bool("toggle_network_use").Default(false), field.String("network_use_disclosure").Optional().Nillable(), - field.String("ai_use_disclosure_type").Optional(), - field.String("ai_use_disclosure").Optional(), + field.JSON("ai_use_disclosure", &util.AIUseDisclosureInfo{}).Optional(), field.Bool("toggle_explicit_content").Default(false), } } diff --git a/generated/conv/mod.go b/generated/conv/mod.go index fd8c0197..4aa761f9 100755 --- a/generated/conv/mod.go +++ b/generated/conv/mod.go @@ -51,9 +51,7 @@ func (c *ModImpl) Convert(source *ent.Mod) *generated.Mod { xstring := *(*source).NetworkUseDisclosure generatedMod.NetworkUseDisclosure = &xstring } - generatedMod.AiUseDisclosureType = (*source).AiUseDisclosureType - pString5 := (*source).AiUseDisclosure - generatedMod.AiUseDisclosure = &pString5 + generatedMod.AiUseDisclosure = c.pUtilAIUseDisclosureInfoToPGeneratedAIUseDisclosureInfo((*source).AiUseDisclosure) generatedMod.ToggleExplicitContent = (*source).ToggleExplicitContent pGeneratedMod = &generatedMod } @@ -80,6 +78,17 @@ func (c *ModImpl) pEntTagToPGeneratedTag(source *ent.Tag) *generated.Tag { } return pGeneratedTag } +func (c *ModImpl) pUtilAIUseDisclosureInfoToPGeneratedAIUseDisclosureInfo(source *util.AIUseDisclosureInfo) *generated.AIUseDisclosureInfo { + var pGeneratedAIUseDisclosureInfo *generated.AIUseDisclosureInfo + if source != nil { + var generatedAIUseDisclosureInfo generated.AIUseDisclosureInfo + generatedAIUseDisclosureInfo.DisclosureType = generated.AIUseDisclosureType((*source).DisclosureType) + pString := (*source).DisclosureString + generatedAIUseDisclosureInfo.DisclosureString = &pString + pGeneratedAIUseDisclosureInfo = &generatedAIUseDisclosureInfo + } + return pGeneratedAIUseDisclosureInfo +} func (c *ModImpl) pUtilCompatibilityInfoToPGeneratedCompatibilityInfo(source *util.CompatibilityInfo) *generated.CompatibilityInfo { var pGeneratedCompatibilityInfo *generated.CompatibilityInfo if source != nil { diff --git a/generated/custom_models.go b/generated/custom_models.go index c2006e6c..cba89755 100755 --- a/generated/custom_models.go +++ b/generated/custom_models.go @@ -3,18 +3,17 @@ package generated import "github.com/99designs/gqlgen/graphql" type NewMod struct { - Name string `json:"name" validate:"required,min=3,max=32"` - ShortDescription string `json:"short_description" validate:"required,min=16,max=128"` - FullDescription *string `json:"full_description"` - Logo *graphql.Upload `json:"logo"` - SourceURL *string `json:"source_url"` - ModReference string `json:"mod_reference"` - Hidden *bool `json:"hidden"` - TagIDs []string `json:"tagIDs" validate:"dive,min=3,max=24"` - ToggleNetworkUse *bool `json:"toggle_network_use"` - ToggleExplicitContent *bool `json:"toggle_explicit_content"` - AiUseDisclosureType *string `json:"ai_use_disclosure_type"` - AiUseDisclosure *string `json:"ai_use_disclosure"` + Name string `json:"name" validate:"required,min=3,max=32"` + ShortDescription string `json:"short_description" validate:"required,min=16,max=128"` + FullDescription *string `json:"full_description"` + Logo *graphql.Upload `json:"logo"` + SourceURL *string `json:"source_url"` + ModReference string `json:"mod_reference"` + Hidden *bool `json:"hidden"` + TagIDs []string `json:"tagIDs" validate:"dive,min=3,max=24"` + ToggleNetworkUse *bool `json:"toggle_network_use"` + ToggleExplicitContent *bool `json:"toggle_explicit_content"` + AiUseDisclosure *AIUseDisclosureInput `json:"ai_use_disclosure"` } type UpdateMod struct { @@ -31,6 +30,5 @@ type UpdateMod struct { ToggleNetworkUse *bool `json:"toggle_network_use"` NetworkUseDisclosure graphql.Omittable[*string] `json:"network_use_disclosure"` ToggleExplicitContent *bool `json:"toggle_explicit_content"` - AiUseDisclosureType *string `json:"ai_use_disclosure_type"` - AiUseDisclosure *string `json:"ai_use_disclosure"` + AiUseDisclosure *AIUseDisclosureInput `json:"ai_use_disclosure"` } diff --git a/generated/ent/internal/schema.go b/generated/ent/internal/schema.go index 31889e92..08bc167b 100644 --- a/generated/ent/internal/schema.go +++ b/generated/ent/internal/schema.go @@ -6,4 +6,4 @@ // Package internal holds a loadable version of the latest schema. package internal -const Schema = "{\"Schema\":\"github.com/satisfactorymodding/smr-api/db/schema\",\"Package\":\"github.com/satisfactorymodding/smr-api/generated/ent\",\"Schemas\":[{\"name\":\"Announcement\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"message\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"importance\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Guide\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"guides\",\"unique\":true,\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"}}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"guide\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":2,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"GuideTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guide\",\"type\":\"Guide\",\"field\":\"guide_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"guide_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"guide_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"Mod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"versions\",\"type\":\"Version\"},{\"name\":\"authors\",\"type\":\"User\",\"ref_name\":\"mods\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"},\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"}},{\"name\":\"dependents\",\"type\":\"Version\",\"ref_name\":\"dependencies\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"full_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"source_url\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"creator_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"popularity\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"last_version_date\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hidden\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"compatibility\",\"type\":{\"Type\":3,\"Ident\":\"*util.CompatibilityInfo\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":true,\"RType\":{\"Name\":\"CompatibilityInfo\",\"Ident\":\"util.CompatibilityInfo\",\"Kind\":22,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{}}},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_network_use\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"network_use_disclosure\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"nillable\":true,\"optional\":true,\"position\":{\"Index\":18,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"ai_use_disclosure_type\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":19,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"ai_use_disclosure\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":20,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_explicit_content\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":21,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"last_version_date\"]},{\"unique\":true,\"fields\":[\"mod_reference\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"ModTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"mod_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"SatisfactoryVersion\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"unique\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"engine_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"default\":true,\"default_value\":\"4.26\",\"default_kind\":24,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}]},{\"name\":\"Tag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mods\",\"type\":\"Mod\",\"ref_name\":\"tags\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"},\"inverse\":true},{\"name\":\"guides\",\"type\":\"Guide\",\"ref_name\":\"tags\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":24,\"unique\":true,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"optional\":true,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"User\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guides\",\"type\":\"Guide\"},{\"name\":\"sessions\",\"type\":\"UserSession\",\"storage_key\":{\"Table\":\"\",\"Symbols\":null,\"Columns\":[\"user_id\"]}},{\"name\":\"mods\",\"type\":\"Mod\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"}},{\"name\":\"groups\",\"type\":\"UserGroup\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"email\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":256,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"username\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"joined_from\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"banned\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"rank\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":1,\"default_kind\":2,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"github_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"optional\":true,\"validators\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"google_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"optional\":true,\"validators\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"facebook_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"optional\":true,\"validators\":1,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"email\"]},{\"unique\":true,\"fields\":[\"github_id\"]},{\"unique\":true,\"fields\":[\"google_id\"]},{\"unique\":true,\"fields\":[\"facebook_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserGroup\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"groups\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"group_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"user_id\",\"group_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserMod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"role\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"user_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"UserSession\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"ref_name\":\"sessions\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"token\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"user_agent\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"token\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Version\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"ref_name\":\"versions\",\"unique\":true,\"inverse\":true,\"required\":true},{\"name\":\"dependencies\",\"type\":\"Mod\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"}},{\"name\":\"targets\",\"type\":\"VersionTarget\"},{\"name\":\"virustotal_results\",\"type\":\"VirustotalResult\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"game_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"required_on_remote\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":true,\"default_kind\":1,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"changelog\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"stability\",\"type\":{\"Type\":6,\"Ident\":\"util.Stability\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":false,\"RType\":{\"Name\":\"Stability\",\"Ident\":\"util.Stability\",\"Kind\":24,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{\"Values\":{\"In\":[],\"Out\":[{\"Name\":\"\",\"Ident\":\"[]string\",\"Kind\":23,\"PkgPath\":\"\",\"Methods\":null}]}}}},\"enums\":[{\"N\":\"release\",\"V\":\"release\"},{\"N\":\"beta\",\"V\":\"beta\"},{\"N\":\"alpha\",\"V\":\"alpha\"}],\"default\":true,\"default_value\":\"release\",\"default_kind\":24,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"metadata\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_major\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_minor\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_patch\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"optional\":true,\"validators\":2,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"approved\"]},{\"fields\":[\"denied\"]},{\"fields\":[\"mod_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"VersionDependency\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"condition\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"optional\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"annotations\":{\"Fields\":{\"ID\":[\"version_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"VersionTarget\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"targets\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"target_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"unique\":true,\"fields\":[\"version_id\",\"target_name\"]}]},{\"name\":\"VirustotalResult\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"virustotal_results\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"safe\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":2,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"file_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":2,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"safe\"]},{\"unique\":true,\"fields\":[\"hash\",\"version_id\"]},{\"fields\":[\"file_name\"]}]}],\"Features\":[\"sql/modifier\",\"intercept\",\"schema/snapshot\",\"sql/execquery\",\"sql/upsert\"]}" +const Schema = "{\"Schema\":\"github.com/satisfactorymodding/smr-api/db/schema\",\"Package\":\"github.com/satisfactorymodding/smr-api/generated/ent\",\"Schemas\":[{\"name\":\"Announcement\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"message\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"importance\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Guide\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"guides\",\"unique\":true,\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"}}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"guide\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":2,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"GuideTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guide\",\"type\":\"Guide\",\"field\":\"guide_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"guide_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"guide_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"Mod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"versions\",\"type\":\"Version\"},{\"name\":\"authors\",\"type\":\"User\",\"ref_name\":\"mods\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"},\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"}},{\"name\":\"dependents\",\"type\":\"Version\",\"ref_name\":\"dependencies\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"full_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"source_url\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"creator_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"popularity\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"last_version_date\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hidden\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"compatibility\",\"type\":{\"Type\":3,\"Ident\":\"*util.CompatibilityInfo\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":true,\"RType\":{\"Name\":\"CompatibilityInfo\",\"Ident\":\"util.CompatibilityInfo\",\"Kind\":22,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{}}},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_network_use\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"network_use_disclosure\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"nillable\":true,\"optional\":true,\"position\":{\"Index\":18,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"ai_use_disclosure\",\"type\":{\"Type\":3,\"Ident\":\"*util.AIUseDisclosureInfo\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":true,\"RType\":{\"Name\":\"AIUseDisclosureInfo\",\"Ident\":\"util.AIUseDisclosureInfo\",\"Kind\":22,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{}}},\"optional\":true,\"position\":{\"Index\":19,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_explicit_content\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":20,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"last_version_date\"]},{\"unique\":true,\"fields\":[\"mod_reference\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"ModTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"mod_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"SatisfactoryVersion\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"unique\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"engine_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"default\":true,\"default_value\":\"4.26\",\"default_kind\":24,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}]},{\"name\":\"Tag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mods\",\"type\":\"Mod\",\"ref_name\":\"tags\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"},\"inverse\":true},{\"name\":\"guides\",\"type\":\"Guide\",\"ref_name\":\"tags\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":24,\"unique\":true,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"optional\":true,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"User\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guides\",\"type\":\"Guide\"},{\"name\":\"sessions\",\"type\":\"UserSession\",\"storage_key\":{\"Table\":\"\",\"Symbols\":null,\"Columns\":[\"user_id\"]}},{\"name\":\"mods\",\"type\":\"Mod\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"}},{\"name\":\"groups\",\"type\":\"UserGroup\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"email\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":256,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"username\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"joined_from\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"banned\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"rank\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":1,\"default_kind\":2,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"github_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"optional\":true,\"validators\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"google_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"optional\":true,\"validators\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"facebook_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"optional\":true,\"validators\":1,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"email\"]},{\"unique\":true,\"fields\":[\"github_id\"]},{\"unique\":true,\"fields\":[\"google_id\"]},{\"unique\":true,\"fields\":[\"facebook_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserGroup\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"groups\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"group_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"user_id\",\"group_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserMod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"role\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"user_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"UserSession\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"ref_name\":\"sessions\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"token\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"user_agent\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"token\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Version\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"ref_name\":\"versions\",\"unique\":true,\"inverse\":true,\"required\":true},{\"name\":\"dependencies\",\"type\":\"Mod\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"}},{\"name\":\"targets\",\"type\":\"VersionTarget\"},{\"name\":\"virustotal_results\",\"type\":\"VirustotalResult\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"game_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"required_on_remote\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":true,\"default_kind\":1,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"changelog\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"stability\",\"type\":{\"Type\":6,\"Ident\":\"util.Stability\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":false,\"RType\":{\"Name\":\"Stability\",\"Ident\":\"util.Stability\",\"Kind\":24,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{\"Values\":{\"In\":[],\"Out\":[{\"Name\":\"\",\"Ident\":\"[]string\",\"Kind\":23,\"PkgPath\":\"\",\"Methods\":null}]}}}},\"enums\":[{\"N\":\"release\",\"V\":\"release\"},{\"N\":\"beta\",\"V\":\"beta\"},{\"N\":\"alpha\",\"V\":\"alpha\"}],\"default\":true,\"default_value\":\"release\",\"default_kind\":24,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"metadata\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_major\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_minor\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_patch\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"optional\":true,\"validators\":2,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"approved\"]},{\"fields\":[\"denied\"]},{\"fields\":[\"mod_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"VersionDependency\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"condition\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"optional\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"annotations\":{\"Fields\":{\"ID\":[\"version_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"VersionTarget\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"targets\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"target_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"unique\":true,\"fields\":[\"version_id\",\"target_name\"]}]},{\"name\":\"VirustotalResult\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"virustotal_results\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"safe\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":2,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"file_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":2,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"safe\"]},{\"unique\":true,\"fields\":[\"hash\",\"version_id\"]},{\"fields\":[\"file_name\"]}]}],\"Features\":[\"sql/modifier\",\"intercept\",\"schema/snapshot\",\"sql/execquery\",\"sql/upsert\"]}" diff --git a/generated/ent/migrate/schema.go b/generated/ent/migrate/schema.go index ea664a62..029ee335 100644 --- a/generated/ent/migrate/schema.go +++ b/generated/ent/migrate/schema.go @@ -113,8 +113,7 @@ var ( {Name: "compatibility", Type: field.TypeJSON, Nullable: true}, {Name: "toggle_network_use", Type: field.TypeBool, Default: false}, {Name: "network_use_disclosure", Type: field.TypeString, Nullable: true}, - {Name: "ai_use_disclosure_type", Type: field.TypeString, Nullable: true}, - {Name: "ai_use_disclosure", Type: field.TypeString, Nullable: true}, + {Name: "ai_use_disclosure", Type: field.TypeJSON, Nullable: true}, {Name: "toggle_explicit_content", Type: field.TypeBool, Default: false}, } // ModsTable holds the schema information for the "mods" table. diff --git a/generated/ent/mod.go b/generated/ent/mod.go index fe373bc8..acad741a 100644 --- a/generated/ent/mod.go +++ b/generated/ent/mod.go @@ -63,10 +63,8 @@ type Mod struct { ToggleNetworkUse bool `json:"toggle_network_use,omitempty"` // NetworkUseDisclosure holds the value of the "network_use_disclosure" field. NetworkUseDisclosure *string `json:"network_use_disclosure,omitempty"` - // AiUseDisclosureType holds the value of the "ai_use_disclosure_type" field. - AiUseDisclosureType string `json:"ai_use_disclosure_type,omitempty"` // AiUseDisclosure holds the value of the "ai_use_disclosure" field. - AiUseDisclosure string `json:"ai_use_disclosure,omitempty"` + AiUseDisclosure *util.AIUseDisclosureInfo `json:"ai_use_disclosure,omitempty"` // ToggleExplicitContent holds the value of the "toggle_explicit_content" field. ToggleExplicitContent bool `json:"toggle_explicit_content,omitempty"` // Edges holds the relations/edges for other nodes in the graph. @@ -164,13 +162,13 @@ func (*Mod) scanValues(columns []string) ([]any, error) { values := make([]any, len(columns)) for i := range columns { switch columns[i] { - case mod.FieldCompatibility: + case mod.FieldCompatibility, mod.FieldAiUseDisclosure: values[i] = new([]byte) case mod.FieldApproved, mod.FieldDenied, mod.FieldHidden, mod.FieldToggleNetworkUse, mod.FieldToggleExplicitContent: values[i] = new(sql.NullBool) case mod.FieldViews, mod.FieldHotness, mod.FieldPopularity, mod.FieldDownloads: values[i] = new(sql.NullInt64) - case mod.FieldID, mod.FieldName, mod.FieldShortDescription, mod.FieldFullDescription, mod.FieldLogo, mod.FieldLogoThumbhash, mod.FieldSourceURL, mod.FieldCreatorID, mod.FieldModReference, mod.FieldNetworkUseDisclosure, mod.FieldAiUseDisclosureType, mod.FieldAiUseDisclosure: + case mod.FieldID, mod.FieldName, mod.FieldShortDescription, mod.FieldFullDescription, mod.FieldLogo, mod.FieldLogoThumbhash, mod.FieldSourceURL, mod.FieldCreatorID, mod.FieldModReference, mod.FieldNetworkUseDisclosure: values[i] = new(sql.NullString) case mod.FieldCreatedAt, mod.FieldUpdatedAt, mod.FieldDeletedAt, mod.FieldLastVersionDate: values[i] = new(sql.NullTime) @@ -330,17 +328,13 @@ func (m *Mod) assignValues(columns []string, values []any) error { m.NetworkUseDisclosure = new(string) *m.NetworkUseDisclosure = value.String } - case mod.FieldAiUseDisclosureType: - if value, ok := values[i].(*sql.NullString); !ok { - return fmt.Errorf("unexpected type %T for field ai_use_disclosure_type", values[i]) - } else if value.Valid { - m.AiUseDisclosureType = value.String - } case mod.FieldAiUseDisclosure: - if value, ok := values[i].(*sql.NullString); !ok { + if value, ok := values[i].(*[]byte); !ok { return fmt.Errorf("unexpected type %T for field ai_use_disclosure", values[i]) - } else if value.Valid { - m.AiUseDisclosure = value.String + } else if value != nil && len(*value) > 0 { + if err := json.Unmarshal(*value, &m.AiUseDisclosure); err != nil { + return fmt.Errorf("unmarshal field ai_use_disclosure: %w", err) + } } case mod.FieldToggleExplicitContent: if value, ok := values[i].(*sql.NullBool); !ok { @@ -487,11 +481,8 @@ func (m *Mod) String() string { builder.WriteString(*v) } builder.WriteString(", ") - builder.WriteString("ai_use_disclosure_type=") - builder.WriteString(m.AiUseDisclosureType) - builder.WriteString(", ") builder.WriteString("ai_use_disclosure=") - builder.WriteString(m.AiUseDisclosure) + builder.WriteString(fmt.Sprintf("%v", m.AiUseDisclosure)) builder.WriteString(", ") builder.WriteString("toggle_explicit_content=") builder.WriteString(fmt.Sprintf("%v", m.ToggleExplicitContent)) diff --git a/generated/ent/mod/mod.go b/generated/ent/mod/mod.go index 290eded1..a1040ee3 100644 --- a/generated/ent/mod/mod.go +++ b/generated/ent/mod/mod.go @@ -59,8 +59,6 @@ const ( FieldToggleNetworkUse = "toggle_network_use" // FieldNetworkUseDisclosure holds the string denoting the network_use_disclosure field in the database. FieldNetworkUseDisclosure = "network_use_disclosure" - // FieldAiUseDisclosureType holds the string denoting the ai_use_disclosure_type field in the database. - FieldAiUseDisclosureType = "ai_use_disclosure_type" // FieldAiUseDisclosure holds the string denoting the ai_use_disclosure field in the database. FieldAiUseDisclosure = "ai_use_disclosure" // FieldToggleExplicitContent holds the string denoting the toggle_explicit_content field in the database. @@ -151,7 +149,6 @@ var Columns = []string{ FieldCompatibility, FieldToggleNetworkUse, FieldNetworkUseDisclosure, - FieldAiUseDisclosureType, FieldAiUseDisclosure, FieldToggleExplicitContent, } @@ -333,16 +330,6 @@ func ByNetworkUseDisclosure(opts ...sql.OrderTermOption) OrderOption { return sql.OrderByField(FieldNetworkUseDisclosure, opts...).ToFunc() } -// ByAiUseDisclosureType orders the results by the ai_use_disclosure_type field. -func ByAiUseDisclosureType(opts ...sql.OrderTermOption) OrderOption { - return sql.OrderByField(FieldAiUseDisclosureType, opts...).ToFunc() -} - -// ByAiUseDisclosure orders the results by the ai_use_disclosure field. -func ByAiUseDisclosure(opts ...sql.OrderTermOption) OrderOption { - return sql.OrderByField(FieldAiUseDisclosure, opts...).ToFunc() -} - // ByToggleExplicitContent orders the results by the toggle_explicit_content field. func ByToggleExplicitContent(opts ...sql.OrderTermOption) OrderOption { return sql.OrderByField(FieldToggleExplicitContent, opts...).ToFunc() diff --git a/generated/ent/mod/where.go b/generated/ent/mod/where.go index e11627d9..f8c0461e 100644 --- a/generated/ent/mod/where.go +++ b/generated/ent/mod/where.go @@ -170,16 +170,6 @@ func NetworkUseDisclosure(v string) predicate.Mod { return predicate.Mod(sql.FieldEQ(FieldNetworkUseDisclosure, v)) } -// AiUseDisclosureType applies equality check predicate on the "ai_use_disclosure_type" field. It's identical to AiUseDisclosureTypeEQ. -func AiUseDisclosureType(v string) predicate.Mod { - return predicate.Mod(sql.FieldEQ(FieldAiUseDisclosureType, v)) -} - -// AiUseDisclosure applies equality check predicate on the "ai_use_disclosure" field. It's identical to AiUseDisclosureEQ. -func AiUseDisclosure(v string) predicate.Mod { - return predicate.Mod(sql.FieldEQ(FieldAiUseDisclosure, v)) -} - // ToggleExplicitContent applies equality check predicate on the "toggle_explicit_content" field. It's identical to ToggleExplicitContentEQ. func ToggleExplicitContent(v bool) predicate.Mod { return predicate.Mod(sql.FieldEQ(FieldToggleExplicitContent, v)) @@ -1200,136 +1190,6 @@ func NetworkUseDisclosureContainsFold(v string) predicate.Mod { return predicate.Mod(sql.FieldContainsFold(FieldNetworkUseDisclosure, v)) } -// AiUseDisclosureTypeEQ applies the EQ predicate on the "ai_use_disclosure_type" field. -func AiUseDisclosureTypeEQ(v string) predicate.Mod { - return predicate.Mod(sql.FieldEQ(FieldAiUseDisclosureType, v)) -} - -// AiUseDisclosureTypeNEQ applies the NEQ predicate on the "ai_use_disclosure_type" field. -func AiUseDisclosureTypeNEQ(v string) predicate.Mod { - return predicate.Mod(sql.FieldNEQ(FieldAiUseDisclosureType, v)) -} - -// AiUseDisclosureTypeIn applies the In predicate on the "ai_use_disclosure_type" field. -func AiUseDisclosureTypeIn(vs ...string) predicate.Mod { - return predicate.Mod(sql.FieldIn(FieldAiUseDisclosureType, vs...)) -} - -// AiUseDisclosureTypeNotIn applies the NotIn predicate on the "ai_use_disclosure_type" field. -func AiUseDisclosureTypeNotIn(vs ...string) predicate.Mod { - return predicate.Mod(sql.FieldNotIn(FieldAiUseDisclosureType, vs...)) -} - -// AiUseDisclosureTypeGT applies the GT predicate on the "ai_use_disclosure_type" field. -func AiUseDisclosureTypeGT(v string) predicate.Mod { - return predicate.Mod(sql.FieldGT(FieldAiUseDisclosureType, v)) -} - -// AiUseDisclosureTypeGTE applies the GTE predicate on the "ai_use_disclosure_type" field. -func AiUseDisclosureTypeGTE(v string) predicate.Mod { - return predicate.Mod(sql.FieldGTE(FieldAiUseDisclosureType, v)) -} - -// AiUseDisclosureTypeLT applies the LT predicate on the "ai_use_disclosure_type" field. -func AiUseDisclosureTypeLT(v string) predicate.Mod { - return predicate.Mod(sql.FieldLT(FieldAiUseDisclosureType, v)) -} - -// AiUseDisclosureTypeLTE applies the LTE predicate on the "ai_use_disclosure_type" field. -func AiUseDisclosureTypeLTE(v string) predicate.Mod { - return predicate.Mod(sql.FieldLTE(FieldAiUseDisclosureType, v)) -} - -// AiUseDisclosureTypeContains applies the Contains predicate on the "ai_use_disclosure_type" field. -func AiUseDisclosureTypeContains(v string) predicate.Mod { - return predicate.Mod(sql.FieldContains(FieldAiUseDisclosureType, v)) -} - -// AiUseDisclosureTypeHasPrefix applies the HasPrefix predicate on the "ai_use_disclosure_type" field. -func AiUseDisclosureTypeHasPrefix(v string) predicate.Mod { - return predicate.Mod(sql.FieldHasPrefix(FieldAiUseDisclosureType, v)) -} - -// AiUseDisclosureTypeHasSuffix applies the HasSuffix predicate on the "ai_use_disclosure_type" field. -func AiUseDisclosureTypeHasSuffix(v string) predicate.Mod { - return predicate.Mod(sql.FieldHasSuffix(FieldAiUseDisclosureType, v)) -} - -// AiUseDisclosureTypeIsNil applies the IsNil predicate on the "ai_use_disclosure_type" field. -func AiUseDisclosureTypeIsNil() predicate.Mod { - return predicate.Mod(sql.FieldIsNull(FieldAiUseDisclosureType)) -} - -// AiUseDisclosureTypeNotNil applies the NotNil predicate on the "ai_use_disclosure_type" field. -func AiUseDisclosureTypeNotNil() predicate.Mod { - return predicate.Mod(sql.FieldNotNull(FieldAiUseDisclosureType)) -} - -// AiUseDisclosureTypeEqualFold applies the EqualFold predicate on the "ai_use_disclosure_type" field. -func AiUseDisclosureTypeEqualFold(v string) predicate.Mod { - return predicate.Mod(sql.FieldEqualFold(FieldAiUseDisclosureType, v)) -} - -// AiUseDisclosureTypeContainsFold applies the ContainsFold predicate on the "ai_use_disclosure_type" field. -func AiUseDisclosureTypeContainsFold(v string) predicate.Mod { - return predicate.Mod(sql.FieldContainsFold(FieldAiUseDisclosureType, v)) -} - -// AiUseDisclosureEQ applies the EQ predicate on the "ai_use_disclosure" field. -func AiUseDisclosureEQ(v string) predicate.Mod { - return predicate.Mod(sql.FieldEQ(FieldAiUseDisclosure, v)) -} - -// AiUseDisclosureNEQ applies the NEQ predicate on the "ai_use_disclosure" field. -func AiUseDisclosureNEQ(v string) predicate.Mod { - return predicate.Mod(sql.FieldNEQ(FieldAiUseDisclosure, v)) -} - -// AiUseDisclosureIn applies the In predicate on the "ai_use_disclosure" field. -func AiUseDisclosureIn(vs ...string) predicate.Mod { - return predicate.Mod(sql.FieldIn(FieldAiUseDisclosure, vs...)) -} - -// AiUseDisclosureNotIn applies the NotIn predicate on the "ai_use_disclosure" field. -func AiUseDisclosureNotIn(vs ...string) predicate.Mod { - return predicate.Mod(sql.FieldNotIn(FieldAiUseDisclosure, vs...)) -} - -// AiUseDisclosureGT applies the GT predicate on the "ai_use_disclosure" field. -func AiUseDisclosureGT(v string) predicate.Mod { - return predicate.Mod(sql.FieldGT(FieldAiUseDisclosure, v)) -} - -// AiUseDisclosureGTE applies the GTE predicate on the "ai_use_disclosure" field. -func AiUseDisclosureGTE(v string) predicate.Mod { - return predicate.Mod(sql.FieldGTE(FieldAiUseDisclosure, v)) -} - -// AiUseDisclosureLT applies the LT predicate on the "ai_use_disclosure" field. -func AiUseDisclosureLT(v string) predicate.Mod { - return predicate.Mod(sql.FieldLT(FieldAiUseDisclosure, v)) -} - -// AiUseDisclosureLTE applies the LTE predicate on the "ai_use_disclosure" field. -func AiUseDisclosureLTE(v string) predicate.Mod { - return predicate.Mod(sql.FieldLTE(FieldAiUseDisclosure, v)) -} - -// AiUseDisclosureContains applies the Contains predicate on the "ai_use_disclosure" field. -func AiUseDisclosureContains(v string) predicate.Mod { - return predicate.Mod(sql.FieldContains(FieldAiUseDisclosure, v)) -} - -// AiUseDisclosureHasPrefix applies the HasPrefix predicate on the "ai_use_disclosure" field. -func AiUseDisclosureHasPrefix(v string) predicate.Mod { - return predicate.Mod(sql.FieldHasPrefix(FieldAiUseDisclosure, v)) -} - -// AiUseDisclosureHasSuffix applies the HasSuffix predicate on the "ai_use_disclosure" field. -func AiUseDisclosureHasSuffix(v string) predicate.Mod { - return predicate.Mod(sql.FieldHasSuffix(FieldAiUseDisclosure, v)) -} - // AiUseDisclosureIsNil applies the IsNil predicate on the "ai_use_disclosure" field. func AiUseDisclosureIsNil() predicate.Mod { return predicate.Mod(sql.FieldIsNull(FieldAiUseDisclosure)) @@ -1340,16 +1200,6 @@ func AiUseDisclosureNotNil() predicate.Mod { return predicate.Mod(sql.FieldNotNull(FieldAiUseDisclosure)) } -// AiUseDisclosureEqualFold applies the EqualFold predicate on the "ai_use_disclosure" field. -func AiUseDisclosureEqualFold(v string) predicate.Mod { - return predicate.Mod(sql.FieldEqualFold(FieldAiUseDisclosure, v)) -} - -// AiUseDisclosureContainsFold applies the ContainsFold predicate on the "ai_use_disclosure" field. -func AiUseDisclosureContainsFold(v string) predicate.Mod { - return predicate.Mod(sql.FieldContainsFold(FieldAiUseDisclosure, v)) -} - // ToggleExplicitContentEQ applies the EQ predicate on the "toggle_explicit_content" field. func ToggleExplicitContentEQ(v bool) predicate.Mod { return predicate.Mod(sql.FieldEQ(FieldToggleExplicitContent, v)) diff --git a/generated/ent/mod_create.go b/generated/ent/mod_create.go index 309dec48..2182606f 100644 --- a/generated/ent/mod_create.go +++ b/generated/ent/mod_create.go @@ -287,31 +287,9 @@ func (mc *ModCreate) SetNillableNetworkUseDisclosure(s *string) *ModCreate { return mc } -// SetAiUseDisclosureType sets the "ai_use_disclosure_type" field. -func (mc *ModCreate) SetAiUseDisclosureType(s string) *ModCreate { - mc.mutation.SetAiUseDisclosureType(s) - return mc -} - -// SetNillableAiUseDisclosureType sets the "ai_use_disclosure_type" field if the given value is not nil. -func (mc *ModCreate) SetNillableAiUseDisclosureType(s *string) *ModCreate { - if s != nil { - mc.SetAiUseDisclosureType(*s) - } - return mc -} - // SetAiUseDisclosure sets the "ai_use_disclosure" field. -func (mc *ModCreate) SetAiUseDisclosure(s string) *ModCreate { - mc.mutation.SetAiUseDisclosure(s) - return mc -} - -// SetNillableAiUseDisclosure sets the "ai_use_disclosure" field if the given value is not nil. -func (mc *ModCreate) SetNillableAiUseDisclosure(s *string) *ModCreate { - if s != nil { - mc.SetAiUseDisclosure(*s) - } +func (mc *ModCreate) SetAiUseDisclosure(uudi *util.AIUseDisclosureInfo) *ModCreate { + mc.mutation.SetAiUseDisclosure(uudi) return mc } @@ -689,12 +667,8 @@ func (mc *ModCreate) createSpec() (*Mod, *sqlgraph.CreateSpec) { _spec.SetField(mod.FieldNetworkUseDisclosure, field.TypeString, value) _node.NetworkUseDisclosure = &value } - if value, ok := mc.mutation.AiUseDisclosureType(); ok { - _spec.SetField(mod.FieldAiUseDisclosureType, field.TypeString, value) - _node.AiUseDisclosureType = value - } if value, ok := mc.mutation.AiUseDisclosure(); ok { - _spec.SetField(mod.FieldAiUseDisclosure, field.TypeString, value) + _spec.SetField(mod.FieldAiUseDisclosure, field.TypeJSON, value) _node.AiUseDisclosure = value } if value, ok := mc.mutation.ToggleExplicitContent(); ok { @@ -1139,26 +1113,8 @@ func (u *ModUpsert) ClearNetworkUseDisclosure() *ModUpsert { return u } -// SetAiUseDisclosureType sets the "ai_use_disclosure_type" field. -func (u *ModUpsert) SetAiUseDisclosureType(v string) *ModUpsert { - u.Set(mod.FieldAiUseDisclosureType, v) - return u -} - -// UpdateAiUseDisclosureType sets the "ai_use_disclosure_type" field to the value that was provided on create. -func (u *ModUpsert) UpdateAiUseDisclosureType() *ModUpsert { - u.SetExcluded(mod.FieldAiUseDisclosureType) - return u -} - -// ClearAiUseDisclosureType clears the value of the "ai_use_disclosure_type" field. -func (u *ModUpsert) ClearAiUseDisclosureType() *ModUpsert { - u.SetNull(mod.FieldAiUseDisclosureType) - return u -} - // SetAiUseDisclosure sets the "ai_use_disclosure" field. -func (u *ModUpsert) SetAiUseDisclosure(v string) *ModUpsert { +func (u *ModUpsert) SetAiUseDisclosure(v *util.AIUseDisclosureInfo) *ModUpsert { u.Set(mod.FieldAiUseDisclosure, v) return u } @@ -1609,29 +1565,8 @@ func (u *ModUpsertOne) ClearNetworkUseDisclosure() *ModUpsertOne { }) } -// SetAiUseDisclosureType sets the "ai_use_disclosure_type" field. -func (u *ModUpsertOne) SetAiUseDisclosureType(v string) *ModUpsertOne { - return u.Update(func(s *ModUpsert) { - s.SetAiUseDisclosureType(v) - }) -} - -// UpdateAiUseDisclosureType sets the "ai_use_disclosure_type" field to the value that was provided on create. -func (u *ModUpsertOne) UpdateAiUseDisclosureType() *ModUpsertOne { - return u.Update(func(s *ModUpsert) { - s.UpdateAiUseDisclosureType() - }) -} - -// ClearAiUseDisclosureType clears the value of the "ai_use_disclosure_type" field. -func (u *ModUpsertOne) ClearAiUseDisclosureType() *ModUpsertOne { - return u.Update(func(s *ModUpsert) { - s.ClearAiUseDisclosureType() - }) -} - // SetAiUseDisclosure sets the "ai_use_disclosure" field. -func (u *ModUpsertOne) SetAiUseDisclosure(v string) *ModUpsertOne { +func (u *ModUpsertOne) SetAiUseDisclosure(v *util.AIUseDisclosureInfo) *ModUpsertOne { return u.Update(func(s *ModUpsert) { s.SetAiUseDisclosure(v) }) @@ -2254,29 +2189,8 @@ func (u *ModUpsertBulk) ClearNetworkUseDisclosure() *ModUpsertBulk { }) } -// SetAiUseDisclosureType sets the "ai_use_disclosure_type" field. -func (u *ModUpsertBulk) SetAiUseDisclosureType(v string) *ModUpsertBulk { - return u.Update(func(s *ModUpsert) { - s.SetAiUseDisclosureType(v) - }) -} - -// UpdateAiUseDisclosureType sets the "ai_use_disclosure_type" field to the value that was provided on create. -func (u *ModUpsertBulk) UpdateAiUseDisclosureType() *ModUpsertBulk { - return u.Update(func(s *ModUpsert) { - s.UpdateAiUseDisclosureType() - }) -} - -// ClearAiUseDisclosureType clears the value of the "ai_use_disclosure_type" field. -func (u *ModUpsertBulk) ClearAiUseDisclosureType() *ModUpsertBulk { - return u.Update(func(s *ModUpsert) { - s.ClearAiUseDisclosureType() - }) -} - // SetAiUseDisclosure sets the "ai_use_disclosure" field. -func (u *ModUpsertBulk) SetAiUseDisclosure(v string) *ModUpsertBulk { +func (u *ModUpsertBulk) SetAiUseDisclosure(v *util.AIUseDisclosureInfo) *ModUpsertBulk { return u.Update(func(s *ModUpsert) { s.SetAiUseDisclosure(v) }) diff --git a/generated/ent/mod_update.go b/generated/ent/mod_update.go index 037643e3..0f3aa54d 100644 --- a/generated/ent/mod_update.go +++ b/generated/ent/mod_update.go @@ -381,37 +381,9 @@ func (mu *ModUpdate) ClearNetworkUseDisclosure() *ModUpdate { return mu } -// SetAiUseDisclosureType sets the "ai_use_disclosure_type" field. -func (mu *ModUpdate) SetAiUseDisclosureType(s string) *ModUpdate { - mu.mutation.SetAiUseDisclosureType(s) - return mu -} - -// SetNillableAiUseDisclosureType sets the "ai_use_disclosure_type" field if the given value is not nil. -func (mu *ModUpdate) SetNillableAiUseDisclosureType(s *string) *ModUpdate { - if s != nil { - mu.SetAiUseDisclosureType(*s) - } - return mu -} - -// ClearAiUseDisclosureType clears the value of the "ai_use_disclosure_type" field. -func (mu *ModUpdate) ClearAiUseDisclosureType() *ModUpdate { - mu.mutation.ClearAiUseDisclosureType() - return mu -} - // SetAiUseDisclosure sets the "ai_use_disclosure" field. -func (mu *ModUpdate) SetAiUseDisclosure(s string) *ModUpdate { - mu.mutation.SetAiUseDisclosure(s) - return mu -} - -// SetNillableAiUseDisclosure sets the "ai_use_disclosure" field if the given value is not nil. -func (mu *ModUpdate) SetNillableAiUseDisclosure(s *string) *ModUpdate { - if s != nil { - mu.SetAiUseDisclosure(*s) - } +func (mu *ModUpdate) SetAiUseDisclosure(uudi *util.AIUseDisclosureInfo) *ModUpdate { + mu.mutation.SetAiUseDisclosure(uudi) return mu } @@ -760,17 +732,11 @@ func (mu *ModUpdate) sqlSave(ctx context.Context) (n int, err error) { if mu.mutation.NetworkUseDisclosureCleared() { _spec.ClearField(mod.FieldNetworkUseDisclosure, field.TypeString) } - if value, ok := mu.mutation.AiUseDisclosureType(); ok { - _spec.SetField(mod.FieldAiUseDisclosureType, field.TypeString, value) - } - if mu.mutation.AiUseDisclosureTypeCleared() { - _spec.ClearField(mod.FieldAiUseDisclosureType, field.TypeString) - } if value, ok := mu.mutation.AiUseDisclosure(); ok { - _spec.SetField(mod.FieldAiUseDisclosure, field.TypeString, value) + _spec.SetField(mod.FieldAiUseDisclosure, field.TypeJSON, value) } if mu.mutation.AiUseDisclosureCleared() { - _spec.ClearField(mod.FieldAiUseDisclosure, field.TypeString) + _spec.ClearField(mod.FieldAiUseDisclosure, field.TypeJSON) } if value, ok := mu.mutation.ToggleExplicitContent(); ok { _spec.SetField(mod.FieldToggleExplicitContent, field.TypeBool, value) @@ -1337,37 +1303,9 @@ func (muo *ModUpdateOne) ClearNetworkUseDisclosure() *ModUpdateOne { return muo } -// SetAiUseDisclosureType sets the "ai_use_disclosure_type" field. -func (muo *ModUpdateOne) SetAiUseDisclosureType(s string) *ModUpdateOne { - muo.mutation.SetAiUseDisclosureType(s) - return muo -} - -// SetNillableAiUseDisclosureType sets the "ai_use_disclosure_type" field if the given value is not nil. -func (muo *ModUpdateOne) SetNillableAiUseDisclosureType(s *string) *ModUpdateOne { - if s != nil { - muo.SetAiUseDisclosureType(*s) - } - return muo -} - -// ClearAiUseDisclosureType clears the value of the "ai_use_disclosure_type" field. -func (muo *ModUpdateOne) ClearAiUseDisclosureType() *ModUpdateOne { - muo.mutation.ClearAiUseDisclosureType() - return muo -} - // SetAiUseDisclosure sets the "ai_use_disclosure" field. -func (muo *ModUpdateOne) SetAiUseDisclosure(s string) *ModUpdateOne { - muo.mutation.SetAiUseDisclosure(s) - return muo -} - -// SetNillableAiUseDisclosure sets the "ai_use_disclosure" field if the given value is not nil. -func (muo *ModUpdateOne) SetNillableAiUseDisclosure(s *string) *ModUpdateOne { - if s != nil { - muo.SetAiUseDisclosure(*s) - } +func (muo *ModUpdateOne) SetAiUseDisclosure(uudi *util.AIUseDisclosureInfo) *ModUpdateOne { + muo.mutation.SetAiUseDisclosure(uudi) return muo } @@ -1746,17 +1684,11 @@ func (muo *ModUpdateOne) sqlSave(ctx context.Context) (_node *Mod, err error) { if muo.mutation.NetworkUseDisclosureCleared() { _spec.ClearField(mod.FieldNetworkUseDisclosure, field.TypeString) } - if value, ok := muo.mutation.AiUseDisclosureType(); ok { - _spec.SetField(mod.FieldAiUseDisclosureType, field.TypeString, value) - } - if muo.mutation.AiUseDisclosureTypeCleared() { - _spec.ClearField(mod.FieldAiUseDisclosureType, field.TypeString) - } if value, ok := muo.mutation.AiUseDisclosure(); ok { - _spec.SetField(mod.FieldAiUseDisclosure, field.TypeString, value) + _spec.SetField(mod.FieldAiUseDisclosure, field.TypeJSON, value) } if muo.mutation.AiUseDisclosureCleared() { - _spec.ClearField(mod.FieldAiUseDisclosure, field.TypeString) + _spec.ClearField(mod.FieldAiUseDisclosure, field.TypeJSON) } if value, ok := muo.mutation.ToggleExplicitContent(); ok { _spec.SetField(mod.FieldToggleExplicitContent, field.TypeBool, value) diff --git a/generated/ent/mutation.go b/generated/ent/mutation.go index 1cad27f9..cf0701b7 100644 --- a/generated/ent/mutation.go +++ b/generated/ent/mutation.go @@ -1963,8 +1963,7 @@ type ModMutation struct { compatibility **util.CompatibilityInfo toggle_network_use *bool network_use_disclosure *string - ai_use_disclosure_type *string - ai_use_disclosure *string + ai_use_disclosure **util.AIUseDisclosureInfo toggle_explicit_content *bool clearedFields map[string]struct{} versions map[string]struct{} @@ -3051,62 +3050,13 @@ func (m *ModMutation) ResetNetworkUseDisclosure() { delete(m.clearedFields, mod.FieldNetworkUseDisclosure) } -// SetAiUseDisclosureType sets the "ai_use_disclosure_type" field. -func (m *ModMutation) SetAiUseDisclosureType(s string) { - m.ai_use_disclosure_type = &s -} - -// AiUseDisclosureType returns the value of the "ai_use_disclosure_type" field in the mutation. -func (m *ModMutation) AiUseDisclosureType() (r string, exists bool) { - v := m.ai_use_disclosure_type - if v == nil { - return - } - return *v, true -} - -// OldAiUseDisclosureType returns the old "ai_use_disclosure_type" field's value of the Mod entity. -// If the Mod object wasn't provided to the builder, the object is fetched from the database. -// An error is returned if the mutation operation is not UpdateOne, or the database query fails. -func (m *ModMutation) OldAiUseDisclosureType(ctx context.Context) (v string, err error) { - if !m.op.Is(OpUpdateOne) { - return v, errors.New("OldAiUseDisclosureType is only allowed on UpdateOne operations") - } - if m.id == nil || m.oldValue == nil { - return v, errors.New("OldAiUseDisclosureType requires an ID field in the mutation") - } - oldValue, err := m.oldValue(ctx) - if err != nil { - return v, fmt.Errorf("querying old value for OldAiUseDisclosureType: %w", err) - } - return oldValue.AiUseDisclosureType, nil -} - -// ClearAiUseDisclosureType clears the value of the "ai_use_disclosure_type" field. -func (m *ModMutation) ClearAiUseDisclosureType() { - m.ai_use_disclosure_type = nil - m.clearedFields[mod.FieldAiUseDisclosureType] = struct{}{} -} - -// AiUseDisclosureTypeCleared returns if the "ai_use_disclosure_type" field was cleared in this mutation. -func (m *ModMutation) AiUseDisclosureTypeCleared() bool { - _, ok := m.clearedFields[mod.FieldAiUseDisclosureType] - return ok -} - -// ResetAiUseDisclosureType resets all changes to the "ai_use_disclosure_type" field. -func (m *ModMutation) ResetAiUseDisclosureType() { - m.ai_use_disclosure_type = nil - delete(m.clearedFields, mod.FieldAiUseDisclosureType) -} - // SetAiUseDisclosure sets the "ai_use_disclosure" field. -func (m *ModMutation) SetAiUseDisclosure(s string) { - m.ai_use_disclosure = &s +func (m *ModMutation) SetAiUseDisclosure(uudi *util.AIUseDisclosureInfo) { + m.ai_use_disclosure = &uudi } // AiUseDisclosure returns the value of the "ai_use_disclosure" field in the mutation. -func (m *ModMutation) AiUseDisclosure() (r string, exists bool) { +func (m *ModMutation) AiUseDisclosure() (r *util.AIUseDisclosureInfo, exists bool) { v := m.ai_use_disclosure if v == nil { return @@ -3117,7 +3067,7 @@ func (m *ModMutation) AiUseDisclosure() (r string, exists bool) { // OldAiUseDisclosure returns the old "ai_use_disclosure" field's value of the Mod entity. // If the Mod object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. -func (m *ModMutation) OldAiUseDisclosure(ctx context.Context) (v string, err error) { +func (m *ModMutation) OldAiUseDisclosure(ctx context.Context) (v *util.AIUseDisclosureInfo, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldAiUseDisclosure is only allowed on UpdateOne operations") } @@ -3435,7 +3385,7 @@ func (m *ModMutation) Type() string { // order to get all numeric fields that were incremented/decremented, call // AddedFields(). func (m *ModMutation) Fields() []string { - fields := make([]string, 0, 25) + fields := make([]string, 0, 24) if m.created_at != nil { fields = append(fields, mod.FieldCreatedAt) } @@ -3502,9 +3452,6 @@ func (m *ModMutation) Fields() []string { if m.network_use_disclosure != nil { fields = append(fields, mod.FieldNetworkUseDisclosure) } - if m.ai_use_disclosure_type != nil { - fields = append(fields, mod.FieldAiUseDisclosureType) - } if m.ai_use_disclosure != nil { fields = append(fields, mod.FieldAiUseDisclosure) } @@ -3563,8 +3510,6 @@ func (m *ModMutation) Field(name string) (ent.Value, bool) { return m.ToggleNetworkUse() case mod.FieldNetworkUseDisclosure: return m.NetworkUseDisclosure() - case mod.FieldAiUseDisclosureType: - return m.AiUseDisclosureType() case mod.FieldAiUseDisclosure: return m.AiUseDisclosure() case mod.FieldToggleExplicitContent: @@ -3622,8 +3567,6 @@ func (m *ModMutation) OldField(ctx context.Context, name string) (ent.Value, err return m.OldToggleNetworkUse(ctx) case mod.FieldNetworkUseDisclosure: return m.OldNetworkUseDisclosure(ctx) - case mod.FieldAiUseDisclosureType: - return m.OldAiUseDisclosureType(ctx) case mod.FieldAiUseDisclosure: return m.OldAiUseDisclosure(ctx) case mod.FieldToggleExplicitContent: @@ -3791,15 +3734,8 @@ func (m *ModMutation) SetField(name string, value ent.Value) error { } m.SetNetworkUseDisclosure(v) return nil - case mod.FieldAiUseDisclosureType: - v, ok := value.(string) - if !ok { - return fmt.Errorf("unexpected type %T for field %s", value, name) - } - m.SetAiUseDisclosureType(v) - return nil case mod.FieldAiUseDisclosure: - v, ok := value.(string) + v, ok := value.(*util.AIUseDisclosureInfo) if !ok { return fmt.Errorf("unexpected type %T for field %s", value, name) } @@ -3914,9 +3850,6 @@ func (m *ModMutation) ClearedFields() []string { if m.FieldCleared(mod.FieldNetworkUseDisclosure) { fields = append(fields, mod.FieldNetworkUseDisclosure) } - if m.FieldCleared(mod.FieldAiUseDisclosureType) { - fields = append(fields, mod.FieldAiUseDisclosureType) - } if m.FieldCleared(mod.FieldAiUseDisclosure) { fields = append(fields, mod.FieldAiUseDisclosure) } @@ -3955,9 +3888,6 @@ func (m *ModMutation) ClearField(name string) error { case mod.FieldNetworkUseDisclosure: m.ClearNetworkUseDisclosure() return nil - case mod.FieldAiUseDisclosureType: - m.ClearAiUseDisclosureType() - return nil case mod.FieldAiUseDisclosure: m.ClearAiUseDisclosure() return nil @@ -4035,9 +3965,6 @@ func (m *ModMutation) ResetField(name string) error { case mod.FieldNetworkUseDisclosure: m.ResetNetworkUseDisclosure() return nil - case mod.FieldAiUseDisclosureType: - m.ResetAiUseDisclosureType() - return nil case mod.FieldAiUseDisclosure: m.ResetAiUseDisclosure() return nil diff --git a/generated/ent/runtime/runtime.go b/generated/ent/runtime/runtime.go index 2f1d0e22..b1daacfb 100644 --- a/generated/ent/runtime/runtime.go +++ b/generated/ent/runtime/runtime.go @@ -152,7 +152,7 @@ func init() { // mod.DefaultToggleNetworkUse holds the default value on creation for the toggle_network_use field. mod.DefaultToggleNetworkUse = modDescToggleNetworkUse.Default.(bool) // modDescToggleExplicitContent is the schema descriptor for toggle_explicit_content field. - modDescToggleExplicitContent := modFields[21].Descriptor() + modDescToggleExplicitContent := modFields[20].Descriptor() // mod.DefaultToggleExplicitContent holds the default value on creation for the toggle_explicit_content field. mod.DefaultToggleExplicitContent = modDescToggleExplicitContent.Default.(bool) // modDescID is the schema descriptor for id field. diff --git a/generated/generated.go b/generated/generated.go index c41fdabd..409635c2 100644 --- a/generated/generated.go +++ b/generated/generated.go @@ -73,6 +73,11 @@ type DirectiveRoot struct { } type ComplexityRoot struct { + AIUseDisclosureInfo struct { + DisclosureString func(childComplexity int) int + DisclosureType func(childComplexity int) int + } + Announcement struct { ID func(childComplexity int) int Importance func(childComplexity int) int @@ -156,7 +161,6 @@ type ComplexityRoot struct { Mod struct { AiUseDisclosure func(childComplexity int) int - AiUseDisclosureType func(childComplexity int) int Approved func(childComplexity int) int Authors func(childComplexity int) int Compatibility func(childComplexity int) int @@ -547,6 +551,20 @@ func (e *executableSchema) Complexity(ctx context.Context, typeName, field strin _ = ec switch typeName + "." + field { + case "AIUseDisclosureInfo.disclosure_string": + if e.complexity.AIUseDisclosureInfo.DisclosureString == nil { + break + } + + return e.complexity.AIUseDisclosureInfo.DisclosureString(childComplexity), true + + case "AIUseDisclosureInfo.disclosure_type": + if e.complexity.AIUseDisclosureInfo.DisclosureType == nil { + break + } + + return e.complexity.AIUseDisclosureInfo.DisclosureType(childComplexity), true + case "Announcement.id": if e.complexity.Announcement.ID == nil { break @@ -827,13 +845,6 @@ func (e *executableSchema) Complexity(ctx context.Context, typeName, field strin return e.complexity.Mod.AiUseDisclosure(childComplexity), true - case "Mod.ai_use_disclosure_type": - if e.complexity.Mod.AiUseDisclosureType == nil { - break - } - - return e.complexity.Mod.AiUseDisclosureType(childComplexity), true - case "Mod.approved": if e.complexity.Mod.Approved == nil { break @@ -2428,6 +2439,7 @@ func (e *executableSchema) Exec(ctx context.Context) graphql.ResponseHandler { opCtx := graphql.GetOperationContext(ctx) ec := executionContext{opCtx, e, 0, 0, make(chan graphql.DeferredResult)} inputUnmarshalMap := graphql.BuildUnmarshalerMap( + ec.unmarshalInputAIUseDisclosureInput, ec.unmarshalInputCompatibilityInfoInput, ec.unmarshalInputCompatibilityInput, ec.unmarshalInputControllerCompatibilityInput, @@ -2768,6 +2780,12 @@ enum ModFields { search } +enum AIUseDisclosureType { + no_ai_usage + ai_usage + runtime_ai_usage +} + type Mod { id: ModID! name: String! @@ -2791,8 +2809,7 @@ type Mod { compatibility: CompatibilityInfo toggle_network_use: Boolean! network_use_disclosure: String - ai_use_disclosure_type: String! - ai_use_disclosure: String + ai_use_disclosure: AIUseDisclosureInfo toggle_explicit_content: Boolean! authors: [UserMod!]! @@ -2817,6 +2834,11 @@ type ModVersion { versions: [Version!]! } +type AIUseDisclosureInfo { + disclosure_type: AIUseDisclosureType! + disclosure_string: String +} + ### Inputs input ModFilter { @@ -2842,8 +2864,7 @@ input NewMod { tagIDs: [TagID!] toggle_network_use: Boolean toggle_explicit_content: Boolean - ai_use_disclosure_type: String! - ai_use_disclosure: String + ai_use_disclosure: AIUseDisclosureInput } input UpdateMod { @@ -2859,8 +2880,7 @@ input UpdateMod { compatibility: CompatibilityInfoInput toggle_network_use: Boolean network_use_disclosure: String - ai_use_disclosure_type: String! - ai_use_disclosure: String + ai_use_disclosure: AIUseDisclosureInput toggle_explicit_content: Boolean } @@ -2874,6 +2894,11 @@ input ModVersionConstraint { version: String! } +input AIUseDisclosureInput { + disclosure_type: AIUseDisclosureType! + disclosure_string: String +} + ### Queries extend type Query { @@ -5767,6 +5792,91 @@ func (ec *executionContext) field___Type_fields_argsIncludeDeprecated( // region **************************** field.gotpl ***************************** +func (ec *executionContext) _AIUseDisclosureInfo_disclosure_type(ctx context.Context, field graphql.CollectedField, obj *AIUseDisclosureInfo) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_AIUseDisclosureInfo_disclosure_type(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.DisclosureType, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(AIUseDisclosureType) + fc.Result = res + return ec.marshalNAIUseDisclosureType2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAIUseDisclosureType(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_AIUseDisclosureInfo_disclosure_type(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "AIUseDisclosureInfo", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type AIUseDisclosureType does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _AIUseDisclosureInfo_disclosure_string(ctx context.Context, field graphql.CollectedField, obj *AIUseDisclosureInfo) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_AIUseDisclosureInfo_disclosure_string(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.DisclosureString, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_AIUseDisclosureInfo_disclosure_string(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "AIUseDisclosureInfo", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + func (ec *executionContext) _Announcement_id(ctx context.Context, field graphql.CollectedField, obj *Announcement) (ret graphql.Marshaler) { fc, err := ec.fieldContext_Announcement_id(ctx, field) if err != nil { @@ -6539,8 +6649,6 @@ func (ec *executionContext) fieldContext_GetMods_mods(_ context.Context, field g return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) - case "ai_use_disclosure_type": - return ec.fieldContext_Mod_ai_use_disclosure_type(ctx, field) case "ai_use_disclosure": return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) case "toggle_explicit_content": @@ -6687,8 +6795,6 @@ func (ec *executionContext) fieldContext_GetMyMods_mods(_ context.Context, field return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) - case "ai_use_disclosure_type": - return ec.fieldContext_Mod_ai_use_disclosure_type(ctx, field) case "ai_use_disclosure": return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) case "toggle_explicit_content": @@ -8899,50 +9005,6 @@ func (ec *executionContext) fieldContext_Mod_network_use_disclosure(_ context.Co return fc, nil } -func (ec *executionContext) _Mod_ai_use_disclosure_type(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_ai_use_disclosure_type(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.AiUseDisclosureType, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_ai_use_disclosure_type(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - func (ec *executionContext) _Mod_ai_use_disclosure(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { fc, err := ec.fieldContext_Mod_ai_use_disclosure(ctx, field) if err != nil { @@ -8966,9 +9028,9 @@ func (ec *executionContext) _Mod_ai_use_disclosure(ctx context.Context, field gr if resTmp == nil { return graphql.Null } - res := resTmp.(*string) + res := resTmp.(*AIUseDisclosureInfo) fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) + return ec.marshalOAIUseDisclosureInfo2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAIUseDisclosureInfo(ctx, field.Selections, res) } func (ec *executionContext) fieldContext_Mod_ai_use_disclosure(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { @@ -8978,7 +9040,13 @@ func (ec *executionContext) fieldContext_Mod_ai_use_disclosure(_ context.Context IsMethod: false, IsResolver: false, Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") + switch field.Name { + case "disclosure_type": + return ec.fieldContext_AIUseDisclosureInfo_disclosure_type(ctx, field) + case "disclosure_string": + return ec.fieldContext_AIUseDisclosureInfo_disclosure_string(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type AIUseDisclosureInfo", field.Name) }, } return fc, nil @@ -10411,8 +10479,6 @@ func (ec *executionContext) fieldContext_Mutation_createMod(ctx context.Context, return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) - case "ai_use_disclosure_type": - return ec.fieldContext_Mod_ai_use_disclosure_type(ctx, field) case "ai_use_disclosure": return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) case "toggle_explicit_content": @@ -10560,8 +10626,6 @@ func (ec *executionContext) fieldContext_Mutation_updateMod(ctx context.Context, return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) - case "ai_use_disclosure_type": - return ec.fieldContext_Mod_ai_use_disclosure_type(ctx, field) case "ai_use_disclosure": return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) case "toggle_explicit_content": @@ -13136,8 +13200,6 @@ func (ec *executionContext) fieldContext_Query_getMod(ctx context.Context, field return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) - case "ai_use_disclosure_type": - return ec.fieldContext_Mod_ai_use_disclosure_type(ctx, field) case "ai_use_disclosure": return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) case "toggle_explicit_content": @@ -13248,8 +13310,6 @@ func (ec *executionContext) fieldContext_Query_getModByReference(ctx context.Con return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) - case "ai_use_disclosure_type": - return ec.fieldContext_Mod_ai_use_disclosure_type(ctx, field) case "ai_use_disclosure": return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) case "toggle_explicit_content": @@ -13360,8 +13420,6 @@ func (ec *executionContext) fieldContext_Query_getModByIdOrReference(ctx context return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) - case "ai_use_disclosure_type": - return ec.fieldContext_Mod_ai_use_disclosure_type(ctx, field) case "ai_use_disclosure": return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) case "toggle_explicit_content": @@ -17151,8 +17209,6 @@ func (ec *executionContext) fieldContext_UserMod_mod(_ context.Context, field gr return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) - case "ai_use_disclosure_type": - return ec.fieldContext_Mod_ai_use_disclosure_type(ctx, field) case "ai_use_disclosure": return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) case "toggle_explicit_content": @@ -18402,8 +18458,6 @@ func (ec *executionContext) fieldContext_Version_mod(_ context.Context, field gr return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) - case "ai_use_disclosure_type": - return ec.fieldContext_Mod_ai_use_disclosure_type(ctx, field) case "ai_use_disclosure": return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) case "toggle_explicit_content": @@ -18843,8 +18897,6 @@ func (ec *executionContext) fieldContext_VersionDependency_mod(_ context.Context return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) - case "ai_use_disclosure_type": - return ec.fieldContext_Mod_ai_use_disclosure_type(ctx, field) case "ai_use_disclosure": return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) case "toggle_explicit_content": @@ -21414,6 +21466,40 @@ func (ec *executionContext) fieldContext___Type_isOneOf(_ context.Context, field // region **************************** input.gotpl ***************************** +func (ec *executionContext) unmarshalInputAIUseDisclosureInput(ctx context.Context, obj any) (AIUseDisclosureInput, error) { + var it AIUseDisclosureInput + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"disclosure_type", "disclosure_string"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "disclosure_type": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("disclosure_type")) + data, err := ec.unmarshalNAIUseDisclosureType2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAIUseDisclosureType(ctx, v) + if err != nil { + return it, err + } + it.DisclosureType = data + case "disclosure_string": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("disclosure_string")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.DisclosureString = data + } + } + + return it, nil +} + func (ec *executionContext) unmarshalInputCompatibilityInfoInput(ctx context.Context, obj any) (CompatibilityInfoInput, error) { var it CompatibilityInfoInput asMap := map[string]any{} @@ -21798,7 +21884,7 @@ func (ec *executionContext) unmarshalInputNewMod(ctx context.Context, obj any) ( asMap[k] = v } - fieldsInOrder := [...]string{"name", "short_description", "full_description", "logo", "source_url", "mod_reference", "hidden", "tagIDs", "toggle_network_use", "toggle_explicit_content", "ai_use_disclosure_type", "ai_use_disclosure"} + fieldsInOrder := [...]string{"name", "short_description", "full_description", "logo", "source_url", "mod_reference", "hidden", "tagIDs", "toggle_network_use", "toggle_explicit_content", "ai_use_disclosure"} for _, k := range fieldsInOrder { v, ok := asMap[k] if !ok { @@ -21875,16 +21961,9 @@ func (ec *executionContext) unmarshalInputNewMod(ctx context.Context, obj any) ( return it, err } it.ToggleExplicitContent = data - case "ai_use_disclosure_type": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("ai_use_disclosure_type")) - data, err := ec.unmarshalNString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it.AiUseDisclosureType = data case "ai_use_disclosure": ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("ai_use_disclosure")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) + data, err := ec.unmarshalOAIUseDisclosureInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAIUseDisclosureInput(ctx, v) if err != nil { return it, err } @@ -22203,7 +22282,7 @@ func (ec *executionContext) unmarshalInputUpdateMod(ctx context.Context, obj any asMap[k] = v } - fieldsInOrder := [...]string{"name", "short_description", "full_description", "logo", "source_url", "mod_reference", "authors", "hidden", "tagIDs", "compatibility", "toggle_network_use", "network_use_disclosure", "ai_use_disclosure_type", "ai_use_disclosure", "toggle_explicit_content"} + fieldsInOrder := [...]string{"name", "short_description", "full_description", "logo", "source_url", "mod_reference", "authors", "hidden", "tagIDs", "compatibility", "toggle_network_use", "network_use_disclosure", "ai_use_disclosure", "toggle_explicit_content"} for _, k := range fieldsInOrder { v, ok := asMap[k] if !ok { @@ -22294,16 +22373,9 @@ func (ec *executionContext) unmarshalInputUpdateMod(ctx context.Context, obj any return it, err } it.NetworkUseDisclosure = graphql.OmittableOf(data) - case "ai_use_disclosure_type": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("ai_use_disclosure_type")) - data, err := ec.unmarshalNString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it.AiUseDisclosureType = data case "ai_use_disclosure": ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("ai_use_disclosure")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) + data, err := ec.unmarshalOAIUseDisclosureInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAIUseDisclosureInput(ctx, v) if err != nil { return it, err } @@ -22558,6 +22630,47 @@ func (ec *executionContext) unmarshalInputVersionFilter(ctx context.Context, obj // region **************************** object.gotpl **************************** +var aIUseDisclosureInfoImplementors = []string{"AIUseDisclosureInfo"} + +func (ec *executionContext) _AIUseDisclosureInfo(ctx context.Context, sel ast.SelectionSet, obj *AIUseDisclosureInfo) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, aIUseDisclosureInfoImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("AIUseDisclosureInfo") + case "disclosure_type": + out.Values[i] = ec._AIUseDisclosureInfo_disclosure_type(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "disclosure_string": + out.Values[i] = ec._AIUseDisclosureInfo_disclosure_string(ctx, field, obj) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + var announcementImplementors = []string{"Announcement"} func (ec *executionContext) _Announcement(ctx context.Context, sel ast.SelectionSet, obj *Announcement) graphql.Marshaler { @@ -23711,11 +23824,6 @@ func (ec *executionContext) _Mod(ctx context.Context, sel ast.SelectionSet, obj } case "network_use_disclosure": out.Values[i] = ec._Mod_network_use_disclosure(ctx, field, obj) - case "ai_use_disclosure_type": - out.Values[i] = ec._Mod_ai_use_disclosure_type(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } case "ai_use_disclosure": out.Values[i] = ec._Mod_ai_use_disclosure(ctx, field, obj) case "toggle_explicit_content": @@ -26627,6 +26735,16 @@ func (ec *executionContext) ___Type(ctx context.Context, sel ast.SelectionSet, o // region ***************************** type.gotpl ***************************** +func (ec *executionContext) unmarshalNAIUseDisclosureType2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAIUseDisclosureType(ctx context.Context, v any) (AIUseDisclosureType, error) { + var res AIUseDisclosureType + err := res.UnmarshalGQL(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNAIUseDisclosureType2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAIUseDisclosureType(ctx context.Context, sel ast.SelectionSet, v AIUseDisclosureType) graphql.Marshaler { + return v +} + func (ec *executionContext) marshalNAnnouncement2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncement(ctx context.Context, sel ast.SelectionSet, v Announcement) graphql.Marshaler { return ec._Announcement(ctx, sel, &v) } @@ -27521,28 +27639,6 @@ func (ec *executionContext) marshalNString2ᚕstringᚄ(ctx context.Context, sel return ret } -func (ec *executionContext) unmarshalNString2ᚖstring(ctx context.Context, v any) (*string, error) { - res, err := graphql.UnmarshalString(v) - return &res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNString2ᚖstring(ctx context.Context, sel ast.SelectionSet, v *string) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - _ = sel - res := graphql.MarshalString(*v) - if res == graphql.Null { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - } - return res -} - func (ec *executionContext) marshalNTag2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTag(ctx context.Context, sel ast.SelectionSet, v Tag) graphql.Marshaler { return ec._Tag(ctx, sel, &v) } @@ -28359,6 +28455,21 @@ func (ec *executionContext) marshalN__TypeKind2string(ctx context.Context, sel a return res } +func (ec *executionContext) marshalOAIUseDisclosureInfo2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAIUseDisclosureInfo(ctx context.Context, sel ast.SelectionSet, v *AIUseDisclosureInfo) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return ec._AIUseDisclosureInfo(ctx, sel, v) +} + +func (ec *executionContext) unmarshalOAIUseDisclosureInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAIUseDisclosureInput(ctx context.Context, v any) (*AIUseDisclosureInput, error) { + if v == nil { + return nil, nil + } + res, err := ec.unmarshalInputAIUseDisclosureInput(ctx, v) + return &res, graphql.ErrorOnPath(ctx, err) +} + func (ec *executionContext) marshalOAnnouncement2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncement(ctx context.Context, sel ast.SelectionSet, v *Announcement) graphql.Marshaler { if v == nil { return graphql.Null diff --git a/generated/models_gen.go b/generated/models_gen.go index 74c3fec4..375c5b77 100644 --- a/generated/models_gen.go +++ b/generated/models_gen.go @@ -11,6 +11,16 @@ import ( "github.com/99designs/gqlgen/graphql" ) +type AIUseDisclosureInfo struct { + DisclosureType AIUseDisclosureType `json:"disclosure_type"` + DisclosureString *string `json:"disclosure_string,omitempty"` +} + +type AIUseDisclosureInput struct { + DisclosureType AIUseDisclosureType `json:"disclosure_type"` + DisclosureString *string `json:"disclosure_string,omitempty"` +} + type Announcement struct { ID string `json:"id"` Message string `json:"message"` @@ -109,35 +119,34 @@ type LatestVersions struct { } type Mod struct { - ID string `json:"id"` - Name string `json:"name"` - ShortDescription string `json:"short_description"` - FullDescription *string `json:"full_description,omitempty"` - Logo *string `json:"logo,omitempty"` - LogoThumbhash *string `json:"logo_thumbhash,omitempty"` - SourceURL *string `json:"source_url,omitempty"` - CreatorID string `json:"creator_id"` - Approved bool `json:"approved"` - Views int `json:"views"` - Downloads int `json:"downloads"` - Hotness int `json:"hotness"` - Popularity int `json:"popularity"` - UpdatedAt string `json:"updated_at"` - CreatedAt string `json:"created_at"` - LastVersionDate *string `json:"last_version_date,omitempty"` - ModReference string `json:"mod_reference"` - Hidden bool `json:"hidden"` - Tags []*Tag `json:"tags,omitempty"` - Compatibility *CompatibilityInfo `json:"compatibility,omitempty"` - ToggleNetworkUse bool `json:"toggle_network_use"` - NetworkUseDisclosure *string `json:"network_use_disclosure,omitempty"` - AiUseDisclosureType string `json:"ai_use_disclosure_type"` - AiUseDisclosure *string `json:"ai_use_disclosure,omitempty"` - ToggleExplicitContent bool `json:"toggle_explicit_content"` - Authors []*UserMod `json:"authors"` - Version *Version `json:"version,omitempty"` - Versions []*Version `json:"versions"` - LatestVersions *LatestVersions `json:"latestVersions"` + ID string `json:"id"` + Name string `json:"name"` + ShortDescription string `json:"short_description"` + FullDescription *string `json:"full_description,omitempty"` + Logo *string `json:"logo,omitempty"` + LogoThumbhash *string `json:"logo_thumbhash,omitempty"` + SourceURL *string `json:"source_url,omitempty"` + CreatorID string `json:"creator_id"` + Approved bool `json:"approved"` + Views int `json:"views"` + Downloads int `json:"downloads"` + Hotness int `json:"hotness"` + Popularity int `json:"popularity"` + UpdatedAt string `json:"updated_at"` + CreatedAt string `json:"created_at"` + LastVersionDate *string `json:"last_version_date,omitempty"` + ModReference string `json:"mod_reference"` + Hidden bool `json:"hidden"` + Tags []*Tag `json:"tags,omitempty"` + Compatibility *CompatibilityInfo `json:"compatibility,omitempty"` + ToggleNetworkUse bool `json:"toggle_network_use"` + NetworkUseDisclosure *string `json:"network_use_disclosure,omitempty"` + AiUseDisclosure *AIUseDisclosureInfo `json:"ai_use_disclosure,omitempty"` + ToggleExplicitContent bool `json:"toggle_explicit_content"` + Authors []*UserMod `json:"authors"` + Version *Version `json:"version,omitempty"` + Versions []*Version `json:"versions"` + LatestVersions *LatestVersions `json:"latestVersions"` } type ModVersion struct { @@ -354,6 +363,63 @@ type VirustotalResult struct { UpdatedAt *string `json:"updated_at,omitempty"` } +type AIUseDisclosureType string + +const ( + AIUseDisclosureTypeNoAiUsage AIUseDisclosureType = "no_ai_usage" + AIUseDisclosureTypeAiUsage AIUseDisclosureType = "ai_usage" + AIUseDisclosureTypeRuntimeAiUsage AIUseDisclosureType = "runtime_ai_usage" +) + +var AllAIUseDisclosureType = []AIUseDisclosureType{ + AIUseDisclosureTypeNoAiUsage, + AIUseDisclosureTypeAiUsage, + AIUseDisclosureTypeRuntimeAiUsage, +} + +func (e AIUseDisclosureType) IsValid() bool { + switch e { + case AIUseDisclosureTypeNoAiUsage, AIUseDisclosureTypeAiUsage, AIUseDisclosureTypeRuntimeAiUsage: + return true + } + return false +} + +func (e AIUseDisclosureType) String() string { + return string(e) +} + +func (e *AIUseDisclosureType) UnmarshalGQL(v any) error { + str, ok := v.(string) + if !ok { + return fmt.Errorf("enums must be strings") + } + + *e = AIUseDisclosureType(str) + if !e.IsValid() { + return fmt.Errorf("%s is not a valid AIUseDisclosureType", str) + } + return nil +} + +func (e AIUseDisclosureType) MarshalGQL(w io.Writer) { + fmt.Fprint(w, strconv.Quote(e.String())) +} + +func (e *AIUseDisclosureType) UnmarshalJSON(b []byte) error { + s, err := strconv.Unquote(string(b)) + if err != nil { + return err + } + return e.UnmarshalGQL(s) +} + +func (e AIUseDisclosureType) MarshalJSON() ([]byte, error) { + var buf bytes.Buffer + e.MarshalGQL(&buf) + return buf.Bytes(), nil +} + type AnnouncementImportance string const ( diff --git a/gql/gql_types.go b/gql/gql_types.go index fc9a1ea9..4bf3d600 100644 --- a/gql/gql_types.go +++ b/gql/gql_types.go @@ -31,3 +31,23 @@ func GenControllerCompToDBControllerComp(gen *generated.ControllerCompatibilityI SetINN(gen.Note, &r.Note) return r } + +func GenAIDisclosureInfoToDBAIDisclosureInfo(gen *generated.AIUseDisclosureInput) *util.AIUseDisclosureInfo { + if gen == nil { + return nil + } + + //DisclosureType AIUseDisclosureType + //DisclosureString string + /* + return &util.AIUseDisclosureInfo{ + DisclosureType: GenAIDTToDBAIDT(gen.DisclosureType), + DisclosureString: gen.DisclosureString, + } +*/ + r := &util.AIUseDisclosureInfo{ + DisclosureType: string(gen.DisclosureType), + } + SetINN(gen.DisclosureString, &r.DisclosureString) + return r +} \ No newline at end of file diff --git a/gql/gql_utils.go b/gql/gql_utils.go index 925f293f..26b1cf3d 100644 --- a/gql/gql_utils.go +++ b/gql/gql_utils.go @@ -25,6 +25,13 @@ func SetCompatibilityINNF[B any](value *generated.CompatibilityInfoInput, target target(GenCompInfoToDBCompInfo(value)) } +func SetAIDisclosureINNF[B any](value *generated.AIUseDisclosureInput, target func(*util.AIUseDisclosureInfo) B) { + if value == nil { + return + } + target(GenAIDisclosureInfoToDBAIDisclosureInfo(value)) +} + // SetINNF - Set if not null function func SetINNF[T any, B any](value *T, target func(T) B) { if value != nil { diff --git a/gql/resolver_mods.go b/gql/resolver_mods.go index 58c53924..4da7211c 100644 --- a/gql/resolver_mods.go +++ b/gql/resolver_mods.go @@ -81,8 +81,7 @@ func (r *mutationResolver) CreateMod(ctx context.Context, newMod generated.NewMo SetINNF(newMod.Hidden, dbMod.SetHidden) SetINNF(newMod.ToggleNetworkUse, dbMod.SetToggleNetworkUse) SetINNF(newMod.ToggleExplicitContent, dbMod.SetToggleExplicitContent) - SetINNF(newMod.AiUseDisclosureType, dbMod.SetAiUseDisclosureType) - SetINNF(newMod.AiUseDisclosure, dbMod.SetAiUseDisclosure) + SetAIDisclosureINNF(newMod.AiUseDisclosure, dbMod.SetAiUseDisclosure) user, _, err := db.UserFromGQLContext(ctx) if err != nil { @@ -190,8 +189,7 @@ func (r *mutationResolver) UpdateMod(ctx context.Context, modID string, updateMo SetINNF(updateMod.Hidden, dbUpdate.SetHidden) SetCompatibilityINNF(updateMod.Compatibility, dbUpdate.SetCompatibility) SetINNF(updateMod.ToggleNetworkUse, dbUpdate.SetToggleNetworkUse) - SetINNF(updateMod.AiUseDisclosureType, dbUpdate.SetAiUseDisclosureType) - SetINNF(updateMod.AiUseDisclosure, dbUpdate.SetAiUseDisclosure) + SetAIDisclosureINNF(updateMod.AiUseDisclosure, dbUpdate.SetAiUseDisclosure) newNetworkDisclosure, isSet := updateMod.NetworkUseDisclosure.ValueOK() if isSet { diff --git a/migrations/sql/000031_add_ai_disclosure.down.sql b/migrations/sql/000031_add_ai_disclosure.down.sql index 47f39f6c..3235961a 100644 --- a/migrations/sql/000031_add_ai_disclosure.down.sql +++ b/migrations/sql/000031_add_ai_disclosure.down.sql @@ -1,3 +1,2 @@ ALTER TABLE mods - DROP COLUMN ai_use_disclosure, - DROP COLUMN ai_use_disclosure_type; \ No newline at end of file + DROP COLUMN ai_use_disclosure \ No newline at end of file diff --git a/migrations/sql/000031_add_ai_disclosure.up.sql b/migrations/sql/000031_add_ai_disclosure.up.sql index 7bbfbc32..93475f2f 100644 --- a/migrations/sql/000031_add_ai_disclosure.up.sql +++ b/migrations/sql/000031_add_ai_disclosure.up.sql @@ -1,3 +1,2 @@ ALTER TABLE mods - ADD COLUMN ai_use_disclosure text, - ADD COLUMN ai_use_disclosure_type text; \ No newline at end of file + ADD COLUMN ai_use_disclosure jsonb \ No newline at end of file diff --git a/schemas/mod.graphql b/schemas/mod.graphql index af221cec..dd2a7c92 100755 --- a/schemas/mod.graphql +++ b/schemas/mod.graphql @@ -15,6 +15,12 @@ enum ModFields { search } +enum AIUseDisclosureType { + no_ai_usage + ai_usage + runtime_ai_usage +} + type Mod { id: ModID! name: String! @@ -38,8 +44,7 @@ type Mod { compatibility: CompatibilityInfo toggle_network_use: Boolean! network_use_disclosure: String - ai_use_disclosure_type: String! - ai_use_disclosure: String + ai_use_disclosure: AIUseDisclosureInfo toggle_explicit_content: Boolean! authors: [UserMod!]! @@ -64,6 +69,11 @@ type ModVersion { versions: [Version!]! } +type AIUseDisclosureInfo { + disclosure_type: AIUseDisclosureType! + disclosure_string: String +} + ### Inputs input ModFilter { @@ -89,8 +99,7 @@ input NewMod { tagIDs: [TagID!] toggle_network_use: Boolean toggle_explicit_content: Boolean - ai_use_disclosure_type: String! - ai_use_disclosure: String + ai_use_disclosure: AIUseDisclosureInput } input UpdateMod { @@ -106,8 +115,7 @@ input UpdateMod { compatibility: CompatibilityInfoInput toggle_network_use: Boolean network_use_disclosure: String - ai_use_disclosure_type: String! - ai_use_disclosure: String + ai_use_disclosure: AIUseDisclosureInput toggle_explicit_content: Boolean } @@ -121,6 +129,11 @@ input ModVersionConstraint { version: String! } +input AIUseDisclosureInput { + disclosure_type: AIUseDisclosureType! + disclosure_string: String +} + ### Queries extend type Query { diff --git a/util/db.go b/util/db.go index bcca1b85..511df960 100644 --- a/util/db.go +++ b/util/db.go @@ -26,3 +26,8 @@ type Compatibility struct { State string Note string } + +type AIUseDisclosureInfo struct { + DisclosureType string `gorm:"type:string" json:"DisclosureType"` + DisclosureString string `gorm:"type:string" json:"DisclosureString"` +} \ No newline at end of file diff --git a/workflows/versionupload/extract_mod_info.go b/workflows/versionupload/extract_mod_info.go index 0a5f91c8..7f74eb31 100644 --- a/workflows/versionupload/extract_mod_info.go +++ b/workflows/versionupload/extract_mod_info.go @@ -78,10 +78,6 @@ func (*A) ExtractModInfoActivity(ctx context.Context, args ExtractModInfoArgs) ( return nil, temporal.NewNonRetryableApplicationError("reusing the version name of a deleted mod version is not allowed", "fatal", nil) } - if mod.AiUseDisclosureType == "" { - return nil, temporal.NewNonRetryableApplicationError("ai use disclosure is required", "fatal", nil) - } - // Allow only new 5 versions per 24h versions, err := db.From(ctx).Version.Query(). Order(version2.ByCreatedAt(sql.OrderAsc())). From 8b51e897c05d26f991e16deefcd4977fb4e8efe0 Mon Sep 17 00:00:00 2001 From: rhit-silkaijr Date: Fri, 27 Mar 2026 15:45:15 -0400 Subject: [PATCH 048/100] Removing commented code --- gql/gql_types.go | 9 --------- 1 file changed, 9 deletions(-) diff --git a/gql/gql_types.go b/gql/gql_types.go index 4bf3d600..e75b6d30 100644 --- a/gql/gql_types.go +++ b/gql/gql_types.go @@ -36,15 +36,6 @@ func GenAIDisclosureInfoToDBAIDisclosureInfo(gen *generated.AIUseDisclosureInput if gen == nil { return nil } - - //DisclosureType AIUseDisclosureType - //DisclosureString string - /* - return &util.AIUseDisclosureInfo{ - DisclosureType: GenAIDTToDBAIDT(gen.DisclosureType), - DisclosureString: gen.DisclosureString, - } -*/ r := &util.AIUseDisclosureInfo{ DisclosureType: string(gen.DisclosureType), } From 8782799371213e3c1b8252d00066aed075def9ef Mon Sep 17 00:00:00 2001 From: Rob B Date: Tue, 31 Mar 2026 03:33:50 -0400 Subject: [PATCH 049/100] chore: mise run migrate_hash --- migrations/sql/atlas.sum | 86 ++++++++++++++++++++-------------------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/migrations/sql/atlas.sum b/migrations/sql/atlas.sum index e9c8f47a..ace337ec 100644 --- a/migrations/sql/atlas.sum +++ b/migrations/sql/atlas.sum @@ -1,43 +1,43 @@ -h1:RQ1QwkphZgnhGeC/UejmHfwWMmFPOVfICTBck8efcCc= -000001_create_initial_tables.up.sql h1:eALkiKdKPk4+PRs015wQKce0l5buzaQIwU8o2Ee9MH4= -000002_create_user_group_table.up.sql h1:lbhpvkwy073swwmvFfCmRN9Xbib3MAhfNx/A1czmiho= -000003_add_last_version_date_mod_table.up.sql h1:be83iHBYpXLRUm+wlET6GJSgTmTEpSSW9aWQesroOhE= -000004_add_more_oauth_options.up.sql h1:3e3eXcmwKXqEQ0foDeFc1RZr54iQbdJLylFfGL4IlgY= -000005_create_user_group_table.up.sql h1:FUEVlyh/017ER3NItEniPtyouKPPFFNVin6jKuOO9P8= -000006_sml_versions_table.up.sql h1:NFcnIrkTLVH7U3KYTghenuGtXBxUkULShyWxsyUmvvU= -000007_relationships.up.sql h1:/jYyGHk37I2WiAGZZrDjCskNKyd4z/e+vQAU0U78GtA= -000008_version_dependencies.up.sql h1:/m+95QDQ8Ifsmqb2mqgN5AFlahi7rNfvLF5tE2zahRw= -000009_bootstrap_versions_table.up.sql h1:9M2iF5uclsrQ2UFJVVJLS1C6qvl2MULYIBRVUNox9Qw= -000010_add_version_dependency_optional.up.sql h1:P8auDs4F1fDyottTkgTsg8VXnVLfqY5MRWIBv7I0C4w= -000011_add_mod_reference.up.sql h1:isrLJWetXEYXPpJUrgXrtoXFhMdGUEOSgPkVzDYJ8Dc= -000012_add_version_metadata.up.sql h1:6nSxmKSOc3Mh/CrG8u/0p2drcpGPp1oeFzYjU2o4kUY= -000013_add_version_mod_reference.up.sql h1:mAJLIJaleQ5LV7oa++H1aRR+bJXM+f+j9nhYaEHQuj0= -000014_add_version_split_hidden.up.sql h1:93XZVBAGSZzO6uSC4s4FnYaiUvxvWcF7U5ZljNeQNR8= -000015_enable_trgm.up.sql h1:P+/V9+tbg8360tjbUobwebQnzstCqBQfZi7Hjst6FtQ= -000016_add_user_groups_dates.up.sql h1:/uyoHsFRGxGR1A3tn+nCZfxXfVROOE/YPPP7mLvjsA4= -000017_add_version_indexes.up.sql h1:i2MtlvEnFJwUdkRKJSUXE/L8QYkLNWk2bI17GiWw4do= -000018_add_announcements.up.sql h1:O34449SeAEbKOL1fZ3zATU12lwYvs94l8q+7Exos70Y= -000019_add_tags.up.sql h1:j6kn0pcdq7iy49jFWvtH7EpXjUjLsKxx3BFMQ8Lw27Y= -000020_add_compatibility.up.sql h1:HzVpQKnQXPiGaANjSVRdXPsSwgoYqYTvBYKaaOp2/cE= -000021_add_mod_platform.up.sql h1:DtdL0wqaqDDOy2q2HRZQ9Evr2PekSb4YdIt4Jn6w4sM= -000022_update_mod_targets.up.sql h1:OcblXeFSlcsGrxteqCVEWLvH/p7ReDXU3JtT+oX0eHM= -000023_migrate_versions_to_targets.up.sql h1:KEn9N6MrhSuRYyL84HpUAm13D2Qjd/LBB5hV3BmOUX0= -000024_add_sml_engine_version.up.sql h1:7bti1EojYknXOgjB3aHdv66DRISdCL72w+FHrDHjJF8= -000025_add_tag_description.up.sql h1:aSWwcp4uXkcvOEMAz3Dy6ZNxxtv6Somv0E0gzLtHA1I= -000026_add_rng.up.sql h1:JHwFMXBMWyTmdQXJDPRIXx7NYGd38T/BX9GffnBXq1k= -000027_add_id_columns.up.sql h1:sqAPyeXrgNCBVAMnt1VsNmqwZmrZxV+rjUQBrs9P0jU= -000028_increase_token_length_limit.up.sql h1:d5p1luBDnA9YvxQUD4nHHa3DdxdCnXxmpn7QDb5z4Tc= -000029_sml_as_mod.up.sql h1:I2Xbvq3Pu/rm7WbQbm+O2nlmUbka7lqM9pbPGKZdGRk= -000030_db_normalization.up.sql h1:nb7WSjHx9l5HIAAk/asnIltT7Eovb8K6g8Vv/qFdYLY= -000031_add_ai_disclosure.up.sql h1:13bTvEaTmnUy/dssgxDv0hlMSYQ+tj3lQBnU5G9kaJg= -20240705180551_initial_transfer_to_atlas.up.sql h1:N1br1sM/DKaLIUZV23CYAcM+01LVYQHOsrV+IPF0v+Q= -20240815141045_drop_version_stability_enum.up.sql h1:0VHVwxumgt6yKhb35QjouLaH5ll3QpsZKlCdgqQfF2s= -20240818235330_index_fixes.up.sql h1:x4Mp+za/4DcXoGqskxV+7N9gH+cq2JEV0P9UFPOKwDc= -20240819092347_user_indexes.up.sql h1:/QYunICDXLZ9TfegS6MiOUOuUmwn91s5aM7Cz6835hQ= -20240823233610_add_mod_toggles.up.sql h1:vw7mT69ytQX8ZAwzeyQDA+hfOssRlqtQHnXxbhXq8qo= -20240826153722_add_thumbhash.up.sql h1:X7SCNbqNy5vArYOdV+S/Vt3/jX/Ozshqmch3Db/6/uU= -20240930114249_add_required_on_remote.up.sql h1:2vVApQ1kfoJg0ji/+dQKuAZpJ6NqslZkMAjEelC4vSo= -20241002191358_state_fix.up.sql h1:EsZ5PCu355fJ1bKh/gdbkPGg7m9OohkB4pYKnezDKYo= -20241003161005_create_virustotal_results_table.up.sql h1:6hzMN/6TdYpyofCRuR94nWuJMoHkaPSqScccn7na+Y4= -20241008092121_nullable_mod_logo.up.sql h1:IpUXaNgt2HhiPG28dLQgRDUmq+6pBS9pEFuC23RGtPk= -20250411023207_AddNetworkUsageDisclosure.up.sql h1:TkpXVeTr3LJEpUN9X/dEnGN/49GEo+A5xjGGUlZO6c8= +h1:LxCHvYeNKcfUukTgQckplRta6/yjow1BiMX6YW5zbaE= +000001_create_initial_tables.up.sql h1:D0NgABAZGONTBH9/T9MFCYkbw/LSee86lP4XsQYMx98= +000002_create_user_group_table.up.sql h1:+fOxjCFeU5GoVTO5cXzxWsMZtz2Qz3tal9vT5kdYuFI= +000003_add_last_version_date_mod_table.up.sql h1:t73i5gC2YrwlIcDn/MZmznGnArF0aA8dLYuA9NnVtbE= +000004_add_more_oauth_options.up.sql h1:UfHJiPBYFTjXHL17LQZ4ZgV/DVrghwDXNW8/RbODtaE= +000005_create_user_group_table.up.sql h1:EJZXV0bZqwqoVa6P6PmaolKRIYicgIsChRGggsiJ6lo= +000006_sml_versions_table.up.sql h1:5XDtXz2jQbdvo60fy5B5Ce8IjIv8ps3Ft24WhUCeJgg= +000007_relationships.up.sql h1:1WYFF1wqu0RkWwkWaNwb2A/oB9w9QPG5arrp0mT4WqE= +000008_version_dependencies.up.sql h1:N1z3vwv9inkKVLNsFif1At1UKAcAESxcfxJvkFOcSDs= +000009_bootstrap_versions_table.up.sql h1:w/1bXOeE/oXZCpWrBAZqHRZpeobofO2u4fYQvLu1oGg= +000010_add_version_dependency_optional.up.sql h1:9cHZYZ6TO05wvf0KCfl7+kZJLtLk3UDzF82AN1Hn7l0= +000011_add_mod_reference.up.sql h1:xGokeJASPuf5VnbehlA+fK8zHpevyeZG+r7u1z3tBrA= +000012_add_version_metadata.up.sql h1:redOIFgiRg6ggVs6tmxXvwxJS1xrCrqMdNFm/Buc5d0= +000013_add_version_mod_reference.up.sql h1:JgnH3EpwY4tulGYAlwVztW+eXG6Fh2/rHyDQm5mxfrk= +000014_add_version_split_hidden.up.sql h1:m8+Ai12K/ktPMD5vnKzTmf826pJfsICbQ1YcIruwO4U= +000015_enable_trgm.up.sql h1:K8lVS0W+1MVfuavMgRHplm8mTJowQojOj6zYux6QqHQ= +000016_add_user_groups_dates.up.sql h1:UyASdzLCBLFXhSFU5DkIznmy/2pIj8NeiL86oac0R7I= +000017_add_version_indexes.up.sql h1:n+BDJKAqvkp+z2faXsIgwNLwqMsSS307rKHCfUou4zQ= +000018_add_announcements.up.sql h1:X6OHBgP8fHQwcfRemioYD+CbipdZW5IzQiXwz2aCaK0= +000019_add_tags.up.sql h1:XStGF4N1GNGY2HTgY8YjpCTB7+V9mj431P5zSGJ3Ewo= +000020_add_compatibility.up.sql h1:Q4v3tPOH5xhFjxHkgxBz6zAsDieltsjM0s0WgrF9C8g= +000021_add_mod_platform.up.sql h1:Gzea7AIiEqsxWT6ti3ZtnzlwaHcx8U93uVY/+A9QJrc= +000022_update_mod_targets.up.sql h1:9VZrns7VPceKdEfhfchdbss3GBP+Ih7/SJjs+sA4UnM= +000023_migrate_versions_to_targets.up.sql h1:NytNFpV/ug5hxc6OM1RWvI+eJ3n1QFsERjWZ3dP3fig= +000024_add_sml_engine_version.up.sql h1:s1fzd/7sjyxtfFuh8bFbGCLTlZLjryMV6GHtJNnuTaY= +000025_add_tag_description.up.sql h1:7UdZZTJ70RJ+tA9M+EiVh+KqwwljYdPw27UQxrMedH8= +000026_add_rng.up.sql h1:y2Q8DUV27wx8/eKvTPduSU0RseM7wfCU79x1tvMmRY0= +000027_add_id_columns.up.sql h1:lILQ8le1eipNJuHuqKMaRK6RW8jBGpWOz8GDhiKEAIo= +000028_increase_token_length_limit.up.sql h1:U70DVHXY6f6vqwKxOQJzhnEZmYE5ML0+7Jc5Vh4tXb4= +000029_sml_as_mod.up.sql h1:e6Foai/N7l/zYvntn9+kNKGGPagGWYDaJ5X6XGse4lY= +000030_db_normalization.up.sql h1:rF0E/b2sF9jz3rzm1/1Ql0/TkMirgaj4w0jXTo65TMo= +000031_add_ai_disclosure.up.sql h1:Siw5fyq4umknLg07i6eZ0vL/aZo3zgMSMUbO2eajwg8= +20240705180551_initial_transfer_to_atlas.up.sql h1:X5RA/qg+7SR4DNbdcOXThA7hSwlglymip9576RBHFjM= +20240815141045_drop_version_stability_enum.up.sql h1:6HjZLoyD5QwABcDoqIlnp+Pk6gFtY59ocQVQjtBZgeY= +20240818235330_index_fixes.up.sql h1:oY4NH4kMD0dZkOq33NR1Qg3nkYkKs9q+t61a5UsYYQU= +20240819092347_user_indexes.up.sql h1:7Txs5qB6YmVM0sYKC7kinQkSkIgKnT/9mGnD8EJ+msM= +20240823233610_add_mod_toggles.up.sql h1:xaMh9z7iWYTlvC0JR/vQmbQkpOIPLoFHpKPr2iudrPo= +20240826153722_add_thumbhash.up.sql h1:CWFghCAx4Vre4+vGzvTnV4G0Y723Z0IC2dHPJ2wMUbA= +20240930114249_add_required_on_remote.up.sql h1:u/3RDwO37gIPee+lof1d5QRdVdAdpWp5Gj0Qu2t89vY= +20241002191358_state_fix.up.sql h1:OkjuDkSNBJRo/+cXiZDuPjt2bBTaFx1m7+TPsq+7/Dw= +20241003161005_create_virustotal_results_table.up.sql h1:7lEbuSM3kGiWfhtrwNNPFjHSqyyrvMcXipVyDY5q9SA= +20241008092121_nullable_mod_logo.up.sql h1:CcOIBVLyiGIRzWJ4Rv86HklOBiIO8lzHnXWuLE/xFDU= +20250411023207_AddNetworkUsageDisclosure.up.sql h1:p1WWXHTvdK5CNiTHpPudzFDWd2xdQp/xjuuqSbUJtLw= From 168fd68cf16df7105daf1a1d06fb0440576c6e99 Mon Sep 17 00:00:00 2001 From: Rob B Date: Tue, 31 Mar 2026 03:39:49 -0400 Subject: [PATCH 050/100] chore: mise run format --- generated/custom_models.go | 22 +++++++++++----------- gql/gql_types.go | 2 +- util/db.go | 4 ++-- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/generated/custom_models.go b/generated/custom_models.go index cba89755..f99847c5 100755 --- a/generated/custom_models.go +++ b/generated/custom_models.go @@ -3,16 +3,16 @@ package generated import "github.com/99designs/gqlgen/graphql" type NewMod struct { - Name string `json:"name" validate:"required,min=3,max=32"` - ShortDescription string `json:"short_description" validate:"required,min=16,max=128"` - FullDescription *string `json:"full_description"` - Logo *graphql.Upload `json:"logo"` - SourceURL *string `json:"source_url"` - ModReference string `json:"mod_reference"` - Hidden *bool `json:"hidden"` - TagIDs []string `json:"tagIDs" validate:"dive,min=3,max=24"` - ToggleNetworkUse *bool `json:"toggle_network_use"` - ToggleExplicitContent *bool `json:"toggle_explicit_content"` + Name string `json:"name" validate:"required,min=3,max=32"` + ShortDescription string `json:"short_description" validate:"required,min=16,max=128"` + FullDescription *string `json:"full_description"` + Logo *graphql.Upload `json:"logo"` + SourceURL *string `json:"source_url"` + ModReference string `json:"mod_reference"` + Hidden *bool `json:"hidden"` + TagIDs []string `json:"tagIDs" validate:"dive,min=3,max=24"` + ToggleNetworkUse *bool `json:"toggle_network_use"` + ToggleExplicitContent *bool `json:"toggle_explicit_content"` AiUseDisclosure *AIUseDisclosureInput `json:"ai_use_disclosure"` } @@ -30,5 +30,5 @@ type UpdateMod struct { ToggleNetworkUse *bool `json:"toggle_network_use"` NetworkUseDisclosure graphql.Omittable[*string] `json:"network_use_disclosure"` ToggleExplicitContent *bool `json:"toggle_explicit_content"` - AiUseDisclosure *AIUseDisclosureInput `json:"ai_use_disclosure"` + AiUseDisclosure *AIUseDisclosureInput `json:"ai_use_disclosure"` } diff --git a/gql/gql_types.go b/gql/gql_types.go index e75b6d30..ddcc3605 100644 --- a/gql/gql_types.go +++ b/gql/gql_types.go @@ -41,4 +41,4 @@ func GenAIDisclosureInfoToDBAIDisclosureInfo(gen *generated.AIUseDisclosureInput } SetINN(gen.DisclosureString, &r.DisclosureString) return r -} \ No newline at end of file +} diff --git a/util/db.go b/util/db.go index 511df960..6182c44c 100644 --- a/util/db.go +++ b/util/db.go @@ -28,6 +28,6 @@ type Compatibility struct { } type AIUseDisclosureInfo struct { - DisclosureType string `gorm:"type:string" json:"DisclosureType"` + DisclosureType string `gorm:"type:string" json:"DisclosureType"` DisclosureString string `gorm:"type:string" json:"DisclosureString"` -} \ No newline at end of file +} From c47ce296fa3e4909bd07c371189320c2a2c8463c Mon Sep 17 00:00:00 2001 From: rhit-zhangl8 <112708732+rhit-zhangl8@users.noreply.github.com> Date: Thu, 2 Apr 2026 16:26:11 -0400 Subject: [PATCH 051/100] feat: added backend check for constraints on ai use disclosure field --- generated/generated.go | 29201 ------------------------------ generated/models_gen.go | 1013 -- gql/resolver_mods.go | 1 - gql/resolver_versions.go | 8 + tests/ai_use_disclosure_test.go | 89 + 5 files changed, 97 insertions(+), 30215 deletions(-) delete mode 100644 generated/generated.go delete mode 100644 generated/models_gen.go create mode 100644 tests/ai_use_disclosure_test.go diff --git a/generated/generated.go b/generated/generated.go deleted file mode 100644 index 409635c2..00000000 --- a/generated/generated.go +++ /dev/null @@ -1,29201 +0,0 @@ -// Code generated by github.com/99designs/gqlgen, DO NOT EDIT. - -package generated - -import ( - "bytes" - "context" - "errors" - "fmt" - "strconv" - "sync" - "sync/atomic" - - "github.com/99designs/gqlgen/graphql" - "github.com/99designs/gqlgen/graphql/introspection" - gqlparser "github.com/vektah/gqlparser/v2" - "github.com/vektah/gqlparser/v2/ast" -) - -// region ************************** generated!.gotpl ************************** - -// NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface. -func NewExecutableSchema(cfg Config) graphql.ExecutableSchema { - return &executableSchema{ - schema: cfg.Schema, - resolvers: cfg.Resolvers, - directives: cfg.Directives, - complexity: cfg.Complexity, - } -} - -type Config struct { - Schema *ast.Schema - Resolvers ResolverRoot - Directives DirectiveRoot - Complexity ComplexityRoot -} - -type ResolverRoot interface { - GetGuides() GetGuidesResolver - GetMods() GetModsResolver - GetMyMods() GetMyModsResolver - GetMyVersions() GetMyVersionsResolver - GetSMLVersions() GetSMLVersionsResolver - GetVersions() GetVersionsResolver - Guide() GuideResolver - Mod() ModResolver - Mutation() MutationResolver - Query() QueryResolver - SMLVersion() SMLVersionResolver - SMLVersionTarget() SMLVersionTargetResolver - User() UserResolver - UserMod() UserModResolver - Version() VersionResolver - VersionDependency() VersionDependencyResolver - VersionTarget() VersionTargetResolver -} - -type DirectiveRoot struct { - CanApproveMods func(ctx context.Context, obj any, next graphql.Resolver) (res any, err error) - CanApproveVersions func(ctx context.Context, obj any, next graphql.Resolver) (res any, err error) - CanEditAnnouncements func(ctx context.Context, obj any, next graphql.Resolver) (res any, err error) - CanEditGuide func(ctx context.Context, obj any, next graphql.Resolver, field string) (res any, err error) - CanEditMod func(ctx context.Context, obj any, next graphql.Resolver, field string) (res any, err error) - CanEditModCompatibility func(ctx context.Context, obj any, next graphql.Resolver, field *string) (res any, err error) - CanEditSatisfactoryVersions func(ctx context.Context, obj any, next graphql.Resolver) (res any, err error) - CanEditUser func(ctx context.Context, obj any, next graphql.Resolver, field string, object bool) (res any, err error) - CanEditUsers func(ctx context.Context, obj any, next graphql.Resolver) (res any, err error) - CanEditVersion func(ctx context.Context, obj any, next graphql.Resolver, field string) (res any, err error) - CanManageTags func(ctx context.Context, obj any, next graphql.Resolver) (res any, err error) - IsLoggedIn func(ctx context.Context, obj any, next graphql.Resolver) (res any, err error) - IsNotLoggedIn func(ctx context.Context, obj any, next graphql.Resolver) (res any, err error) -} - -type ComplexityRoot struct { - AIUseDisclosureInfo struct { - DisclosureString func(childComplexity int) int - DisclosureType func(childComplexity int) int - } - - Announcement struct { - ID func(childComplexity int) int - Importance func(childComplexity int) int - Message func(childComplexity int) int - } - - Compatibility struct { - Note func(childComplexity int) int - State func(childComplexity int) int - } - - CompatibilityInfo struct { - Controller func(childComplexity int) int - Ea func(childComplexity int) int - Exp func(childComplexity int) int - } - - ControllerCompatibility struct { - Note func(childComplexity int) int - State func(childComplexity int) int - } - - CreateVersionResponse struct { - AutoApproved func(childComplexity int) int - Version func(childComplexity int) int - } - - GetGuides struct { - Count func(childComplexity int) int - Guides func(childComplexity int) int - } - - GetMods struct { - Count func(childComplexity int) int - Mods func(childComplexity int) int - } - - GetMyMods struct { - Count func(childComplexity int) int - Mods func(childComplexity int) int - } - - GetMyVersions struct { - Count func(childComplexity int) int - Versions func(childComplexity int) int - } - - GetSMLVersions struct { - Count func(childComplexity int) int - SmlVersions func(childComplexity int) int - } - - GetVersions struct { - Count func(childComplexity int) int - Versions func(childComplexity int) int - } - - Group struct { - ID func(childComplexity int) int - Name func(childComplexity int) int - } - - Guide struct { - CreatedAt func(childComplexity int) int - Guide func(childComplexity int) int - ID func(childComplexity int) int - Name func(childComplexity int) int - ShortDescription func(childComplexity int) int - Tags func(childComplexity int) int - UpdatedAt func(childComplexity int) int - User func(childComplexity int) int - UserID func(childComplexity int) int - Views func(childComplexity int) int - } - - LatestVersions struct { - Alpha func(childComplexity int) int - Beta func(childComplexity int) int - Release func(childComplexity int) int - } - - Mod struct { - AiUseDisclosure func(childComplexity int) int - Approved func(childComplexity int) int - Authors func(childComplexity int) int - Compatibility func(childComplexity int) int - CreatedAt func(childComplexity int) int - CreatorID func(childComplexity int) int - Downloads func(childComplexity int) int - FullDescription func(childComplexity int) int - Hidden func(childComplexity int) int - Hotness func(childComplexity int) int - ID func(childComplexity int) int - LastVersionDate func(childComplexity int) int - LatestVersions func(childComplexity int) int - Logo func(childComplexity int) int - LogoThumbhash func(childComplexity int) int - ModReference func(childComplexity int) int - Name func(childComplexity int) int - NetworkUseDisclosure func(childComplexity int) int - Popularity func(childComplexity int) int - ShortDescription func(childComplexity int) int - SourceURL func(childComplexity int) int - Tags func(childComplexity int) int - ToggleExplicitContent func(childComplexity int) int - ToggleNetworkUse func(childComplexity int) int - UpdatedAt func(childComplexity int) int - Version func(childComplexity int, version string) int - Versions func(childComplexity int, filter map[string]interface{}) int - Views func(childComplexity int) int - } - - ModVersion struct { - ID func(childComplexity int) int - ModReference func(childComplexity int) int - Versions func(childComplexity int) int - } - - Mutation struct { - ApproveMod func(childComplexity int, modID string) int - ApproveVersion func(childComplexity int, versionID string) int - CreateAnnouncement func(childComplexity int, announcement NewAnnouncement) int - CreateGuide func(childComplexity int, guide NewGuide) int - CreateMod func(childComplexity int, mod NewMod) int - CreateMultipleTags func(childComplexity int, tagNames []*NewTag) int - CreateSatisfactoryVersion func(childComplexity int, input NewSatisfactoryVersion) int - CreateTag func(childComplexity int, tagName string, description string) int - CreateVersion func(childComplexity int, modID string) int - DeleteAnnouncement func(childComplexity int, announcementID string) int - DeleteGuide func(childComplexity int, guideID string) int - DeleteMod func(childComplexity int, modID string) int - DeleteSatisfactoryVersion func(childComplexity int, id string) int - DeleteTag func(childComplexity int, tagID string) int - DeleteVersion func(childComplexity int, versionID string) int - DenyMod func(childComplexity int, modID string) int - DenyVersion func(childComplexity int, versionID string) int - DiscourseSso func(childComplexity int, sso string, sig string) int - FinalizeCreateVersion func(childComplexity int, modID string, versionID string, version NewVersion) int - Logout func(childComplexity int) int - OAuthFacebook func(childComplexity int, code string, state string) int - OAuthGithub func(childComplexity int, code string, state string) int - OAuthGoogle func(childComplexity int, code string, state string) int - UpdateAnnouncement func(childComplexity int, announcementID string, announcement UpdateAnnouncement) int - UpdateGuide func(childComplexity int, guideID string, guide UpdateGuide) int - UpdateMod func(childComplexity int, modID string, mod UpdateMod) int - UpdateModCompatibility func(childComplexity int, modID string, compatibility CompatibilityInfoInput) int - UpdateMultipleModCompatibilities func(childComplexity int, modIDs []string, compatibility CompatibilityInfoInput) int - UpdateSatisfactoryVersion func(childComplexity int, id string, input UpdateSatisfactoryVersion) int - UpdateTag func(childComplexity int, tagID string, newName string, description string) int - UpdateUser func(childComplexity int, userID string, input UpdateUser) int - UpdateVersion func(childComplexity int, versionID string, version UpdateVersion) int - UploadVersionPart func(childComplexity int, modID string, versionID string, part int, file graphql.Upload) int - } - - OAuthOptions struct { - Facebook func(childComplexity int) int - Github func(childComplexity int) int - Google func(childComplexity int) int - } - - Query struct { - CheckVersionUploadState func(childComplexity int, modID string, versionID string) int - GetAnnouncement func(childComplexity int, announcementID string) int - GetAnnouncements func(childComplexity int) int - GetAnnouncementsByImportance func(childComplexity int, importance AnnouncementImportance) int - GetGuide func(childComplexity int, guideID string) int - GetGuides func(childComplexity int, filter map[string]interface{}) int - GetMe func(childComplexity int) int - GetMod func(childComplexity int, modID string) int - GetModAssetList func(childComplexity int, modReference string) int - GetModByIDOrReference func(childComplexity int, modIDOrReference string) int - GetModByReference func(childComplexity int, modReference string) int - GetMods func(childComplexity int, filter map[string]interface{}) int - GetMyMods func(childComplexity int, filter map[string]interface{}) int - GetMyUnapprovedMods func(childComplexity int, filter map[string]interface{}) int - GetMyUnapprovedVersions func(childComplexity int, filter map[string]interface{}) int - GetMyVersions func(childComplexity int, filter map[string]interface{}) int - GetOAuthOptions func(childComplexity int, callbackURL string) int - GetSMLVersion func(childComplexity int, smlVersionID string) int - GetSMLVersions func(childComplexity int, filter map[string]interface{}) int - GetSatisfactoryVersion func(childComplexity int, id string) int - GetSatisfactoryVersions func(childComplexity int) int - GetTag func(childComplexity int, tagID string) int - GetTags func(childComplexity int, filter *TagFilter) int - GetUnapprovedMods func(childComplexity int, filter map[string]interface{}) int - GetUnapprovedVersions func(childComplexity int, filter map[string]interface{}) int - GetUser func(childComplexity int, userID string) int - GetUsers func(childComplexity int, userIds []string) int - GetVersion func(childComplexity int, versionID string) int - GetVersions func(childComplexity int, filter map[string]interface{}) int - ResolveModVersions func(childComplexity int, filter []*ModVersionConstraint) int - } - - SMLVersion struct { - BootstrapVersion func(childComplexity int) int - Changelog func(childComplexity int) int - CreatedAt func(childComplexity int) int - Date func(childComplexity int) int - EngineVersion func(childComplexity int) int - ID func(childComplexity int) int - Link func(childComplexity int) int - SatisfactoryVersion func(childComplexity int) int - Stability func(childComplexity int) int - Targets func(childComplexity int) int - UpdatedAt func(childComplexity int) int - Version func(childComplexity int) int - } - - SMLVersionTarget struct { - Link func(childComplexity int) int - TargetName func(childComplexity int) int - VersionID func(childComplexity int) int - } - - SatisfactoryVersion struct { - EngineVersion func(childComplexity int) int - ID func(childComplexity int) int - Version func(childComplexity int) int - } - - Tag struct { - Description func(childComplexity int) int - ID func(childComplexity int) int - Name func(childComplexity int) int - } - - User struct { - Avatar func(childComplexity int) int - AvatarThumbhash func(childComplexity int) int - CreatedAt func(childComplexity int) int - Email func(childComplexity int) int - FacebookID func(childComplexity int) int - GithubID func(childComplexity int) int - GoogleID func(childComplexity int) int - Groups func(childComplexity int) int - Guides func(childComplexity int) int - ID func(childComplexity int) int - Mods func(childComplexity int) int - Roles func(childComplexity int) int - Username func(childComplexity int) int - } - - UserMod struct { - Mod func(childComplexity int) int - ModID func(childComplexity int) int - Role func(childComplexity int) int - User func(childComplexity int) int - UserID func(childComplexity int) int - } - - UserRoles struct { - ApproveMods func(childComplexity int) int - ApproveVersions func(childComplexity int) int - DeleteContent func(childComplexity int) int - EditAnyModCompatibility func(childComplexity int) int - EditBootstrapVersions func(childComplexity int) int - EditContent func(childComplexity int) int - EditSatisfactoryVersions func(childComplexity int) int - EditUsers func(childComplexity int) int - } - - UserSession struct { - Token func(childComplexity int) int - } - - Version struct { - Approved func(childComplexity int) int - Changelog func(childComplexity int) int - CreatedAt func(childComplexity int) int - Dependencies func(childComplexity int) int - Downloads func(childComplexity int) int - GameVersion func(childComplexity int) int - Hash func(childComplexity int) int - ID func(childComplexity int) int - Link func(childComplexity int) int - Metadata func(childComplexity int) int - Mod func(childComplexity int) int - ModID func(childComplexity int) int - RequiredOnRemote func(childComplexity int) int - Size func(childComplexity int) int - SmlVersion func(childComplexity int) int - Stability func(childComplexity int) int - Targets func(childComplexity int) int - UpdatedAt func(childComplexity int) int - Version func(childComplexity int) int - VirustotalResults func(childComplexity int) int - } - - VersionDependency struct { - Condition func(childComplexity int) int - Mod func(childComplexity int) int - ModID func(childComplexity int) int - ModReference func(childComplexity int) int - Optional func(childComplexity int) int - Version func(childComplexity int) int - VersionID func(childComplexity int) int - } - - VersionTarget struct { - Hash func(childComplexity int) int - Link func(childComplexity int) int - Size func(childComplexity int) int - TargetName func(childComplexity int) int - VersionID func(childComplexity int) int - } - - VirustotalResult struct { - CreatedAt func(childComplexity int) int - FileName func(childComplexity int) int - Hash func(childComplexity int) int - ID func(childComplexity int) int - Safe func(childComplexity int) int - UpdatedAt func(childComplexity int) int - VersionID func(childComplexity int) int - } -} - -type GetGuidesResolver interface { - Guides(ctx context.Context, obj *GetGuides) ([]*Guide, error) - Count(ctx context.Context, obj *GetGuides) (int, error) -} -type GetModsResolver interface { - Mods(ctx context.Context, obj *GetMods) ([]*Mod, error) - Count(ctx context.Context, obj *GetMods) (int, error) -} -type GetMyModsResolver interface { - Mods(ctx context.Context, obj *GetMyMods) ([]*Mod, error) - Count(ctx context.Context, obj *GetMyMods) (int, error) -} -type GetMyVersionsResolver interface { - Versions(ctx context.Context, obj *GetMyVersions) ([]*Version, error) - Count(ctx context.Context, obj *GetMyVersions) (int, error) -} -type GetSMLVersionsResolver interface { - SmlVersions(ctx context.Context, obj *GetSMLVersions) ([]*SMLVersion, error) - Count(ctx context.Context, obj *GetSMLVersions) (int, error) -} -type GetVersionsResolver interface { - Versions(ctx context.Context, obj *GetVersions) ([]*Version, error) - Count(ctx context.Context, obj *GetVersions) (int, error) -} -type GuideResolver interface { - User(ctx context.Context, obj *Guide) (*User, error) -} -type ModResolver interface { - Authors(ctx context.Context, obj *Mod) ([]*UserMod, error) - Version(ctx context.Context, obj *Mod, version string) (*Version, error) - Versions(ctx context.Context, obj *Mod, filter map[string]interface{}) ([]*Version, error) - LatestVersions(ctx context.Context, obj *Mod) (*LatestVersions, error) -} -type MutationResolver interface { - DiscourseSso(ctx context.Context, sso string, sig string) (*string, error) - CreateAnnouncement(ctx context.Context, announcement NewAnnouncement) (*Announcement, error) - UpdateAnnouncement(ctx context.Context, announcementID string, announcement UpdateAnnouncement) (*Announcement, error) - DeleteAnnouncement(ctx context.Context, announcementID string) (bool, error) - UpdateModCompatibility(ctx context.Context, modID string, compatibility CompatibilityInfoInput) (bool, error) - UpdateMultipleModCompatibilities(ctx context.Context, modIDs []string, compatibility CompatibilityInfoInput) (bool, error) - CreateGuide(ctx context.Context, guide NewGuide) (*Guide, error) - UpdateGuide(ctx context.Context, guideID string, guide UpdateGuide) (*Guide, error) - DeleteGuide(ctx context.Context, guideID string) (bool, error) - CreateMod(ctx context.Context, mod NewMod) (*Mod, error) - UpdateMod(ctx context.Context, modID string, mod UpdateMod) (*Mod, error) - DeleteMod(ctx context.Context, modID string) (bool, error) - ApproveMod(ctx context.Context, modID string) (bool, error) - DenyMod(ctx context.Context, modID string) (bool, error) - CreateSatisfactoryVersion(ctx context.Context, input NewSatisfactoryVersion) (*SatisfactoryVersion, error) - UpdateSatisfactoryVersion(ctx context.Context, id string, input UpdateSatisfactoryVersion) (*SatisfactoryVersion, error) - DeleteSatisfactoryVersion(ctx context.Context, id string) (bool, error) - CreateTag(ctx context.Context, tagName string, description string) (*Tag, error) - CreateMultipleTags(ctx context.Context, tagNames []*NewTag) ([]*Tag, error) - UpdateTag(ctx context.Context, tagID string, newName string, description string) (*Tag, error) - DeleteTag(ctx context.Context, tagID string) (bool, error) - UpdateUser(ctx context.Context, userID string, input UpdateUser) (*User, error) - Logout(ctx context.Context) (bool, error) - OAuthGithub(ctx context.Context, code string, state string) (*UserSession, error) - OAuthGoogle(ctx context.Context, code string, state string) (*UserSession, error) - OAuthFacebook(ctx context.Context, code string, state string) (*UserSession, error) - CreateVersion(ctx context.Context, modID string) (string, error) - UploadVersionPart(ctx context.Context, modID string, versionID string, part int, file graphql.Upload) (bool, error) - FinalizeCreateVersion(ctx context.Context, modID string, versionID string, version NewVersion) (bool, error) - UpdateVersion(ctx context.Context, versionID string, version UpdateVersion) (*Version, error) - DeleteVersion(ctx context.Context, versionID string) (bool, error) - ApproveVersion(ctx context.Context, versionID string) (bool, error) - DenyVersion(ctx context.Context, versionID string) (bool, error) -} -type QueryResolver interface { - GetOAuthOptions(ctx context.Context, callbackURL string) (*OAuthOptions, error) - GetAnnouncement(ctx context.Context, announcementID string) (*Announcement, error) - GetAnnouncements(ctx context.Context) ([]*Announcement, error) - GetAnnouncementsByImportance(ctx context.Context, importance AnnouncementImportance) ([]*Announcement, error) - GetGuide(ctx context.Context, guideID string) (*Guide, error) - GetGuides(ctx context.Context, filter map[string]interface{}) (*GetGuides, error) - GetMod(ctx context.Context, modID string) (*Mod, error) - GetModByReference(ctx context.Context, modReference string) (*Mod, error) - GetModByIDOrReference(ctx context.Context, modIDOrReference string) (*Mod, error) - GetMods(ctx context.Context, filter map[string]interface{}) (*GetMods, error) - GetUnapprovedMods(ctx context.Context, filter map[string]interface{}) (*GetMods, error) - GetMyMods(ctx context.Context, filter map[string]interface{}) (*GetMyMods, error) - GetMyUnapprovedMods(ctx context.Context, filter map[string]interface{}) (*GetMyMods, error) - ResolveModVersions(ctx context.Context, filter []*ModVersionConstraint) ([]*ModVersion, error) - GetModAssetList(ctx context.Context, modReference string) ([]string, error) - GetSatisfactoryVersions(ctx context.Context) ([]*SatisfactoryVersion, error) - GetSatisfactoryVersion(ctx context.Context, id string) (*SatisfactoryVersion, error) - GetSMLVersion(ctx context.Context, smlVersionID string) (*SMLVersion, error) - GetSMLVersions(ctx context.Context, filter map[string]interface{}) (*GetSMLVersions, error) - GetTag(ctx context.Context, tagID string) (*Tag, error) - GetTags(ctx context.Context, filter *TagFilter) ([]*Tag, error) - GetMe(ctx context.Context) (*User, error) - GetUser(ctx context.Context, userID string) (*User, error) - GetUsers(ctx context.Context, userIds []string) ([]*User, error) - GetVersion(ctx context.Context, versionID string) (*Version, error) - GetVersions(ctx context.Context, filter map[string]interface{}) (*GetVersions, error) - GetUnapprovedVersions(ctx context.Context, filter map[string]interface{}) (*GetVersions, error) - CheckVersionUploadState(ctx context.Context, modID string, versionID string) (*CreateVersionResponse, error) - GetMyVersions(ctx context.Context, filter map[string]interface{}) (*GetMyVersions, error) - GetMyUnapprovedVersions(ctx context.Context, filter map[string]interface{}) (*GetMyVersions, error) -} -type SMLVersionResolver interface { - Link(ctx context.Context, obj *SMLVersion) (string, error) - - BootstrapVersion(ctx context.Context, obj *SMLVersion) (*string, error) - EngineVersion(ctx context.Context, obj *SMLVersion) (string, error) -} -type SMLVersionTargetResolver interface { - Link(ctx context.Context, obj *SMLVersionTarget) (string, error) -} -type UserResolver interface { - Roles(ctx context.Context, obj *User) (*UserRoles, error) - Groups(ctx context.Context, obj *User) ([]*Group, error) - Mods(ctx context.Context, obj *User) ([]*UserMod, error) - Guides(ctx context.Context, obj *User) ([]*Guide, error) -} -type UserModResolver interface { - User(ctx context.Context, obj *UserMod) (*User, error) - Mod(ctx context.Context, obj *UserMod) (*Mod, error) -} -type VersionResolver interface { - SmlVersion(ctx context.Context, obj *Version) (string, error) - - Link(ctx context.Context, obj *Version) (string, error) - - Size(ctx context.Context, obj *Version) (*int, error) - Hash(ctx context.Context, obj *Version) (*string, error) - Mod(ctx context.Context, obj *Version) (*Mod, error) - Dependencies(ctx context.Context, obj *Version) ([]*VersionDependency, error) - VirustotalResults(ctx context.Context, obj *Version) ([]*VirustotalResult, error) -} -type VersionDependencyResolver interface { - Mod(ctx context.Context, obj *VersionDependency) (*Mod, error) -} -type VersionTargetResolver interface { - Link(ctx context.Context, obj *VersionTarget) (string, error) -} - -type executableSchema struct { - schema *ast.Schema - resolvers ResolverRoot - directives DirectiveRoot - complexity ComplexityRoot -} - -func (e *executableSchema) Schema() *ast.Schema { - if e.schema != nil { - return e.schema - } - return parsedSchema -} - -func (e *executableSchema) Complexity(ctx context.Context, typeName, field string, childComplexity int, rawArgs map[string]any) (int, bool) { - ec := executionContext{nil, e, 0, 0, nil} - _ = ec - switch typeName + "." + field { - - case "AIUseDisclosureInfo.disclosure_string": - if e.complexity.AIUseDisclosureInfo.DisclosureString == nil { - break - } - - return e.complexity.AIUseDisclosureInfo.DisclosureString(childComplexity), true - - case "AIUseDisclosureInfo.disclosure_type": - if e.complexity.AIUseDisclosureInfo.DisclosureType == nil { - break - } - - return e.complexity.AIUseDisclosureInfo.DisclosureType(childComplexity), true - - case "Announcement.id": - if e.complexity.Announcement.ID == nil { - break - } - - return e.complexity.Announcement.ID(childComplexity), true - - case "Announcement.importance": - if e.complexity.Announcement.Importance == nil { - break - } - - return e.complexity.Announcement.Importance(childComplexity), true - - case "Announcement.message": - if e.complexity.Announcement.Message == nil { - break - } - - return e.complexity.Announcement.Message(childComplexity), true - - case "Compatibility.note": - if e.complexity.Compatibility.Note == nil { - break - } - - return e.complexity.Compatibility.Note(childComplexity), true - - case "Compatibility.state": - if e.complexity.Compatibility.State == nil { - break - } - - return e.complexity.Compatibility.State(childComplexity), true - - case "CompatibilityInfo.Controller": - if e.complexity.CompatibilityInfo.Controller == nil { - break - } - - return e.complexity.CompatibilityInfo.Controller(childComplexity), true - - case "CompatibilityInfo.EA": - if e.complexity.CompatibilityInfo.Ea == nil { - break - } - - return e.complexity.CompatibilityInfo.Ea(childComplexity), true - - case "CompatibilityInfo.EXP": - if e.complexity.CompatibilityInfo.Exp == nil { - break - } - - return e.complexity.CompatibilityInfo.Exp(childComplexity), true - - case "ControllerCompatibility.note": - if e.complexity.ControllerCompatibility.Note == nil { - break - } - - return e.complexity.ControllerCompatibility.Note(childComplexity), true - - case "ControllerCompatibility.state": - if e.complexity.ControllerCompatibility.State == nil { - break - } - - return e.complexity.ControllerCompatibility.State(childComplexity), true - - case "CreateVersionResponse.auto_approved": - if e.complexity.CreateVersionResponse.AutoApproved == nil { - break - } - - return e.complexity.CreateVersionResponse.AutoApproved(childComplexity), true - - case "CreateVersionResponse.version": - if e.complexity.CreateVersionResponse.Version == nil { - break - } - - return e.complexity.CreateVersionResponse.Version(childComplexity), true - - case "GetGuides.count": - if e.complexity.GetGuides.Count == nil { - break - } - - return e.complexity.GetGuides.Count(childComplexity), true - - case "GetGuides.guides": - if e.complexity.GetGuides.Guides == nil { - break - } - - return e.complexity.GetGuides.Guides(childComplexity), true - - case "GetMods.count": - if e.complexity.GetMods.Count == nil { - break - } - - return e.complexity.GetMods.Count(childComplexity), true - - case "GetMods.mods": - if e.complexity.GetMods.Mods == nil { - break - } - - return e.complexity.GetMods.Mods(childComplexity), true - - case "GetMyMods.count": - if e.complexity.GetMyMods.Count == nil { - break - } - - return e.complexity.GetMyMods.Count(childComplexity), true - - case "GetMyMods.mods": - if e.complexity.GetMyMods.Mods == nil { - break - } - - return e.complexity.GetMyMods.Mods(childComplexity), true - - case "GetMyVersions.count": - if e.complexity.GetMyVersions.Count == nil { - break - } - - return e.complexity.GetMyVersions.Count(childComplexity), true - - case "GetMyVersions.versions": - if e.complexity.GetMyVersions.Versions == nil { - break - } - - return e.complexity.GetMyVersions.Versions(childComplexity), true - - case "GetSMLVersions.count": - if e.complexity.GetSMLVersions.Count == nil { - break - } - - return e.complexity.GetSMLVersions.Count(childComplexity), true - - case "GetSMLVersions.sml_versions": - if e.complexity.GetSMLVersions.SmlVersions == nil { - break - } - - return e.complexity.GetSMLVersions.SmlVersions(childComplexity), true - - case "GetVersions.count": - if e.complexity.GetVersions.Count == nil { - break - } - - return e.complexity.GetVersions.Count(childComplexity), true - - case "GetVersions.versions": - if e.complexity.GetVersions.Versions == nil { - break - } - - return e.complexity.GetVersions.Versions(childComplexity), true - - case "Group.id": - if e.complexity.Group.ID == nil { - break - } - - return e.complexity.Group.ID(childComplexity), true - - case "Group.name": - if e.complexity.Group.Name == nil { - break - } - - return e.complexity.Group.Name(childComplexity), true - - case "Guide.created_at": - if e.complexity.Guide.CreatedAt == nil { - break - } - - return e.complexity.Guide.CreatedAt(childComplexity), true - - case "Guide.guide": - if e.complexity.Guide.Guide == nil { - break - } - - return e.complexity.Guide.Guide(childComplexity), true - - case "Guide.id": - if e.complexity.Guide.ID == nil { - break - } - - return e.complexity.Guide.ID(childComplexity), true - - case "Guide.name": - if e.complexity.Guide.Name == nil { - break - } - - return e.complexity.Guide.Name(childComplexity), true - - case "Guide.short_description": - if e.complexity.Guide.ShortDescription == nil { - break - } - - return e.complexity.Guide.ShortDescription(childComplexity), true - - case "Guide.tags": - if e.complexity.Guide.Tags == nil { - break - } - - return e.complexity.Guide.Tags(childComplexity), true - - case "Guide.updated_at": - if e.complexity.Guide.UpdatedAt == nil { - break - } - - return e.complexity.Guide.UpdatedAt(childComplexity), true - - case "Guide.user": - if e.complexity.Guide.User == nil { - break - } - - return e.complexity.Guide.User(childComplexity), true - - case "Guide.user_id": - if e.complexity.Guide.UserID == nil { - break - } - - return e.complexity.Guide.UserID(childComplexity), true - - case "Guide.views": - if e.complexity.Guide.Views == nil { - break - } - - return e.complexity.Guide.Views(childComplexity), true - - case "LatestVersions.alpha": - if e.complexity.LatestVersions.Alpha == nil { - break - } - - return e.complexity.LatestVersions.Alpha(childComplexity), true - - case "LatestVersions.beta": - if e.complexity.LatestVersions.Beta == nil { - break - } - - return e.complexity.LatestVersions.Beta(childComplexity), true - - case "LatestVersions.release": - if e.complexity.LatestVersions.Release == nil { - break - } - - return e.complexity.LatestVersions.Release(childComplexity), true - - case "Mod.ai_use_disclosure": - if e.complexity.Mod.AiUseDisclosure == nil { - break - } - - return e.complexity.Mod.AiUseDisclosure(childComplexity), true - - case "Mod.approved": - if e.complexity.Mod.Approved == nil { - break - } - - return e.complexity.Mod.Approved(childComplexity), true - - case "Mod.authors": - if e.complexity.Mod.Authors == nil { - break - } - - return e.complexity.Mod.Authors(childComplexity), true - - case "Mod.compatibility": - if e.complexity.Mod.Compatibility == nil { - break - } - - return e.complexity.Mod.Compatibility(childComplexity), true - - case "Mod.created_at": - if e.complexity.Mod.CreatedAt == nil { - break - } - - return e.complexity.Mod.CreatedAt(childComplexity), true - - case "Mod.creator_id": - if e.complexity.Mod.CreatorID == nil { - break - } - - return e.complexity.Mod.CreatorID(childComplexity), true - - case "Mod.downloads": - if e.complexity.Mod.Downloads == nil { - break - } - - return e.complexity.Mod.Downloads(childComplexity), true - - case "Mod.full_description": - if e.complexity.Mod.FullDescription == nil { - break - } - - return e.complexity.Mod.FullDescription(childComplexity), true - - case "Mod.hidden": - if e.complexity.Mod.Hidden == nil { - break - } - - return e.complexity.Mod.Hidden(childComplexity), true - - case "Mod.hotness": - if e.complexity.Mod.Hotness == nil { - break - } - - return e.complexity.Mod.Hotness(childComplexity), true - - case "Mod.id": - if e.complexity.Mod.ID == nil { - break - } - - return e.complexity.Mod.ID(childComplexity), true - - case "Mod.last_version_date": - if e.complexity.Mod.LastVersionDate == nil { - break - } - - return e.complexity.Mod.LastVersionDate(childComplexity), true - - case "Mod.latestVersions": - if e.complexity.Mod.LatestVersions == nil { - break - } - - return e.complexity.Mod.LatestVersions(childComplexity), true - - case "Mod.logo": - if e.complexity.Mod.Logo == nil { - break - } - - return e.complexity.Mod.Logo(childComplexity), true - - case "Mod.logo_thumbhash": - if e.complexity.Mod.LogoThumbhash == nil { - break - } - - return e.complexity.Mod.LogoThumbhash(childComplexity), true - - case "Mod.mod_reference": - if e.complexity.Mod.ModReference == nil { - break - } - - return e.complexity.Mod.ModReference(childComplexity), true - - case "Mod.name": - if e.complexity.Mod.Name == nil { - break - } - - return e.complexity.Mod.Name(childComplexity), true - - case "Mod.network_use_disclosure": - if e.complexity.Mod.NetworkUseDisclosure == nil { - break - } - - return e.complexity.Mod.NetworkUseDisclosure(childComplexity), true - - case "Mod.popularity": - if e.complexity.Mod.Popularity == nil { - break - } - - return e.complexity.Mod.Popularity(childComplexity), true - - case "Mod.short_description": - if e.complexity.Mod.ShortDescription == nil { - break - } - - return e.complexity.Mod.ShortDescription(childComplexity), true - - case "Mod.source_url": - if e.complexity.Mod.SourceURL == nil { - break - } - - return e.complexity.Mod.SourceURL(childComplexity), true - - case "Mod.tags": - if e.complexity.Mod.Tags == nil { - break - } - - return e.complexity.Mod.Tags(childComplexity), true - - case "Mod.toggle_explicit_content": - if e.complexity.Mod.ToggleExplicitContent == nil { - break - } - - return e.complexity.Mod.ToggleExplicitContent(childComplexity), true - - case "Mod.toggle_network_use": - if e.complexity.Mod.ToggleNetworkUse == nil { - break - } - - return e.complexity.Mod.ToggleNetworkUse(childComplexity), true - - case "Mod.updated_at": - if e.complexity.Mod.UpdatedAt == nil { - break - } - - return e.complexity.Mod.UpdatedAt(childComplexity), true - - case "Mod.version": - if e.complexity.Mod.Version == nil { - break - } - - args, err := ec.field_Mod_version_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mod.Version(childComplexity, args["version"].(string)), true - - case "Mod.versions": - if e.complexity.Mod.Versions == nil { - break - } - - args, err := ec.field_Mod_versions_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mod.Versions(childComplexity, args["filter"].(map[string]interface{})), true - - case "Mod.views": - if e.complexity.Mod.Views == nil { - break - } - - return e.complexity.Mod.Views(childComplexity), true - - case "ModVersion.id": - if e.complexity.ModVersion.ID == nil { - break - } - - return e.complexity.ModVersion.ID(childComplexity), true - - case "ModVersion.mod_reference": - if e.complexity.ModVersion.ModReference == nil { - break - } - - return e.complexity.ModVersion.ModReference(childComplexity), true - - case "ModVersion.versions": - if e.complexity.ModVersion.Versions == nil { - break - } - - return e.complexity.ModVersion.Versions(childComplexity), true - - case "Mutation.approveMod": - if e.complexity.Mutation.ApproveMod == nil { - break - } - - args, err := ec.field_Mutation_approveMod_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.ApproveMod(childComplexity, args["modId"].(string)), true - - case "Mutation.approveVersion": - if e.complexity.Mutation.ApproveVersion == nil { - break - } - - args, err := ec.field_Mutation_approveVersion_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.ApproveVersion(childComplexity, args["versionId"].(string)), true - - case "Mutation.createAnnouncement": - if e.complexity.Mutation.CreateAnnouncement == nil { - break - } - - args, err := ec.field_Mutation_createAnnouncement_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.CreateAnnouncement(childComplexity, args["announcement"].(NewAnnouncement)), true - - case "Mutation.createGuide": - if e.complexity.Mutation.CreateGuide == nil { - break - } - - args, err := ec.field_Mutation_createGuide_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.CreateGuide(childComplexity, args["guide"].(NewGuide)), true - - case "Mutation.createMod": - if e.complexity.Mutation.CreateMod == nil { - break - } - - args, err := ec.field_Mutation_createMod_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.CreateMod(childComplexity, args["mod"].(NewMod)), true - - case "Mutation.createMultipleTags": - if e.complexity.Mutation.CreateMultipleTags == nil { - break - } - - args, err := ec.field_Mutation_createMultipleTags_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.CreateMultipleTags(childComplexity, args["tagNames"].([]*NewTag)), true - - case "Mutation.createSatisfactoryVersion": - if e.complexity.Mutation.CreateSatisfactoryVersion == nil { - break - } - - args, err := ec.field_Mutation_createSatisfactoryVersion_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.CreateSatisfactoryVersion(childComplexity, args["input"].(NewSatisfactoryVersion)), true - - case "Mutation.createTag": - if e.complexity.Mutation.CreateTag == nil { - break - } - - args, err := ec.field_Mutation_createTag_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.CreateTag(childComplexity, args["tagName"].(string), args["description"].(string)), true - - case "Mutation.createVersion": - if e.complexity.Mutation.CreateVersion == nil { - break - } - - args, err := ec.field_Mutation_createVersion_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.CreateVersion(childComplexity, args["modId"].(string)), true - - case "Mutation.deleteAnnouncement": - if e.complexity.Mutation.DeleteAnnouncement == nil { - break - } - - args, err := ec.field_Mutation_deleteAnnouncement_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.DeleteAnnouncement(childComplexity, args["announcementId"].(string)), true - - case "Mutation.deleteGuide": - if e.complexity.Mutation.DeleteGuide == nil { - break - } - - args, err := ec.field_Mutation_deleteGuide_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.DeleteGuide(childComplexity, args["guideId"].(string)), true - - case "Mutation.deleteMod": - if e.complexity.Mutation.DeleteMod == nil { - break - } - - args, err := ec.field_Mutation_deleteMod_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.DeleteMod(childComplexity, args["modId"].(string)), true - - case "Mutation.deleteSatisfactoryVersion": - if e.complexity.Mutation.DeleteSatisfactoryVersion == nil { - break - } - - args, err := ec.field_Mutation_deleteSatisfactoryVersion_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.DeleteSatisfactoryVersion(childComplexity, args["id"].(string)), true - - case "Mutation.deleteTag": - if e.complexity.Mutation.DeleteTag == nil { - break - } - - args, err := ec.field_Mutation_deleteTag_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.DeleteTag(childComplexity, args["tagID"].(string)), true - - case "Mutation.deleteVersion": - if e.complexity.Mutation.DeleteVersion == nil { - break - } - - args, err := ec.field_Mutation_deleteVersion_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.DeleteVersion(childComplexity, args["versionId"].(string)), true - - case "Mutation.denyMod": - if e.complexity.Mutation.DenyMod == nil { - break - } - - args, err := ec.field_Mutation_denyMod_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.DenyMod(childComplexity, args["modId"].(string)), true - - case "Mutation.denyVersion": - if e.complexity.Mutation.DenyVersion == nil { - break - } - - args, err := ec.field_Mutation_denyVersion_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.DenyVersion(childComplexity, args["versionId"].(string)), true - - case "Mutation.discourseSSO": - if e.complexity.Mutation.DiscourseSso == nil { - break - } - - args, err := ec.field_Mutation_discourseSSO_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.DiscourseSso(childComplexity, args["sso"].(string), args["sig"].(string)), true - - case "Mutation.finalizeCreateVersion": - if e.complexity.Mutation.FinalizeCreateVersion == nil { - break - } - - args, err := ec.field_Mutation_finalizeCreateVersion_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.FinalizeCreateVersion(childComplexity, args["modId"].(string), args["versionId"].(string), args["version"].(NewVersion)), true - - case "Mutation.logout": - if e.complexity.Mutation.Logout == nil { - break - } - - return e.complexity.Mutation.Logout(childComplexity), true - - case "Mutation.oAuthFacebook": - if e.complexity.Mutation.OAuthFacebook == nil { - break - } - - args, err := ec.field_Mutation_oAuthFacebook_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.OAuthFacebook(childComplexity, args["code"].(string), args["state"].(string)), true - - case "Mutation.oAuthGithub": - if e.complexity.Mutation.OAuthGithub == nil { - break - } - - args, err := ec.field_Mutation_oAuthGithub_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.OAuthGithub(childComplexity, args["code"].(string), args["state"].(string)), true - - case "Mutation.oAuthGoogle": - if e.complexity.Mutation.OAuthGoogle == nil { - break - } - - args, err := ec.field_Mutation_oAuthGoogle_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.OAuthGoogle(childComplexity, args["code"].(string), args["state"].(string)), true - - case "Mutation.updateAnnouncement": - if e.complexity.Mutation.UpdateAnnouncement == nil { - break - } - - args, err := ec.field_Mutation_updateAnnouncement_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.UpdateAnnouncement(childComplexity, args["announcementId"].(string), args["announcement"].(UpdateAnnouncement)), true - - case "Mutation.updateGuide": - if e.complexity.Mutation.UpdateGuide == nil { - break - } - - args, err := ec.field_Mutation_updateGuide_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.UpdateGuide(childComplexity, args["guideId"].(string), args["guide"].(UpdateGuide)), true - - case "Mutation.updateMod": - if e.complexity.Mutation.UpdateMod == nil { - break - } - - args, err := ec.field_Mutation_updateMod_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.UpdateMod(childComplexity, args["modId"].(string), args["mod"].(UpdateMod)), true - - case "Mutation.updateModCompatibility": - if e.complexity.Mutation.UpdateModCompatibility == nil { - break - } - - args, err := ec.field_Mutation_updateModCompatibility_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.UpdateModCompatibility(childComplexity, args["modId"].(string), args["compatibility"].(CompatibilityInfoInput)), true - - case "Mutation.updateMultipleModCompatibilities": - if e.complexity.Mutation.UpdateMultipleModCompatibilities == nil { - break - } - - args, err := ec.field_Mutation_updateMultipleModCompatibilities_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.UpdateMultipleModCompatibilities(childComplexity, args["modIDs"].([]string), args["compatibility"].(CompatibilityInfoInput)), true - - case "Mutation.updateSatisfactoryVersion": - if e.complexity.Mutation.UpdateSatisfactoryVersion == nil { - break - } - - args, err := ec.field_Mutation_updateSatisfactoryVersion_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.UpdateSatisfactoryVersion(childComplexity, args["id"].(string), args["input"].(UpdateSatisfactoryVersion)), true - - case "Mutation.updateTag": - if e.complexity.Mutation.UpdateTag == nil { - break - } - - args, err := ec.field_Mutation_updateTag_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.UpdateTag(childComplexity, args["tagID"].(string), args["NewName"].(string), args["description"].(string)), true - - case "Mutation.updateUser": - if e.complexity.Mutation.UpdateUser == nil { - break - } - - args, err := ec.field_Mutation_updateUser_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.UpdateUser(childComplexity, args["userId"].(string), args["input"].(UpdateUser)), true - - case "Mutation.updateVersion": - if e.complexity.Mutation.UpdateVersion == nil { - break - } - - args, err := ec.field_Mutation_updateVersion_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.UpdateVersion(childComplexity, args["versionId"].(string), args["version"].(UpdateVersion)), true - - case "Mutation.uploadVersionPart": - if e.complexity.Mutation.UploadVersionPart == nil { - break - } - - args, err := ec.field_Mutation_uploadVersionPart_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Mutation.UploadVersionPart(childComplexity, args["modId"].(string), args["versionId"].(string), args["part"].(int), args["file"].(graphql.Upload)), true - - case "OAuthOptions.facebook": - if e.complexity.OAuthOptions.Facebook == nil { - break - } - - return e.complexity.OAuthOptions.Facebook(childComplexity), true - - case "OAuthOptions.github": - if e.complexity.OAuthOptions.Github == nil { - break - } - - return e.complexity.OAuthOptions.Github(childComplexity), true - - case "OAuthOptions.google": - if e.complexity.OAuthOptions.Google == nil { - break - } - - return e.complexity.OAuthOptions.Google(childComplexity), true - - case "Query.checkVersionUploadState": - if e.complexity.Query.CheckVersionUploadState == nil { - break - } - - args, err := ec.field_Query_checkVersionUploadState_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.CheckVersionUploadState(childComplexity, args["modId"].(string), args["versionId"].(string)), true - - case "Query.getAnnouncement": - if e.complexity.Query.GetAnnouncement == nil { - break - } - - args, err := ec.field_Query_getAnnouncement_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetAnnouncement(childComplexity, args["announcementId"].(string)), true - - case "Query.getAnnouncements": - if e.complexity.Query.GetAnnouncements == nil { - break - } - - return e.complexity.Query.GetAnnouncements(childComplexity), true - - case "Query.getAnnouncementsByImportance": - if e.complexity.Query.GetAnnouncementsByImportance == nil { - break - } - - args, err := ec.field_Query_getAnnouncementsByImportance_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetAnnouncementsByImportance(childComplexity, args["importance"].(AnnouncementImportance)), true - - case "Query.getGuide": - if e.complexity.Query.GetGuide == nil { - break - } - - args, err := ec.field_Query_getGuide_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetGuide(childComplexity, args["guideId"].(string)), true - - case "Query.getGuides": - if e.complexity.Query.GetGuides == nil { - break - } - - args, err := ec.field_Query_getGuides_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetGuides(childComplexity, args["filter"].(map[string]interface{})), true - - case "Query.getMe": - if e.complexity.Query.GetMe == nil { - break - } - - return e.complexity.Query.GetMe(childComplexity), true - - case "Query.getMod": - if e.complexity.Query.GetMod == nil { - break - } - - args, err := ec.field_Query_getMod_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetMod(childComplexity, args["modId"].(string)), true - - case "Query.getModAssetList": - if e.complexity.Query.GetModAssetList == nil { - break - } - - args, err := ec.field_Query_getModAssetList_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetModAssetList(childComplexity, args["modReference"].(string)), true - - case "Query.getModByIdOrReference": - if e.complexity.Query.GetModByIDOrReference == nil { - break - } - - args, err := ec.field_Query_getModByIdOrReference_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetModByIDOrReference(childComplexity, args["modIdOrReference"].(string)), true - - case "Query.getModByReference": - if e.complexity.Query.GetModByReference == nil { - break - } - - args, err := ec.field_Query_getModByReference_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetModByReference(childComplexity, args["modReference"].(string)), true - - case "Query.getMods": - if e.complexity.Query.GetMods == nil { - break - } - - args, err := ec.field_Query_getMods_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetMods(childComplexity, args["filter"].(map[string]interface{})), true - - case "Query.getMyMods": - if e.complexity.Query.GetMyMods == nil { - break - } - - args, err := ec.field_Query_getMyMods_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetMyMods(childComplexity, args["filter"].(map[string]interface{})), true - - case "Query.getMyUnapprovedMods": - if e.complexity.Query.GetMyUnapprovedMods == nil { - break - } - - args, err := ec.field_Query_getMyUnapprovedMods_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetMyUnapprovedMods(childComplexity, args["filter"].(map[string]interface{})), true - - case "Query.getMyUnapprovedVersions": - if e.complexity.Query.GetMyUnapprovedVersions == nil { - break - } - - args, err := ec.field_Query_getMyUnapprovedVersions_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetMyUnapprovedVersions(childComplexity, args["filter"].(map[string]interface{})), true - - case "Query.getMyVersions": - if e.complexity.Query.GetMyVersions == nil { - break - } - - args, err := ec.field_Query_getMyVersions_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetMyVersions(childComplexity, args["filter"].(map[string]interface{})), true - - case "Query.getOAuthOptions": - if e.complexity.Query.GetOAuthOptions == nil { - break - } - - args, err := ec.field_Query_getOAuthOptions_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetOAuthOptions(childComplexity, args["callback_url"].(string)), true - - case "Query.getSMLVersion": - if e.complexity.Query.GetSMLVersion == nil { - break - } - - args, err := ec.field_Query_getSMLVersion_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetSMLVersion(childComplexity, args["smlVersionID"].(string)), true - - case "Query.getSMLVersions": - if e.complexity.Query.GetSMLVersions == nil { - break - } - - args, err := ec.field_Query_getSMLVersions_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetSMLVersions(childComplexity, args["filter"].(map[string]interface{})), true - - case "Query.getSatisfactoryVersion": - if e.complexity.Query.GetSatisfactoryVersion == nil { - break - } - - args, err := ec.field_Query_getSatisfactoryVersion_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetSatisfactoryVersion(childComplexity, args["id"].(string)), true - - case "Query.getSatisfactoryVersions": - if e.complexity.Query.GetSatisfactoryVersions == nil { - break - } - - return e.complexity.Query.GetSatisfactoryVersions(childComplexity), true - - case "Query.getTag": - if e.complexity.Query.GetTag == nil { - break - } - - args, err := ec.field_Query_getTag_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetTag(childComplexity, args["tagID"].(string)), true - - case "Query.getTags": - if e.complexity.Query.GetTags == nil { - break - } - - args, err := ec.field_Query_getTags_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetTags(childComplexity, args["filter"].(*TagFilter)), true - - case "Query.getUnapprovedMods": - if e.complexity.Query.GetUnapprovedMods == nil { - break - } - - args, err := ec.field_Query_getUnapprovedMods_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetUnapprovedMods(childComplexity, args["filter"].(map[string]interface{})), true - - case "Query.getUnapprovedVersions": - if e.complexity.Query.GetUnapprovedVersions == nil { - break - } - - args, err := ec.field_Query_getUnapprovedVersions_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetUnapprovedVersions(childComplexity, args["filter"].(map[string]interface{})), true - - case "Query.getUser": - if e.complexity.Query.GetUser == nil { - break - } - - args, err := ec.field_Query_getUser_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetUser(childComplexity, args["userId"].(string)), true - - case "Query.getUsers": - if e.complexity.Query.GetUsers == nil { - break - } - - args, err := ec.field_Query_getUsers_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetUsers(childComplexity, args["userIds"].([]string)), true - - case "Query.getVersion": - if e.complexity.Query.GetVersion == nil { - break - } - - args, err := ec.field_Query_getVersion_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetVersion(childComplexity, args["versionId"].(string)), true - - case "Query.getVersions": - if e.complexity.Query.GetVersions == nil { - break - } - - args, err := ec.field_Query_getVersions_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.GetVersions(childComplexity, args["filter"].(map[string]interface{})), true - - case "Query.resolveModVersions": - if e.complexity.Query.ResolveModVersions == nil { - break - } - - args, err := ec.field_Query_resolveModVersions_args(ctx, rawArgs) - if err != nil { - return 0, false - } - - return e.complexity.Query.ResolveModVersions(childComplexity, args["filter"].([]*ModVersionConstraint)), true - - case "SMLVersion.bootstrap_version": - if e.complexity.SMLVersion.BootstrapVersion == nil { - break - } - - return e.complexity.SMLVersion.BootstrapVersion(childComplexity), true - - case "SMLVersion.changelog": - if e.complexity.SMLVersion.Changelog == nil { - break - } - - return e.complexity.SMLVersion.Changelog(childComplexity), true - - case "SMLVersion.created_at": - if e.complexity.SMLVersion.CreatedAt == nil { - break - } - - return e.complexity.SMLVersion.CreatedAt(childComplexity), true - - case "SMLVersion.date": - if e.complexity.SMLVersion.Date == nil { - break - } - - return e.complexity.SMLVersion.Date(childComplexity), true - - case "SMLVersion.engine_version": - if e.complexity.SMLVersion.EngineVersion == nil { - break - } - - return e.complexity.SMLVersion.EngineVersion(childComplexity), true - - case "SMLVersion.id": - if e.complexity.SMLVersion.ID == nil { - break - } - - return e.complexity.SMLVersion.ID(childComplexity), true - - case "SMLVersion.link": - if e.complexity.SMLVersion.Link == nil { - break - } - - return e.complexity.SMLVersion.Link(childComplexity), true - - case "SMLVersion.satisfactory_version": - if e.complexity.SMLVersion.SatisfactoryVersion == nil { - break - } - - return e.complexity.SMLVersion.SatisfactoryVersion(childComplexity), true - - case "SMLVersion.stability": - if e.complexity.SMLVersion.Stability == nil { - break - } - - return e.complexity.SMLVersion.Stability(childComplexity), true - - case "SMLVersion.targets": - if e.complexity.SMLVersion.Targets == nil { - break - } - - return e.complexity.SMLVersion.Targets(childComplexity), true - - case "SMLVersion.updated_at": - if e.complexity.SMLVersion.UpdatedAt == nil { - break - } - - return e.complexity.SMLVersion.UpdatedAt(childComplexity), true - - case "SMLVersion.version": - if e.complexity.SMLVersion.Version == nil { - break - } - - return e.complexity.SMLVersion.Version(childComplexity), true - - case "SMLVersionTarget.link": - if e.complexity.SMLVersionTarget.Link == nil { - break - } - - return e.complexity.SMLVersionTarget.Link(childComplexity), true - - case "SMLVersionTarget.targetName": - if e.complexity.SMLVersionTarget.TargetName == nil { - break - } - - return e.complexity.SMLVersionTarget.TargetName(childComplexity), true - - case "SMLVersionTarget.VersionID": - if e.complexity.SMLVersionTarget.VersionID == nil { - break - } - - return e.complexity.SMLVersionTarget.VersionID(childComplexity), true - - case "SatisfactoryVersion.engine_version": - if e.complexity.SatisfactoryVersion.EngineVersion == nil { - break - } - - return e.complexity.SatisfactoryVersion.EngineVersion(childComplexity), true - - case "SatisfactoryVersion.id": - if e.complexity.SatisfactoryVersion.ID == nil { - break - } - - return e.complexity.SatisfactoryVersion.ID(childComplexity), true - - case "SatisfactoryVersion.version": - if e.complexity.SatisfactoryVersion.Version == nil { - break - } - - return e.complexity.SatisfactoryVersion.Version(childComplexity), true - - case "Tag.description": - if e.complexity.Tag.Description == nil { - break - } - - return e.complexity.Tag.Description(childComplexity), true - - case "Tag.id": - if e.complexity.Tag.ID == nil { - break - } - - return e.complexity.Tag.ID(childComplexity), true - - case "Tag.name": - if e.complexity.Tag.Name == nil { - break - } - - return e.complexity.Tag.Name(childComplexity), true - - case "User.avatar": - if e.complexity.User.Avatar == nil { - break - } - - return e.complexity.User.Avatar(childComplexity), true - - case "User.avatar_thumbhash": - if e.complexity.User.AvatarThumbhash == nil { - break - } - - return e.complexity.User.AvatarThumbhash(childComplexity), true - - case "User.created_at": - if e.complexity.User.CreatedAt == nil { - break - } - - return e.complexity.User.CreatedAt(childComplexity), true - - case "User.email": - if e.complexity.User.Email == nil { - break - } - - return e.complexity.User.Email(childComplexity), true - - case "User.facebook_id": - if e.complexity.User.FacebookID == nil { - break - } - - return e.complexity.User.FacebookID(childComplexity), true - - case "User.github_id": - if e.complexity.User.GithubID == nil { - break - } - - return e.complexity.User.GithubID(childComplexity), true - - case "User.google_id": - if e.complexity.User.GoogleID == nil { - break - } - - return e.complexity.User.GoogleID(childComplexity), true - - case "User.groups": - if e.complexity.User.Groups == nil { - break - } - - return e.complexity.User.Groups(childComplexity), true - - case "User.guides": - if e.complexity.User.Guides == nil { - break - } - - return e.complexity.User.Guides(childComplexity), true - - case "User.id": - if e.complexity.User.ID == nil { - break - } - - return e.complexity.User.ID(childComplexity), true - - case "User.mods": - if e.complexity.User.Mods == nil { - break - } - - return e.complexity.User.Mods(childComplexity), true - - case "User.roles": - if e.complexity.User.Roles == nil { - break - } - - return e.complexity.User.Roles(childComplexity), true - - case "User.username": - if e.complexity.User.Username == nil { - break - } - - return e.complexity.User.Username(childComplexity), true - - case "UserMod.mod": - if e.complexity.UserMod.Mod == nil { - break - } - - return e.complexity.UserMod.Mod(childComplexity), true - - case "UserMod.mod_id": - if e.complexity.UserMod.ModID == nil { - break - } - - return e.complexity.UserMod.ModID(childComplexity), true - - case "UserMod.role": - if e.complexity.UserMod.Role == nil { - break - } - - return e.complexity.UserMod.Role(childComplexity), true - - case "UserMod.user": - if e.complexity.UserMod.User == nil { - break - } - - return e.complexity.UserMod.User(childComplexity), true - - case "UserMod.user_id": - if e.complexity.UserMod.UserID == nil { - break - } - - return e.complexity.UserMod.UserID(childComplexity), true - - case "UserRoles.approveMods": - if e.complexity.UserRoles.ApproveMods == nil { - break - } - - return e.complexity.UserRoles.ApproveMods(childComplexity), true - - case "UserRoles.approveVersions": - if e.complexity.UserRoles.ApproveVersions == nil { - break - } - - return e.complexity.UserRoles.ApproveVersions(childComplexity), true - - case "UserRoles.deleteContent": - if e.complexity.UserRoles.DeleteContent == nil { - break - } - - return e.complexity.UserRoles.DeleteContent(childComplexity), true - - case "UserRoles.editAnyModCompatibility": - if e.complexity.UserRoles.EditAnyModCompatibility == nil { - break - } - - return e.complexity.UserRoles.EditAnyModCompatibility(childComplexity), true - - case "UserRoles.editBootstrapVersions": - if e.complexity.UserRoles.EditBootstrapVersions == nil { - break - } - - return e.complexity.UserRoles.EditBootstrapVersions(childComplexity), true - - case "UserRoles.editContent": - if e.complexity.UserRoles.EditContent == nil { - break - } - - return e.complexity.UserRoles.EditContent(childComplexity), true - - case "UserRoles.editSatisfactoryVersions": - if e.complexity.UserRoles.EditSatisfactoryVersions == nil { - break - } - - return e.complexity.UserRoles.EditSatisfactoryVersions(childComplexity), true - - case "UserRoles.editUsers": - if e.complexity.UserRoles.EditUsers == nil { - break - } - - return e.complexity.UserRoles.EditUsers(childComplexity), true - - case "UserSession.token": - if e.complexity.UserSession.Token == nil { - break - } - - return e.complexity.UserSession.Token(childComplexity), true - - case "Version.approved": - if e.complexity.Version.Approved == nil { - break - } - - return e.complexity.Version.Approved(childComplexity), true - - case "Version.changelog": - if e.complexity.Version.Changelog == nil { - break - } - - return e.complexity.Version.Changelog(childComplexity), true - - case "Version.created_at": - if e.complexity.Version.CreatedAt == nil { - break - } - - return e.complexity.Version.CreatedAt(childComplexity), true - - case "Version.dependencies": - if e.complexity.Version.Dependencies == nil { - break - } - - return e.complexity.Version.Dependencies(childComplexity), true - - case "Version.downloads": - if e.complexity.Version.Downloads == nil { - break - } - - return e.complexity.Version.Downloads(childComplexity), true - - case "Version.game_version": - if e.complexity.Version.GameVersion == nil { - break - } - - return e.complexity.Version.GameVersion(childComplexity), true - - case "Version.hash": - if e.complexity.Version.Hash == nil { - break - } - - return e.complexity.Version.Hash(childComplexity), true - - case "Version.id": - if e.complexity.Version.ID == nil { - break - } - - return e.complexity.Version.ID(childComplexity), true - - case "Version.link": - if e.complexity.Version.Link == nil { - break - } - - return e.complexity.Version.Link(childComplexity), true - - case "Version.metadata": - if e.complexity.Version.Metadata == nil { - break - } - - return e.complexity.Version.Metadata(childComplexity), true - - case "Version.mod": - if e.complexity.Version.Mod == nil { - break - } - - return e.complexity.Version.Mod(childComplexity), true - - case "Version.mod_id": - if e.complexity.Version.ModID == nil { - break - } - - return e.complexity.Version.ModID(childComplexity), true - - case "Version.required_on_remote": - if e.complexity.Version.RequiredOnRemote == nil { - break - } - - return e.complexity.Version.RequiredOnRemote(childComplexity), true - - case "Version.size": - if e.complexity.Version.Size == nil { - break - } - - return e.complexity.Version.Size(childComplexity), true - - case "Version.sml_version": - if e.complexity.Version.SmlVersion == nil { - break - } - - return e.complexity.Version.SmlVersion(childComplexity), true - - case "Version.stability": - if e.complexity.Version.Stability == nil { - break - } - - return e.complexity.Version.Stability(childComplexity), true - - case "Version.targets": - if e.complexity.Version.Targets == nil { - break - } - - return e.complexity.Version.Targets(childComplexity), true - - case "Version.updated_at": - if e.complexity.Version.UpdatedAt == nil { - break - } - - return e.complexity.Version.UpdatedAt(childComplexity), true - - case "Version.version": - if e.complexity.Version.Version == nil { - break - } - - return e.complexity.Version.Version(childComplexity), true - - case "Version.virustotal_results": - if e.complexity.Version.VirustotalResults == nil { - break - } - - return e.complexity.Version.VirustotalResults(childComplexity), true - - case "VersionDependency.condition": - if e.complexity.VersionDependency.Condition == nil { - break - } - - return e.complexity.VersionDependency.Condition(childComplexity), true - - case "VersionDependency.mod": - if e.complexity.VersionDependency.Mod == nil { - break - } - - return e.complexity.VersionDependency.Mod(childComplexity), true - - case "VersionDependency.mod_id": - if e.complexity.VersionDependency.ModID == nil { - break - } - - return e.complexity.VersionDependency.ModID(childComplexity), true - - case "VersionDependency.mod_reference": - if e.complexity.VersionDependency.ModReference == nil { - break - } - - return e.complexity.VersionDependency.ModReference(childComplexity), true - - case "VersionDependency.optional": - if e.complexity.VersionDependency.Optional == nil { - break - } - - return e.complexity.VersionDependency.Optional(childComplexity), true - - case "VersionDependency.version": - if e.complexity.VersionDependency.Version == nil { - break - } - - return e.complexity.VersionDependency.Version(childComplexity), true - - case "VersionDependency.version_id": - if e.complexity.VersionDependency.VersionID == nil { - break - } - - return e.complexity.VersionDependency.VersionID(childComplexity), true - - case "VersionTarget.hash": - if e.complexity.VersionTarget.Hash == nil { - break - } - - return e.complexity.VersionTarget.Hash(childComplexity), true - - case "VersionTarget.link": - if e.complexity.VersionTarget.Link == nil { - break - } - - return e.complexity.VersionTarget.Link(childComplexity), true - - case "VersionTarget.size": - if e.complexity.VersionTarget.Size == nil { - break - } - - return e.complexity.VersionTarget.Size(childComplexity), true - - case "VersionTarget.targetName": - if e.complexity.VersionTarget.TargetName == nil { - break - } - - return e.complexity.VersionTarget.TargetName(childComplexity), true - - case "VersionTarget.VersionID": - if e.complexity.VersionTarget.VersionID == nil { - break - } - - return e.complexity.VersionTarget.VersionID(childComplexity), true - - case "VirustotalResult.created_at": - if e.complexity.VirustotalResult.CreatedAt == nil { - break - } - - return e.complexity.VirustotalResult.CreatedAt(childComplexity), true - - case "VirustotalResult.file_name": - if e.complexity.VirustotalResult.FileName == nil { - break - } - - return e.complexity.VirustotalResult.FileName(childComplexity), true - - case "VirustotalResult.hash": - if e.complexity.VirustotalResult.Hash == nil { - break - } - - return e.complexity.VirustotalResult.Hash(childComplexity), true - - case "VirustotalResult.id": - if e.complexity.VirustotalResult.ID == nil { - break - } - - return e.complexity.VirustotalResult.ID(childComplexity), true - - case "VirustotalResult.safe": - if e.complexity.VirustotalResult.Safe == nil { - break - } - - return e.complexity.VirustotalResult.Safe(childComplexity), true - - case "VirustotalResult.updated_at": - if e.complexity.VirustotalResult.UpdatedAt == nil { - break - } - - return e.complexity.VirustotalResult.UpdatedAt(childComplexity), true - - case "VirustotalResult.version_id": - if e.complexity.VirustotalResult.VersionID == nil { - break - } - - return e.complexity.VirustotalResult.VersionID(childComplexity), true - - } - return 0, false -} - -func (e *executableSchema) Exec(ctx context.Context) graphql.ResponseHandler { - opCtx := graphql.GetOperationContext(ctx) - ec := executionContext{opCtx, e, 0, 0, make(chan graphql.DeferredResult)} - inputUnmarshalMap := graphql.BuildUnmarshalerMap( - ec.unmarshalInputAIUseDisclosureInput, - ec.unmarshalInputCompatibilityInfoInput, - ec.unmarshalInputCompatibilityInput, - ec.unmarshalInputControllerCompatibilityInput, - ec.unmarshalInputGuideFilter, - ec.unmarshalInputModFilter, - ec.unmarshalInputModVersionConstraint, - ec.unmarshalInputNewAnnouncement, - ec.unmarshalInputNewGuide, - ec.unmarshalInputNewMod, - ec.unmarshalInputNewSatisfactoryVersion, - ec.unmarshalInputNewTag, - ec.unmarshalInputNewVersion, - ec.unmarshalInputSMLVersionFilter, - ec.unmarshalInputTagFilter, - ec.unmarshalInputUpdateAnnouncement, - ec.unmarshalInputUpdateGuide, - ec.unmarshalInputUpdateMod, - ec.unmarshalInputUpdateSatisfactoryVersion, - ec.unmarshalInputUpdateUser, - ec.unmarshalInputUpdateUserMod, - ec.unmarshalInputUpdateVersion, - ec.unmarshalInputVersionFilter, - ) - first := true - - switch opCtx.Operation.Operation { - case ast.Query: - return func(ctx context.Context) *graphql.Response { - var response graphql.Response - var data graphql.Marshaler - if first { - first = false - ctx = graphql.WithUnmarshalerMap(ctx, inputUnmarshalMap) - data = ec._Query(ctx, opCtx.Operation.SelectionSet) - } else { - if atomic.LoadInt32(&ec.pendingDeferred) > 0 { - result := <-ec.deferredResults - atomic.AddInt32(&ec.pendingDeferred, -1) - data = result.Result - response.Path = result.Path - response.Label = result.Label - response.Errors = result.Errors - } else { - return nil - } - } - var buf bytes.Buffer - data.MarshalGQL(&buf) - response.Data = buf.Bytes() - if atomic.LoadInt32(&ec.deferred) > 0 { - hasNext := atomic.LoadInt32(&ec.pendingDeferred) > 0 - response.HasNext = &hasNext - } - - return &response - } - case ast.Mutation: - return func(ctx context.Context) *graphql.Response { - if !first { - return nil - } - first = false - ctx = graphql.WithUnmarshalerMap(ctx, inputUnmarshalMap) - data := ec._Mutation(ctx, opCtx.Operation.SelectionSet) - var buf bytes.Buffer - data.MarshalGQL(&buf) - - return &graphql.Response{ - Data: buf.Bytes(), - } - } - - default: - return graphql.OneShot(graphql.ErrorResponse(ctx, "unsupported GraphQL operation")) - } -} - -type executionContext struct { - *graphql.OperationContext - *executableSchema - deferred int32 - pendingDeferred int32 - deferredResults chan graphql.DeferredResult -} - -func (ec *executionContext) processDeferredGroup(dg graphql.DeferredGroup) { - atomic.AddInt32(&ec.pendingDeferred, 1) - go func() { - ctx := graphql.WithFreshResponseContext(dg.Context) - dg.FieldSet.Dispatch(ctx) - ds := graphql.DeferredResult{ - Path: dg.Path, - Label: dg.Label, - Result: dg.FieldSet, - Errors: graphql.GetErrors(ctx), - } - // null fields should bubble up - if dg.FieldSet.Invalids > 0 { - ds.Result = graphql.Null - } - ec.deferredResults <- ds - }() -} - -func (ec *executionContext) introspectSchema() (*introspection.Schema, error) { - if ec.DisableIntrospection { - return nil, errors.New("introspection disabled") - } - return introspection.WrapSchema(ec.Schema()), nil -} - -func (ec *executionContext) introspectType(name string) (*introspection.Type, error) { - if ec.DisableIntrospection { - return nil, errors.New("introspection disabled") - } - return introspection.WrapTypeFromDef(ec.Schema(), ec.Schema().Types[name]), nil -} - -var sources = []*ast.Source{ - {Name: "../schemas/announcements.graphql", Input: `### Types - -scalar AnnouncementID - -enum AnnouncementImportance { - Fix - Info - Warning - Alert -} - -type Announcement { - id: AnnouncementID! - message: String! - importance: AnnouncementImportance! -} - -### Inputs - -input NewAnnouncement { - message: String! - importance: AnnouncementImportance! -} - -input UpdateAnnouncement { - message: String - importance: AnnouncementImportance -} - -### Queries - -extend type Query { - getAnnouncement(announcementId: AnnouncementID!): Announcement - getAnnouncements: [Announcement!]! - getAnnouncementsByImportance(importance: AnnouncementImportance!): [Announcement!]! -} - -### Mutations - -extend type Mutation { - createAnnouncement(announcement: NewAnnouncement!): Announcement @canEditAnnouncements @isLoggedIn - updateAnnouncement(announcementId: AnnouncementID!, announcement: UpdateAnnouncement!): Announcement! @canEditAnnouncements @isLoggedIn - deleteAnnouncement(announcementId: AnnouncementID!): Boolean! @canEditAnnouncements @isLoggedIn -}`, BuiltIn: false}, - {Name: "../schemas/base.graphql", Input: `scalar Upload - -scalar Date - -enum Order { - asc - desc -} - -type OAuthOptions { - github: String! - google: String! - facebook: String! -} - -type Query { - getOAuthOptions(callback_url: String!): OAuthOptions! -} - -type Mutation { - discourseSSO(sso: String!, sig: String!): String @isLoggedIn -} -`, BuiltIn: false}, - {Name: "../schemas/compatibility.graphql", Input: `enum CompatibilityState { - Works - Damaged - Broken -} - -type Compatibility { - state: CompatibilityState! - note: String -} - -input CompatibilityInput { - state: CompatibilityState! - note: String -} - -enum ControllerCompatibilityState { - Untested - Unsupported - Partial - Implicit - Supported -} - -type ControllerCompatibility { - state: ControllerCompatibilityState! - note: String -} - -input ControllerCompatibilityInput { - state: ControllerCompatibilityState! - note: String -} - -type CompatibilityInfo { - EA: Compatibility! - EXP: Compatibility! - Controller: ControllerCompatibility! -} - -input CompatibilityInfoInput { - EA: CompatibilityInput! - EXP: CompatibilityInput! - Controller: ControllerCompatibilityInput! -} - -extend type Mutation { - updateModCompatibility(modId: ModID!, compatibility: CompatibilityInfoInput!): Boolean! @canEditModCompatibility(field: "modId") @isLoggedIn - updateMultipleModCompatibilities(modIDs: [ModID!]!, compatibility: CompatibilityInfoInput!): Boolean! @canEditModCompatibility @isLoggedIn -} -`, BuiltIn: false}, - {Name: "../schemas/directives.graphql", Input: `directive @isLoggedIn on FIELD_DEFINITION | INPUT_FIELD_DEFINITION -directive @isNotLoggedIn on FIELD_DEFINITION | INPUT_FIELD_DEFINITION - -directive @canEditMod(field: String!) on FIELD_DEFINITION -directive @canEditVersion(field: String!) on FIELD_DEFINITION -directive @canEditUser(field: String!, object: Boolean!) on FIELD_DEFINITION -directive @canEditGuide(field: String!) on FIELD_DEFINITION -directive @canEditModCompatibility(field: String) on FIELD_DEFINITION - -directive @canApproveMods on FIELD_DEFINITION | INPUT_FIELD_DEFINITION -directive @canApproveVersions on FIELD_DEFINITION | INPUT_FIELD_DEFINITION -directive @canEditUsers on FIELD_DEFINITION | INPUT_FIELD_DEFINITION -directive @canEditSatisfactoryVersions on FIELD_DEFINITION | INPUT_FIELD_DEFINITION -directive @canEditAnnouncements on FIELD_DEFINITION | INPUT_FIELD_DEFINITION -directive @canManageTags on FIELD_DEFINITION | INPUT_FIELD_DEFINITION -`, BuiltIn: false}, - {Name: "../schemas/guide.graphql", Input: `### Types - -scalar GuideID - -enum GuideFields { - name - created_at - updated_at - views -} - -type Guide { - id: GuideID! - name: String! - short_description: String! - guide: String! - views: Int! - user_id: UserID! - updated_at: Date! - created_at: Date! - tags: [Tag!]! - - user: User! -} - -type GetGuides { - guides: [Guide!]! - count: Int! -} - -### Inputs - -input NewGuide { - name: String! - short_description: String! - guide: String! - tagIDs: [TagID!] -} - -input UpdateGuide { - name: String - short_description: String - guide: String - tagIDs: [TagID!] -} - -input GuideFilter { - limit: Int - offset: Int - order_by: GuideFields - order: Order - search: String - ids: [String!] - tagIDs: [TagID!] -} - -### Queries - -extend type Query { - getGuide(guideId: GuideID!): Guide - getGuides(filter: GuideFilter): GetGuides! -} - -### Mutations - -extend type Mutation { - createGuide(guide: NewGuide!): Guide @isLoggedIn - updateGuide(guideId: GuideID!, guide: UpdateGuide!): Guide! @canEditGuide(field: "guideId") @isLoggedIn - deleteGuide(guideId: GuideID!): Boolean! @canEditGuide(field: "guideId") @isLoggedIn -}`, BuiltIn: false}, - {Name: "../schemas/mod.graphql", Input: `### Types - -scalar ModID -scalar ModReference - -enum ModFields { - created_at - updated_at - name - views - downloads - hotness - popularity - last_version_date - search -} - -enum AIUseDisclosureType { - no_ai_usage - ai_usage - runtime_ai_usage -} - -type Mod { - id: ModID! - name: String! - short_description: String! - full_description: String - logo: String - logo_thumbhash: String - source_url: String - creator_id: UserID! - approved: Boolean! - views: Int! - downloads: Int! - hotness: Int! - popularity: Int! - updated_at: Date! - created_at: Date! - last_version_date: Date - mod_reference: ModReference! - hidden: Boolean! - tags: [Tag!] - compatibility: CompatibilityInfo - toggle_network_use: Boolean! - network_use_disclosure: String - ai_use_disclosure: AIUseDisclosureInfo - toggle_explicit_content: Boolean! - - authors: [UserMod!]! - version(version: String!): Version - versions(filter: VersionFilter): [Version!]! - latestVersions: LatestVersions! -} - -type GetMods { - mods: [Mod!]! - count: Int! -} - -type GetMyMods { - mods: [Mod!]! - count: Int! -} - -type ModVersion { - id: ModID! - mod_reference: ModReference! - versions: [Version!]! -} - -type AIUseDisclosureInfo { - disclosure_type: AIUseDisclosureType! - disclosure_string: String -} - -### Inputs - -input ModFilter { - limit: Int - offset: Int - order_by: ModFields - order: Order - search: String - ids: [String!] - references: [String!] - hidden: Boolean - tagIDs: [TagID!] -} - -input NewMod { - name: String! - short_description: String! - full_description: String - logo: Upload - source_url: String - mod_reference: ModReference! - hidden: Boolean - tagIDs: [TagID!] - toggle_network_use: Boolean - toggle_explicit_content: Boolean - ai_use_disclosure: AIUseDisclosureInput -} - -input UpdateMod { - name: String - short_description: String - full_description: String - logo: Upload - source_url: String - mod_reference: ModReference - authors: [UpdateUserMod!] - hidden: Boolean - tagIDs: [TagID!] - compatibility: CompatibilityInfoInput - toggle_network_use: Boolean - network_use_disclosure: String - ai_use_disclosure: AIUseDisclosureInput - toggle_explicit_content: Boolean -} - -input UpdateUserMod { - user_id: UserID! - role: String! -} - -input ModVersionConstraint { - modIdOrReference: String! - version: String! -} - -input AIUseDisclosureInput { - disclosure_type: AIUseDisclosureType! - disclosure_string: String -} - -### Queries - -extend type Query { - getMod(modId: ModID!): Mod - getModByReference(modReference: ModReference!): Mod - getModByIdOrReference(modIdOrReference: String!): Mod - getMods(filter: ModFilter): GetMods! - getUnapprovedMods(filter: ModFilter): GetMods! @canApproveMods @isLoggedIn - - getMyMods(filter: ModFilter): GetMyMods! @isLoggedIn - getMyUnapprovedMods(filter: ModFilter): GetMyMods! @isLoggedIn - - resolveModVersions(filter: [ModVersionConstraint!]!): [ModVersion!]! - - getModAssetList(modReference: ModID!): [String!]! -} - -### Mutations - -extend type Mutation { - createMod(mod: NewMod!): Mod @isLoggedIn - updateMod(modId: ModID!, mod: UpdateMod!): Mod! @canEditMod(field: "modId") @isLoggedIn - deleteMod(modId: ModID!): Boolean! @canEditMod(field: "modId") @isLoggedIn - - approveMod(modId: ModID!): Boolean! @canApproveMods @isLoggedIn - denyMod(modId: ModID!): Boolean! @canApproveMods @isLoggedIn -}`, BuiltIn: false}, - {Name: "../schemas/satisfactory_version.graphql", Input: `### Types - -scalar SatisfactoryVersionID - -type SatisfactoryVersion { - id: SatisfactoryVersionID! - version: Int! - engine_version: String! -} - -### Inputs - -input NewSatisfactoryVersion { - version: Int! - engine_version: String! -} - -input UpdateSatisfactoryVersion { - version: Int - engine_version: String -} - -### Queries - -extend type Query { - getSatisfactoryVersions: [SatisfactoryVersion!]! - getSatisfactoryVersion(id: SatisfactoryVersionID!): SatisfactoryVersion -} - -### Mutations - -extend type Mutation { - createSatisfactoryVersion(input: NewSatisfactoryVersion!): SatisfactoryVersion! @isLoggedIn @canEditSatisfactoryVersions - updateSatisfactoryVersion(id: SatisfactoryVersionID!, input: UpdateSatisfactoryVersion!): SatisfactoryVersion! @isLoggedIn @canEditSatisfactoryVersions - deleteSatisfactoryVersion(id: SatisfactoryVersionID!): Boolean! @isLoggedIn @canEditSatisfactoryVersions -} -`, BuiltIn: false}, - {Name: "../schemas/sml_version.graphql", Input: `### Types - -scalar SMLVersionID - -type SMLVersion { - id: SMLVersionID! - version: String! - satisfactory_version: Int! - stability: VersionStabilities! - link: String! - targets: [SMLVersionTarget]! - changelog: String! - date: Date! - bootstrap_version: String - engine_version: String! - - updated_at: Date! - created_at: Date! -} - -type SMLVersionTarget { - VersionID: SMLVersionID! - targetName: TargetName! - link: String! -} - -type GetSMLVersions { - sml_versions: [SMLVersion!]! - count: Int! -} - -enum SMLVersionFields { - name - created_at - updated_at - satisfactory_version - date -} - -### Inputs - -input SMLVersionFilter { - limit: Int - offset: Int - order_by: SMLVersionFields - order: Order - search: String - ids: [String!] -} - -### Queries - -extend type Query { - getSMLVersion(smlVersionID: SMLVersionID!): SMLVersion @deprecated(reason: "SML is now a mod") - getSMLVersions(filter: SMLVersionFilter): GetSMLVersions! @deprecated(reason: "SML is now a mod") -} - -### Mutations - -`, BuiltIn: false}, - {Name: "../schemas/tags.graphql", Input: `scalar TagID -scalar TagName - -type Tag { - id: TagID! - name: TagName! - description: String! -} - -input NewTag { - name: TagName! - description: String! -} - -input TagFilter { - limit: Int - offset: Int - order: Order - search: String - ids: [TagID!] -} - -extend type Query { - getTag(tagID: TagID!): Tag - getTags(filter: TagFilter): [Tag!]! -} - -### Mutations - -extend type Mutation { - createTag(tagName: TagName!, description: String!): Tag @canManageTags @isLoggedIn - createMultipleTags(tagNames: [NewTag!]!): [Tag!]! @canManageTags @isLoggedIn - updateTag(tagID: TagID!, NewName: TagName!, description: String!): Tag! @canManageTags @isLoggedIn - deleteTag(tagID: TagID!): Boolean! @canManageTags @isLoggedIn -}`, BuiltIn: false}, - {Name: "../schemas/user.graphql", Input: `### Types - -scalar UserID - -type UserRoles { - approveMods: Boolean! - approveVersions: Boolean! - deleteContent: Boolean! - editContent: Boolean! - editUsers: Boolean! - editSatisfactoryVersions: Boolean! - editBootstrapVersions: Boolean! - editAnyModCompatibility: Boolean! -} - -type Group { - id: String! - name: String! -} - -type User { - id: UserID! - email: String @canEditUser(field: "ID", object: true) @isLoggedIn - username: String! - avatar: String - avatar_thumbhash: String - created_at: Date! - - github_id: String @canEditUser(field: "ID", object: true) @isLoggedIn - google_id: String @canEditUser(field: "ID", object: true) @isLoggedIn - facebook_id: String @canEditUser(field: "ID", object: true) @isLoggedIn - - roles: UserRoles! @canEditUser(field: "ID", object: true) @isLoggedIn - groups: [Group!]! @canEditUser(field: "ID", object: true) @isLoggedIn - - mods: [UserMod!]! - guides: [Guide!]! -} - -type UserSession { - token: String! -} - -type UserMod { - user_id: UserID! - mod_id: ModID! - role: String! - - user: User! - mod: Mod! -} - -### Inputs - -input UpdateUser { - avatar: Upload - groups: [String!] @canEditUsers @isLoggedIn - username: String -} - -### Queries - -extend type Query { - getMe: User @isLoggedIn - getUser(userId: UserID!): User - getUsers(userIds: [UserID!]!): [User]! -} - -### Mutations - -extend type Mutation { - updateUser(userId: UserID!, input: UpdateUser!): User! @canEditUser(field: "userId", object: false) @isLoggedIn - logout: Boolean! @isLoggedIn - - oAuthGithub(code: String!, state: String!): UserSession @isNotLoggedIn - oAuthGoogle(code: String!, state: String!): UserSession @isNotLoggedIn - oAuthFacebook(code: String!, state: String!): UserSession @isNotLoggedIn -}`, BuiltIn: false}, - {Name: "../schemas/version.graphql", Input: `### Types - -scalar VersionID - -type LatestVersions { - alpha: Version - beta: Version - release: Version -} - -enum VersionFields { - created_at - updated_at - downloads -} - -enum VersionStabilities { - alpha - beta - release -} - -type Version { - id: VersionID! - mod_id: ModID! - version: String! - sml_version: String! - game_version: String! - required_on_remote: Boolean! - changelog: String! - downloads: Int! - stability: VersionStabilities! - approved: Boolean! - updated_at: Date! - created_at: Date! - link: String! - targets: [VersionTarget]! - metadata: String - size: Int - hash: String - - mod: Mod! - dependencies: [VersionDependency!]! - virustotal_results: [VirustotalResult!]! -} - -type VersionTarget { - VersionID: VersionID! - targetName: TargetName! - link: String! - size: Int - hash: String -} - -type CreateVersionResponse { - auto_approved: Boolean! - version: Version -} - -type GetVersions { - versions: [Version!]! - count: Int! -} - -type GetMyVersions { - versions: [Version!]! - count: Int! -} - -type VersionDependency { - version_id: VersionID! - mod_id: ModID! @deprecated(reason: "soon will return actual mod id instead of reference. use mod_reference field instead!") - condition: String! - optional: Boolean! - mod_reference: String! - - mod: Mod - version: Version -} - -### Inputs - -input VersionFilter { - limit: Int - offset: Int - order_by: VersionFields - order: Order - search: String - ids: [String!] -} - -input NewVersion { - changelog: String! - stability: VersionStabilities! -} - -input UpdateVersion { - changelog: String - stability: VersionStabilities -} - -### Queries - -extend type Query { - getVersion(versionId: VersionID!): Version - getVersions(filter: VersionFilter): GetVersions! - getUnapprovedVersions(filter: VersionFilter): GetVersions! @canApproveVersions @isLoggedIn - - checkVersionUploadState(modId: ModID!, versionId: VersionID!): CreateVersionResponse @canEditMod(field: "modId") @isLoggedIn - - getMyVersions(filter: VersionFilter): GetMyVersions! @isLoggedIn - getMyUnapprovedVersions(filter: VersionFilter): GetMyVersions! @isLoggedIn -} - -### Mutations - -extend type Mutation { - createVersion(modId: ModID!): VersionID! @canEditMod(field: "modId") @isLoggedIn - uploadVersionPart(modId: ModID!, versionId: VersionID!, part: Int!, file: Upload!): Boolean! @canEditMod(field: "modId") @isLoggedIn - finalizeCreateVersion(modId: ModID!, versionId: VersionID!, version: NewVersion!): Boolean! @canEditMod(field: "modId") @isLoggedIn - - updateVersion(versionId: VersionID!, version: UpdateVersion!): Version! @canEditVersion(field: "versionId") @isLoggedIn - deleteVersion(versionId: VersionID!): Boolean! @canEditVersion(field: "versionId") @isLoggedIn - - approveVersion(versionId: VersionID!): Boolean! @canApproveVersions @isLoggedIn - denyVersion(versionId: VersionID!): Boolean! @canApproveVersions @isLoggedIn -}`, BuiltIn: false}, - {Name: "../schemas/version_target.graphql", Input: `enum TargetName { - Windows, - WindowsServer, - LinuxServer -}`, BuiltIn: false}, - {Name: "../schemas/virustotal_results.graphql", Input: `### Types - -scalar VirustotalHash -scalar VirustotalID - -type VirustotalResult { - id: VirustotalID - hash: VirustotalHash! - safe: Boolean! - file_name: String! - version_id: String! - created_at: Date! - updated_at: Date -} -`, BuiltIn: false}, -} -var parsedSchema = gqlparser.MustLoadSchema(sources...) - -// endregion ************************** generated!.gotpl ************************** - -// region ***************************** args.gotpl ***************************** - -func (ec *executionContext) dir_canEditGuide_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.dir_canEditGuide_argsField(ctx, rawArgs) - if err != nil { - return nil, err - } - args["field"] = arg0 - return args, nil -} -func (ec *executionContext) dir_canEditGuide_argsField( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["field"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("field")) - if tmp, ok := rawArgs["field"]; ok { - return ec.unmarshalNString2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) dir_canEditModCompatibility_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.dir_canEditModCompatibility_argsField(ctx, rawArgs) - if err != nil { - return nil, err - } - args["field"] = arg0 - return args, nil -} -func (ec *executionContext) dir_canEditModCompatibility_argsField( - ctx context.Context, - rawArgs map[string]any, -) (*string, error) { - if _, ok := rawArgs["field"]; !ok { - var zeroVal *string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("field")) - if tmp, ok := rawArgs["field"]; ok { - return ec.unmarshalOString2ᚖstring(ctx, tmp) - } - - var zeroVal *string - return zeroVal, nil -} - -func (ec *executionContext) dir_canEditMod_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.dir_canEditMod_argsField(ctx, rawArgs) - if err != nil { - return nil, err - } - args["field"] = arg0 - return args, nil -} -func (ec *executionContext) dir_canEditMod_argsField( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["field"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("field")) - if tmp, ok := rawArgs["field"]; ok { - return ec.unmarshalNString2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) dir_canEditUser_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.dir_canEditUser_argsField(ctx, rawArgs) - if err != nil { - return nil, err - } - args["field"] = arg0 - arg1, err := ec.dir_canEditUser_argsObject(ctx, rawArgs) - if err != nil { - return nil, err - } - args["object"] = arg1 - return args, nil -} -func (ec *executionContext) dir_canEditUser_argsField( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["field"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("field")) - if tmp, ok := rawArgs["field"]; ok { - return ec.unmarshalNString2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) dir_canEditUser_argsObject( - ctx context.Context, - rawArgs map[string]any, -) (bool, error) { - if _, ok := rawArgs["object"]; !ok { - var zeroVal bool - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("object")) - if tmp, ok := rawArgs["object"]; ok { - return ec.unmarshalNBoolean2bool(ctx, tmp) - } - - var zeroVal bool - return zeroVal, nil -} - -func (ec *executionContext) dir_canEditVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.dir_canEditVersion_argsField(ctx, rawArgs) - if err != nil { - return nil, err - } - args["field"] = arg0 - return args, nil -} -func (ec *executionContext) dir_canEditVersion_argsField( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["field"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("field")) - if tmp, ok := rawArgs["field"]; ok { - return ec.unmarshalNString2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mod_version_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mod_version_argsVersion(ctx, rawArgs) - if err != nil { - return nil, err - } - args["version"] = arg0 - return args, nil -} -func (ec *executionContext) field_Mod_version_argsVersion( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["version"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("version")) - if tmp, ok := rawArgs["version"]; ok { - return ec.unmarshalNString2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mod_versions_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mod_versions_argsFilter(ctx, rawArgs) - if err != nil { - return nil, err - } - args["filter"] = arg0 - return args, nil -} -func (ec *executionContext) field_Mod_versions_argsFilter( - ctx context.Context, - rawArgs map[string]any, -) (map[string]any, error) { - if _, ok := rawArgs["filter"]; !ok { - var zeroVal map[string]any - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) - if tmp, ok := rawArgs["filter"]; ok { - return ec.unmarshalOVersionFilter2map(ctx, tmp) - } - - var zeroVal map[string]any - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_approveMod_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_approveMod_argsModID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["modId"] = arg0 - return args, nil -} -func (ec *executionContext) field_Mutation_approveMod_argsModID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["modId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) - if tmp, ok := rawArgs["modId"]; ok { - return ec.unmarshalNModID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_approveVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_approveVersion_argsVersionID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["versionId"] = arg0 - return args, nil -} -func (ec *executionContext) field_Mutation_approveVersion_argsVersionID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["versionId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) - if tmp, ok := rawArgs["versionId"]; ok { - return ec.unmarshalNVersionID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_createAnnouncement_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_createAnnouncement_argsAnnouncement(ctx, rawArgs) - if err != nil { - return nil, err - } - args["announcement"] = arg0 - return args, nil -} -func (ec *executionContext) field_Mutation_createAnnouncement_argsAnnouncement( - ctx context.Context, - rawArgs map[string]any, -) (NewAnnouncement, error) { - if _, ok := rawArgs["announcement"]; !ok { - var zeroVal NewAnnouncement - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("announcement")) - if tmp, ok := rawArgs["announcement"]; ok { - return ec.unmarshalNNewAnnouncement2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewAnnouncement(ctx, tmp) - } - - var zeroVal NewAnnouncement - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_createGuide_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_createGuide_argsGuide(ctx, rawArgs) - if err != nil { - return nil, err - } - args["guide"] = arg0 - return args, nil -} -func (ec *executionContext) field_Mutation_createGuide_argsGuide( - ctx context.Context, - rawArgs map[string]any, -) (NewGuide, error) { - if _, ok := rawArgs["guide"]; !ok { - var zeroVal NewGuide - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("guide")) - if tmp, ok := rawArgs["guide"]; ok { - return ec.unmarshalNNewGuide2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewGuide(ctx, tmp) - } - - var zeroVal NewGuide - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_createMod_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_createMod_argsMod(ctx, rawArgs) - if err != nil { - return nil, err - } - args["mod"] = arg0 - return args, nil -} -func (ec *executionContext) field_Mutation_createMod_argsMod( - ctx context.Context, - rawArgs map[string]any, -) (NewMod, error) { - if _, ok := rawArgs["mod"]; !ok { - var zeroVal NewMod - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("mod")) - if tmp, ok := rawArgs["mod"]; ok { - return ec.unmarshalNNewMod2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewMod(ctx, tmp) - } - - var zeroVal NewMod - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_createMultipleTags_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_createMultipleTags_argsTagNames(ctx, rawArgs) - if err != nil { - return nil, err - } - args["tagNames"] = arg0 - return args, nil -} -func (ec *executionContext) field_Mutation_createMultipleTags_argsTagNames( - ctx context.Context, - rawArgs map[string]any, -) ([]*NewTag, error) { - if _, ok := rawArgs["tagNames"]; !ok { - var zeroVal []*NewTag - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("tagNames")) - if tmp, ok := rawArgs["tagNames"]; ok { - return ec.unmarshalNNewTag2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewTagᚄ(ctx, tmp) - } - - var zeroVal []*NewTag - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_createSatisfactoryVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_createSatisfactoryVersion_argsInput(ctx, rawArgs) - if err != nil { - return nil, err - } - args["input"] = arg0 - return args, nil -} -func (ec *executionContext) field_Mutation_createSatisfactoryVersion_argsInput( - ctx context.Context, - rawArgs map[string]any, -) (NewSatisfactoryVersion, error) { - if _, ok := rawArgs["input"]; !ok { - var zeroVal NewSatisfactoryVersion - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("input")) - if tmp, ok := rawArgs["input"]; ok { - return ec.unmarshalNNewSatisfactoryVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewSatisfactoryVersion(ctx, tmp) - } - - var zeroVal NewSatisfactoryVersion - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_createTag_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_createTag_argsTagName(ctx, rawArgs) - if err != nil { - return nil, err - } - args["tagName"] = arg0 - arg1, err := ec.field_Mutation_createTag_argsDescription(ctx, rawArgs) - if err != nil { - return nil, err - } - args["description"] = arg1 - return args, nil -} -func (ec *executionContext) field_Mutation_createTag_argsTagName( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["tagName"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("tagName")) - if tmp, ok := rawArgs["tagName"]; ok { - return ec.unmarshalNTagName2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_createTag_argsDescription( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["description"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("description")) - if tmp, ok := rawArgs["description"]; ok { - return ec.unmarshalNString2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_createVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_createVersion_argsModID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["modId"] = arg0 - return args, nil -} -func (ec *executionContext) field_Mutation_createVersion_argsModID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["modId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) - if tmp, ok := rawArgs["modId"]; ok { - return ec.unmarshalNModID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_deleteAnnouncement_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_deleteAnnouncement_argsAnnouncementID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["announcementId"] = arg0 - return args, nil -} -func (ec *executionContext) field_Mutation_deleteAnnouncement_argsAnnouncementID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["announcementId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("announcementId")) - if tmp, ok := rawArgs["announcementId"]; ok { - return ec.unmarshalNAnnouncementID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_deleteGuide_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_deleteGuide_argsGuideID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["guideId"] = arg0 - return args, nil -} -func (ec *executionContext) field_Mutation_deleteGuide_argsGuideID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["guideId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("guideId")) - if tmp, ok := rawArgs["guideId"]; ok { - return ec.unmarshalNGuideID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_deleteMod_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_deleteMod_argsModID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["modId"] = arg0 - return args, nil -} -func (ec *executionContext) field_Mutation_deleteMod_argsModID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["modId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) - if tmp, ok := rawArgs["modId"]; ok { - return ec.unmarshalNModID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_deleteSatisfactoryVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_deleteSatisfactoryVersion_argsID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["id"] = arg0 - return args, nil -} -func (ec *executionContext) field_Mutation_deleteSatisfactoryVersion_argsID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["id"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("id")) - if tmp, ok := rawArgs["id"]; ok { - return ec.unmarshalNSatisfactoryVersionID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_deleteTag_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_deleteTag_argsTagID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["tagID"] = arg0 - return args, nil -} -func (ec *executionContext) field_Mutation_deleteTag_argsTagID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["tagID"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("tagID")) - if tmp, ok := rawArgs["tagID"]; ok { - return ec.unmarshalNTagID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_deleteVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_deleteVersion_argsVersionID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["versionId"] = arg0 - return args, nil -} -func (ec *executionContext) field_Mutation_deleteVersion_argsVersionID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["versionId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) - if tmp, ok := rawArgs["versionId"]; ok { - return ec.unmarshalNVersionID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_denyMod_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_denyMod_argsModID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["modId"] = arg0 - return args, nil -} -func (ec *executionContext) field_Mutation_denyMod_argsModID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["modId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) - if tmp, ok := rawArgs["modId"]; ok { - return ec.unmarshalNModID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_denyVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_denyVersion_argsVersionID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["versionId"] = arg0 - return args, nil -} -func (ec *executionContext) field_Mutation_denyVersion_argsVersionID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["versionId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) - if tmp, ok := rawArgs["versionId"]; ok { - return ec.unmarshalNVersionID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_discourseSSO_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_discourseSSO_argsSso(ctx, rawArgs) - if err != nil { - return nil, err - } - args["sso"] = arg0 - arg1, err := ec.field_Mutation_discourseSSO_argsSig(ctx, rawArgs) - if err != nil { - return nil, err - } - args["sig"] = arg1 - return args, nil -} -func (ec *executionContext) field_Mutation_discourseSSO_argsSso( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["sso"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("sso")) - if tmp, ok := rawArgs["sso"]; ok { - return ec.unmarshalNString2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_discourseSSO_argsSig( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["sig"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("sig")) - if tmp, ok := rawArgs["sig"]; ok { - return ec.unmarshalNString2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_finalizeCreateVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_finalizeCreateVersion_argsModID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["modId"] = arg0 - arg1, err := ec.field_Mutation_finalizeCreateVersion_argsVersionID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["versionId"] = arg1 - arg2, err := ec.field_Mutation_finalizeCreateVersion_argsVersion(ctx, rawArgs) - if err != nil { - return nil, err - } - args["version"] = arg2 - return args, nil -} -func (ec *executionContext) field_Mutation_finalizeCreateVersion_argsModID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["modId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) - if tmp, ok := rawArgs["modId"]; ok { - return ec.unmarshalNModID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_finalizeCreateVersion_argsVersionID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["versionId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) - if tmp, ok := rawArgs["versionId"]; ok { - return ec.unmarshalNVersionID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_finalizeCreateVersion_argsVersion( - ctx context.Context, - rawArgs map[string]any, -) (NewVersion, error) { - if _, ok := rawArgs["version"]; !ok { - var zeroVal NewVersion - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("version")) - if tmp, ok := rawArgs["version"]; ok { - return ec.unmarshalNNewVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewVersion(ctx, tmp) - } - - var zeroVal NewVersion - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_oAuthFacebook_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_oAuthFacebook_argsCode(ctx, rawArgs) - if err != nil { - return nil, err - } - args["code"] = arg0 - arg1, err := ec.field_Mutation_oAuthFacebook_argsState(ctx, rawArgs) - if err != nil { - return nil, err - } - args["state"] = arg1 - return args, nil -} -func (ec *executionContext) field_Mutation_oAuthFacebook_argsCode( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["code"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("code")) - if tmp, ok := rawArgs["code"]; ok { - return ec.unmarshalNString2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_oAuthFacebook_argsState( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["state"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("state")) - if tmp, ok := rawArgs["state"]; ok { - return ec.unmarshalNString2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_oAuthGithub_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_oAuthGithub_argsCode(ctx, rawArgs) - if err != nil { - return nil, err - } - args["code"] = arg0 - arg1, err := ec.field_Mutation_oAuthGithub_argsState(ctx, rawArgs) - if err != nil { - return nil, err - } - args["state"] = arg1 - return args, nil -} -func (ec *executionContext) field_Mutation_oAuthGithub_argsCode( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["code"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("code")) - if tmp, ok := rawArgs["code"]; ok { - return ec.unmarshalNString2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_oAuthGithub_argsState( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["state"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("state")) - if tmp, ok := rawArgs["state"]; ok { - return ec.unmarshalNString2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_oAuthGoogle_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_oAuthGoogle_argsCode(ctx, rawArgs) - if err != nil { - return nil, err - } - args["code"] = arg0 - arg1, err := ec.field_Mutation_oAuthGoogle_argsState(ctx, rawArgs) - if err != nil { - return nil, err - } - args["state"] = arg1 - return args, nil -} -func (ec *executionContext) field_Mutation_oAuthGoogle_argsCode( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["code"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("code")) - if tmp, ok := rawArgs["code"]; ok { - return ec.unmarshalNString2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_oAuthGoogle_argsState( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["state"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("state")) - if tmp, ok := rawArgs["state"]; ok { - return ec.unmarshalNString2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_updateAnnouncement_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_updateAnnouncement_argsAnnouncementID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["announcementId"] = arg0 - arg1, err := ec.field_Mutation_updateAnnouncement_argsAnnouncement(ctx, rawArgs) - if err != nil { - return nil, err - } - args["announcement"] = arg1 - return args, nil -} -func (ec *executionContext) field_Mutation_updateAnnouncement_argsAnnouncementID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["announcementId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("announcementId")) - if tmp, ok := rawArgs["announcementId"]; ok { - return ec.unmarshalNAnnouncementID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_updateAnnouncement_argsAnnouncement( - ctx context.Context, - rawArgs map[string]any, -) (UpdateAnnouncement, error) { - if _, ok := rawArgs["announcement"]; !ok { - var zeroVal UpdateAnnouncement - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("announcement")) - if tmp, ok := rawArgs["announcement"]; ok { - return ec.unmarshalNUpdateAnnouncement2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateAnnouncement(ctx, tmp) - } - - var zeroVal UpdateAnnouncement - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_updateGuide_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_updateGuide_argsGuideID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["guideId"] = arg0 - arg1, err := ec.field_Mutation_updateGuide_argsGuide(ctx, rawArgs) - if err != nil { - return nil, err - } - args["guide"] = arg1 - return args, nil -} -func (ec *executionContext) field_Mutation_updateGuide_argsGuideID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["guideId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("guideId")) - if tmp, ok := rawArgs["guideId"]; ok { - return ec.unmarshalNGuideID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_updateGuide_argsGuide( - ctx context.Context, - rawArgs map[string]any, -) (UpdateGuide, error) { - if _, ok := rawArgs["guide"]; !ok { - var zeroVal UpdateGuide - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("guide")) - if tmp, ok := rawArgs["guide"]; ok { - return ec.unmarshalNUpdateGuide2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateGuide(ctx, tmp) - } - - var zeroVal UpdateGuide - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_updateModCompatibility_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_updateModCompatibility_argsModID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["modId"] = arg0 - arg1, err := ec.field_Mutation_updateModCompatibility_argsCompatibility(ctx, rawArgs) - if err != nil { - return nil, err - } - args["compatibility"] = arg1 - return args, nil -} -func (ec *executionContext) field_Mutation_updateModCompatibility_argsModID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["modId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) - if tmp, ok := rawArgs["modId"]; ok { - return ec.unmarshalNModID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_updateModCompatibility_argsCompatibility( - ctx context.Context, - rawArgs map[string]any, -) (CompatibilityInfoInput, error) { - if _, ok := rawArgs["compatibility"]; !ok { - var zeroVal CompatibilityInfoInput - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("compatibility")) - if tmp, ok := rawArgs["compatibility"]; ok { - return ec.unmarshalNCompatibilityInfoInput2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInfoInput(ctx, tmp) - } - - var zeroVal CompatibilityInfoInput - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_updateMod_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_updateMod_argsModID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["modId"] = arg0 - arg1, err := ec.field_Mutation_updateMod_argsMod(ctx, rawArgs) - if err != nil { - return nil, err - } - args["mod"] = arg1 - return args, nil -} -func (ec *executionContext) field_Mutation_updateMod_argsModID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["modId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) - if tmp, ok := rawArgs["modId"]; ok { - return ec.unmarshalNModID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_updateMod_argsMod( - ctx context.Context, - rawArgs map[string]any, -) (UpdateMod, error) { - if _, ok := rawArgs["mod"]; !ok { - var zeroVal UpdateMod - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("mod")) - if tmp, ok := rawArgs["mod"]; ok { - return ec.unmarshalNUpdateMod2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateMod(ctx, tmp) - } - - var zeroVal UpdateMod - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_updateMultipleModCompatibilities_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_updateMultipleModCompatibilities_argsModIDs(ctx, rawArgs) - if err != nil { - return nil, err - } - args["modIDs"] = arg0 - arg1, err := ec.field_Mutation_updateMultipleModCompatibilities_argsCompatibility(ctx, rawArgs) - if err != nil { - return nil, err - } - args["compatibility"] = arg1 - return args, nil -} -func (ec *executionContext) field_Mutation_updateMultipleModCompatibilities_argsModIDs( - ctx context.Context, - rawArgs map[string]any, -) ([]string, error) { - if _, ok := rawArgs["modIDs"]; !ok { - var zeroVal []string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modIDs")) - if tmp, ok := rawArgs["modIDs"]; ok { - return ec.unmarshalNModID2ᚕstringᚄ(ctx, tmp) - } - - var zeroVal []string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_updateMultipleModCompatibilities_argsCompatibility( - ctx context.Context, - rawArgs map[string]any, -) (CompatibilityInfoInput, error) { - if _, ok := rawArgs["compatibility"]; !ok { - var zeroVal CompatibilityInfoInput - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("compatibility")) - if tmp, ok := rawArgs["compatibility"]; ok { - return ec.unmarshalNCompatibilityInfoInput2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInfoInput(ctx, tmp) - } - - var zeroVal CompatibilityInfoInput - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_updateSatisfactoryVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_updateSatisfactoryVersion_argsID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["id"] = arg0 - arg1, err := ec.field_Mutation_updateSatisfactoryVersion_argsInput(ctx, rawArgs) - if err != nil { - return nil, err - } - args["input"] = arg1 - return args, nil -} -func (ec *executionContext) field_Mutation_updateSatisfactoryVersion_argsID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["id"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("id")) - if tmp, ok := rawArgs["id"]; ok { - return ec.unmarshalNSatisfactoryVersionID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_updateSatisfactoryVersion_argsInput( - ctx context.Context, - rawArgs map[string]any, -) (UpdateSatisfactoryVersion, error) { - if _, ok := rawArgs["input"]; !ok { - var zeroVal UpdateSatisfactoryVersion - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("input")) - if tmp, ok := rawArgs["input"]; ok { - return ec.unmarshalNUpdateSatisfactoryVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateSatisfactoryVersion(ctx, tmp) - } - - var zeroVal UpdateSatisfactoryVersion - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_updateTag_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_updateTag_argsTagID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["tagID"] = arg0 - arg1, err := ec.field_Mutation_updateTag_argsNewName(ctx, rawArgs) - if err != nil { - return nil, err - } - args["NewName"] = arg1 - arg2, err := ec.field_Mutation_updateTag_argsDescription(ctx, rawArgs) - if err != nil { - return nil, err - } - args["description"] = arg2 - return args, nil -} -func (ec *executionContext) field_Mutation_updateTag_argsTagID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["tagID"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("tagID")) - if tmp, ok := rawArgs["tagID"]; ok { - return ec.unmarshalNTagID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_updateTag_argsNewName( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["NewName"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("NewName")) - if tmp, ok := rawArgs["NewName"]; ok { - return ec.unmarshalNTagName2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_updateTag_argsDescription( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["description"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("description")) - if tmp, ok := rawArgs["description"]; ok { - return ec.unmarshalNString2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_updateUser_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_updateUser_argsUserID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["userId"] = arg0 - arg1, err := ec.field_Mutation_updateUser_argsInput(ctx, rawArgs) - if err != nil { - return nil, err - } - args["input"] = arg1 - return args, nil -} -func (ec *executionContext) field_Mutation_updateUser_argsUserID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["userId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("userId")) - if tmp, ok := rawArgs["userId"]; ok { - return ec.unmarshalNUserID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_updateUser_argsInput( - ctx context.Context, - rawArgs map[string]any, -) (UpdateUser, error) { - if _, ok := rawArgs["input"]; !ok { - var zeroVal UpdateUser - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("input")) - if tmp, ok := rawArgs["input"]; ok { - return ec.unmarshalNUpdateUser2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateUser(ctx, tmp) - } - - var zeroVal UpdateUser - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_updateVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_updateVersion_argsVersionID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["versionId"] = arg0 - arg1, err := ec.field_Mutation_updateVersion_argsVersion(ctx, rawArgs) - if err != nil { - return nil, err - } - args["version"] = arg1 - return args, nil -} -func (ec *executionContext) field_Mutation_updateVersion_argsVersionID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["versionId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) - if tmp, ok := rawArgs["versionId"]; ok { - return ec.unmarshalNVersionID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_updateVersion_argsVersion( - ctx context.Context, - rawArgs map[string]any, -) (UpdateVersion, error) { - if _, ok := rawArgs["version"]; !ok { - var zeroVal UpdateVersion - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("version")) - if tmp, ok := rawArgs["version"]; ok { - return ec.unmarshalNUpdateVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateVersion(ctx, tmp) - } - - var zeroVal UpdateVersion - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_uploadVersionPart_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Mutation_uploadVersionPart_argsModID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["modId"] = arg0 - arg1, err := ec.field_Mutation_uploadVersionPart_argsVersionID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["versionId"] = arg1 - arg2, err := ec.field_Mutation_uploadVersionPart_argsPart(ctx, rawArgs) - if err != nil { - return nil, err - } - args["part"] = arg2 - arg3, err := ec.field_Mutation_uploadVersionPart_argsFile(ctx, rawArgs) - if err != nil { - return nil, err - } - args["file"] = arg3 - return args, nil -} -func (ec *executionContext) field_Mutation_uploadVersionPart_argsModID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["modId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) - if tmp, ok := rawArgs["modId"]; ok { - return ec.unmarshalNModID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_uploadVersionPart_argsVersionID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["versionId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) - if tmp, ok := rawArgs["versionId"]; ok { - return ec.unmarshalNVersionID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_uploadVersionPart_argsPart( - ctx context.Context, - rawArgs map[string]any, -) (int, error) { - if _, ok := rawArgs["part"]; !ok { - var zeroVal int - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("part")) - if tmp, ok := rawArgs["part"]; ok { - return ec.unmarshalNInt2int(ctx, tmp) - } - - var zeroVal int - return zeroVal, nil -} - -func (ec *executionContext) field_Mutation_uploadVersionPart_argsFile( - ctx context.Context, - rawArgs map[string]any, -) (graphql.Upload, error) { - if _, ok := rawArgs["file"]; !ok { - var zeroVal graphql.Upload - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("file")) - if tmp, ok := rawArgs["file"]; ok { - return ec.unmarshalNUpload2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚐUpload(ctx, tmp) - } - - var zeroVal graphql.Upload - return zeroVal, nil -} - -func (ec *executionContext) field_Query___type_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query___type_argsName(ctx, rawArgs) - if err != nil { - return nil, err - } - args["name"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query___type_argsName( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["name"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("name")) - if tmp, ok := rawArgs["name"]; ok { - return ec.unmarshalNString2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Query_checkVersionUploadState_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_checkVersionUploadState_argsModID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["modId"] = arg0 - arg1, err := ec.field_Query_checkVersionUploadState_argsVersionID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["versionId"] = arg1 - return args, nil -} -func (ec *executionContext) field_Query_checkVersionUploadState_argsModID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["modId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) - if tmp, ok := rawArgs["modId"]; ok { - return ec.unmarshalNModID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Query_checkVersionUploadState_argsVersionID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["versionId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) - if tmp, ok := rawArgs["versionId"]; ok { - return ec.unmarshalNVersionID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getAnnouncement_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getAnnouncement_argsAnnouncementID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["announcementId"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getAnnouncement_argsAnnouncementID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["announcementId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("announcementId")) - if tmp, ok := rawArgs["announcementId"]; ok { - return ec.unmarshalNAnnouncementID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getAnnouncementsByImportance_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getAnnouncementsByImportance_argsImportance(ctx, rawArgs) - if err != nil { - return nil, err - } - args["importance"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getAnnouncementsByImportance_argsImportance( - ctx context.Context, - rawArgs map[string]any, -) (AnnouncementImportance, error) { - if _, ok := rawArgs["importance"]; !ok { - var zeroVal AnnouncementImportance - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("importance")) - if tmp, ok := rawArgs["importance"]; ok { - return ec.unmarshalNAnnouncementImportance2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementImportance(ctx, tmp) - } - - var zeroVal AnnouncementImportance - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getGuide_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getGuide_argsGuideID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["guideId"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getGuide_argsGuideID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["guideId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("guideId")) - if tmp, ok := rawArgs["guideId"]; ok { - return ec.unmarshalNGuideID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getGuides_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getGuides_argsFilter(ctx, rawArgs) - if err != nil { - return nil, err - } - args["filter"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getGuides_argsFilter( - ctx context.Context, - rawArgs map[string]any, -) (map[string]any, error) { - if _, ok := rawArgs["filter"]; !ok { - var zeroVal map[string]any - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) - if tmp, ok := rawArgs["filter"]; ok { - return ec.unmarshalOGuideFilter2map(ctx, tmp) - } - - var zeroVal map[string]any - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getModAssetList_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getModAssetList_argsModReference(ctx, rawArgs) - if err != nil { - return nil, err - } - args["modReference"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getModAssetList_argsModReference( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["modReference"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modReference")) - if tmp, ok := rawArgs["modReference"]; ok { - return ec.unmarshalNModID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getModByIdOrReference_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getModByIdOrReference_argsModIDOrReference(ctx, rawArgs) - if err != nil { - return nil, err - } - args["modIdOrReference"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getModByIdOrReference_argsModIDOrReference( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["modIdOrReference"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modIdOrReference")) - if tmp, ok := rawArgs["modIdOrReference"]; ok { - return ec.unmarshalNString2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getModByReference_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getModByReference_argsModReference(ctx, rawArgs) - if err != nil { - return nil, err - } - args["modReference"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getModByReference_argsModReference( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["modReference"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modReference")) - if tmp, ok := rawArgs["modReference"]; ok { - return ec.unmarshalNModReference2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getMod_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getMod_argsModID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["modId"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getMod_argsModID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["modId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) - if tmp, ok := rawArgs["modId"]; ok { - return ec.unmarshalNModID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getMods_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getMods_argsFilter(ctx, rawArgs) - if err != nil { - return nil, err - } - args["filter"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getMods_argsFilter( - ctx context.Context, - rawArgs map[string]any, -) (map[string]any, error) { - if _, ok := rawArgs["filter"]; !ok { - var zeroVal map[string]any - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) - if tmp, ok := rawArgs["filter"]; ok { - return ec.unmarshalOModFilter2map(ctx, tmp) - } - - var zeroVal map[string]any - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getMyMods_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getMyMods_argsFilter(ctx, rawArgs) - if err != nil { - return nil, err - } - args["filter"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getMyMods_argsFilter( - ctx context.Context, - rawArgs map[string]any, -) (map[string]any, error) { - if _, ok := rawArgs["filter"]; !ok { - var zeroVal map[string]any - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) - if tmp, ok := rawArgs["filter"]; ok { - return ec.unmarshalOModFilter2map(ctx, tmp) - } - - var zeroVal map[string]any - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getMyUnapprovedMods_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getMyUnapprovedMods_argsFilter(ctx, rawArgs) - if err != nil { - return nil, err - } - args["filter"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getMyUnapprovedMods_argsFilter( - ctx context.Context, - rawArgs map[string]any, -) (map[string]any, error) { - if _, ok := rawArgs["filter"]; !ok { - var zeroVal map[string]any - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) - if tmp, ok := rawArgs["filter"]; ok { - return ec.unmarshalOModFilter2map(ctx, tmp) - } - - var zeroVal map[string]any - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getMyUnapprovedVersions_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getMyUnapprovedVersions_argsFilter(ctx, rawArgs) - if err != nil { - return nil, err - } - args["filter"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getMyUnapprovedVersions_argsFilter( - ctx context.Context, - rawArgs map[string]any, -) (map[string]any, error) { - if _, ok := rawArgs["filter"]; !ok { - var zeroVal map[string]any - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) - if tmp, ok := rawArgs["filter"]; ok { - return ec.unmarshalOVersionFilter2map(ctx, tmp) - } - - var zeroVal map[string]any - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getMyVersions_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getMyVersions_argsFilter(ctx, rawArgs) - if err != nil { - return nil, err - } - args["filter"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getMyVersions_argsFilter( - ctx context.Context, - rawArgs map[string]any, -) (map[string]any, error) { - if _, ok := rawArgs["filter"]; !ok { - var zeroVal map[string]any - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) - if tmp, ok := rawArgs["filter"]; ok { - return ec.unmarshalOVersionFilter2map(ctx, tmp) - } - - var zeroVal map[string]any - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getOAuthOptions_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getOAuthOptions_argsCallbackURL(ctx, rawArgs) - if err != nil { - return nil, err - } - args["callback_url"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getOAuthOptions_argsCallbackURL( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["callback_url"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("callback_url")) - if tmp, ok := rawArgs["callback_url"]; ok { - return ec.unmarshalNString2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getSMLVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getSMLVersion_argsSmlVersionID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["smlVersionID"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getSMLVersion_argsSmlVersionID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["smlVersionID"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("smlVersionID")) - if tmp, ok := rawArgs["smlVersionID"]; ok { - return ec.unmarshalNSMLVersionID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getSMLVersions_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getSMLVersions_argsFilter(ctx, rawArgs) - if err != nil { - return nil, err - } - args["filter"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getSMLVersions_argsFilter( - ctx context.Context, - rawArgs map[string]any, -) (map[string]any, error) { - if _, ok := rawArgs["filter"]; !ok { - var zeroVal map[string]any - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) - if tmp, ok := rawArgs["filter"]; ok { - return ec.unmarshalOSMLVersionFilter2map(ctx, tmp) - } - - var zeroVal map[string]any - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getSatisfactoryVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getSatisfactoryVersion_argsID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["id"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getSatisfactoryVersion_argsID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["id"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("id")) - if tmp, ok := rawArgs["id"]; ok { - return ec.unmarshalNSatisfactoryVersionID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getTag_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getTag_argsTagID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["tagID"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getTag_argsTagID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["tagID"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("tagID")) - if tmp, ok := rawArgs["tagID"]; ok { - return ec.unmarshalNTagID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getTags_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getTags_argsFilter(ctx, rawArgs) - if err != nil { - return nil, err - } - args["filter"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getTags_argsFilter( - ctx context.Context, - rawArgs map[string]any, -) (*TagFilter, error) { - if _, ok := rawArgs["filter"]; !ok { - var zeroVal *TagFilter - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) - if tmp, ok := rawArgs["filter"]; ok { - return ec.unmarshalOTagFilter2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTagFilter(ctx, tmp) - } - - var zeroVal *TagFilter - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getUnapprovedMods_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getUnapprovedMods_argsFilter(ctx, rawArgs) - if err != nil { - return nil, err - } - args["filter"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getUnapprovedMods_argsFilter( - ctx context.Context, - rawArgs map[string]any, -) (map[string]any, error) { - if _, ok := rawArgs["filter"]; !ok { - var zeroVal map[string]any - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) - if tmp, ok := rawArgs["filter"]; ok { - return ec.unmarshalOModFilter2map(ctx, tmp) - } - - var zeroVal map[string]any - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getUnapprovedVersions_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getUnapprovedVersions_argsFilter(ctx, rawArgs) - if err != nil { - return nil, err - } - args["filter"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getUnapprovedVersions_argsFilter( - ctx context.Context, - rawArgs map[string]any, -) (map[string]any, error) { - if _, ok := rawArgs["filter"]; !ok { - var zeroVal map[string]any - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) - if tmp, ok := rawArgs["filter"]; ok { - return ec.unmarshalOVersionFilter2map(ctx, tmp) - } - - var zeroVal map[string]any - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getUser_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getUser_argsUserID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["userId"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getUser_argsUserID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["userId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("userId")) - if tmp, ok := rawArgs["userId"]; ok { - return ec.unmarshalNUserID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getUsers_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getUsers_argsUserIds(ctx, rawArgs) - if err != nil { - return nil, err - } - args["userIds"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getUsers_argsUserIds( - ctx context.Context, - rawArgs map[string]any, -) ([]string, error) { - if _, ok := rawArgs["userIds"]; !ok { - var zeroVal []string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("userIds")) - if tmp, ok := rawArgs["userIds"]; ok { - return ec.unmarshalNUserID2ᚕstringᚄ(ctx, tmp) - } - - var zeroVal []string - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getVersion_argsVersionID(ctx, rawArgs) - if err != nil { - return nil, err - } - args["versionId"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getVersion_argsVersionID( - ctx context.Context, - rawArgs map[string]any, -) (string, error) { - if _, ok := rawArgs["versionId"]; !ok { - var zeroVal string - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) - if tmp, ok := rawArgs["versionId"]; ok { - return ec.unmarshalNVersionID2string(ctx, tmp) - } - - var zeroVal string - return zeroVal, nil -} - -func (ec *executionContext) field_Query_getVersions_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_getVersions_argsFilter(ctx, rawArgs) - if err != nil { - return nil, err - } - args["filter"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_getVersions_argsFilter( - ctx context.Context, - rawArgs map[string]any, -) (map[string]any, error) { - if _, ok := rawArgs["filter"]; !ok { - var zeroVal map[string]any - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) - if tmp, ok := rawArgs["filter"]; ok { - return ec.unmarshalOVersionFilter2map(ctx, tmp) - } - - var zeroVal map[string]any - return zeroVal, nil -} - -func (ec *executionContext) field_Query_resolveModVersions_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field_Query_resolveModVersions_argsFilter(ctx, rawArgs) - if err != nil { - return nil, err - } - args["filter"] = arg0 - return args, nil -} -func (ec *executionContext) field_Query_resolveModVersions_argsFilter( - ctx context.Context, - rawArgs map[string]any, -) ([]*ModVersionConstraint, error) { - if _, ok := rawArgs["filter"]; !ok { - var zeroVal []*ModVersionConstraint - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) - if tmp, ok := rawArgs["filter"]; ok { - return ec.unmarshalNModVersionConstraint2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModVersionConstraintᚄ(ctx, tmp) - } - - var zeroVal []*ModVersionConstraint - return zeroVal, nil -} - -func (ec *executionContext) field___Directive_args_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field___Directive_args_argsIncludeDeprecated(ctx, rawArgs) - if err != nil { - return nil, err - } - args["includeDeprecated"] = arg0 - return args, nil -} -func (ec *executionContext) field___Directive_args_argsIncludeDeprecated( - ctx context.Context, - rawArgs map[string]any, -) (*bool, error) { - if _, ok := rawArgs["includeDeprecated"]; !ok { - var zeroVal *bool - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("includeDeprecated")) - if tmp, ok := rawArgs["includeDeprecated"]; ok { - return ec.unmarshalOBoolean2ᚖbool(ctx, tmp) - } - - var zeroVal *bool - return zeroVal, nil -} - -func (ec *executionContext) field___Field_args_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field___Field_args_argsIncludeDeprecated(ctx, rawArgs) - if err != nil { - return nil, err - } - args["includeDeprecated"] = arg0 - return args, nil -} -func (ec *executionContext) field___Field_args_argsIncludeDeprecated( - ctx context.Context, - rawArgs map[string]any, -) (*bool, error) { - if _, ok := rawArgs["includeDeprecated"]; !ok { - var zeroVal *bool - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("includeDeprecated")) - if tmp, ok := rawArgs["includeDeprecated"]; ok { - return ec.unmarshalOBoolean2ᚖbool(ctx, tmp) - } - - var zeroVal *bool - return zeroVal, nil -} - -func (ec *executionContext) field___Type_enumValues_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field___Type_enumValues_argsIncludeDeprecated(ctx, rawArgs) - if err != nil { - return nil, err - } - args["includeDeprecated"] = arg0 - return args, nil -} -func (ec *executionContext) field___Type_enumValues_argsIncludeDeprecated( - ctx context.Context, - rawArgs map[string]any, -) (bool, error) { - if _, ok := rawArgs["includeDeprecated"]; !ok { - var zeroVal bool - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("includeDeprecated")) - if tmp, ok := rawArgs["includeDeprecated"]; ok { - return ec.unmarshalOBoolean2bool(ctx, tmp) - } - - var zeroVal bool - return zeroVal, nil -} - -func (ec *executionContext) field___Type_fields_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { - var err error - args := map[string]any{} - arg0, err := ec.field___Type_fields_argsIncludeDeprecated(ctx, rawArgs) - if err != nil { - return nil, err - } - args["includeDeprecated"] = arg0 - return args, nil -} -func (ec *executionContext) field___Type_fields_argsIncludeDeprecated( - ctx context.Context, - rawArgs map[string]any, -) (bool, error) { - if _, ok := rawArgs["includeDeprecated"]; !ok { - var zeroVal bool - return zeroVal, nil - } - - ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("includeDeprecated")) - if tmp, ok := rawArgs["includeDeprecated"]; ok { - return ec.unmarshalOBoolean2bool(ctx, tmp) - } - - var zeroVal bool - return zeroVal, nil -} - -// endregion ***************************** args.gotpl ***************************** - -// region ************************** directives.gotpl ************************** - -// endregion ************************** directives.gotpl ************************** - -// region **************************** field.gotpl ***************************** - -func (ec *executionContext) _AIUseDisclosureInfo_disclosure_type(ctx context.Context, field graphql.CollectedField, obj *AIUseDisclosureInfo) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_AIUseDisclosureInfo_disclosure_type(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.DisclosureType, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(AIUseDisclosureType) - fc.Result = res - return ec.marshalNAIUseDisclosureType2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAIUseDisclosureType(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_AIUseDisclosureInfo_disclosure_type(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "AIUseDisclosureInfo", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type AIUseDisclosureType does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _AIUseDisclosureInfo_disclosure_string(ctx context.Context, field graphql.CollectedField, obj *AIUseDisclosureInfo) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_AIUseDisclosureInfo_disclosure_string(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.DisclosureString, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_AIUseDisclosureInfo_disclosure_string(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "AIUseDisclosureInfo", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Announcement_id(ctx context.Context, field graphql.CollectedField, obj *Announcement) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Announcement_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNAnnouncementID2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Announcement_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Announcement", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type AnnouncementID does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Announcement_message(ctx context.Context, field graphql.CollectedField, obj *Announcement) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Announcement_message(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Message, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Announcement_message(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Announcement", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Announcement_importance(ctx context.Context, field graphql.CollectedField, obj *Announcement) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Announcement_importance(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Importance, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(AnnouncementImportance) - fc.Result = res - return ec.marshalNAnnouncementImportance2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementImportance(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Announcement_importance(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Announcement", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type AnnouncementImportance does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Compatibility_state(ctx context.Context, field graphql.CollectedField, obj *Compatibility) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Compatibility_state(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.State, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(CompatibilityState) - fc.Result = res - return ec.marshalNCompatibilityState2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityState(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Compatibility_state(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Compatibility", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type CompatibilityState does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Compatibility_note(ctx context.Context, field graphql.CollectedField, obj *Compatibility) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Compatibility_note(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Note, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Compatibility_note(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Compatibility", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _CompatibilityInfo_EA(ctx context.Context, field graphql.CollectedField, obj *CompatibilityInfo) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_CompatibilityInfo_EA(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Ea, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*Compatibility) - fc.Result = res - return ec.marshalNCompatibility2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibility(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_CompatibilityInfo_EA(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "CompatibilityInfo", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "state": - return ec.fieldContext_Compatibility_state(ctx, field) - case "note": - return ec.fieldContext_Compatibility_note(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Compatibility", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _CompatibilityInfo_EXP(ctx context.Context, field graphql.CollectedField, obj *CompatibilityInfo) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_CompatibilityInfo_EXP(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Exp, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*Compatibility) - fc.Result = res - return ec.marshalNCompatibility2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibility(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_CompatibilityInfo_EXP(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "CompatibilityInfo", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "state": - return ec.fieldContext_Compatibility_state(ctx, field) - case "note": - return ec.fieldContext_Compatibility_note(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Compatibility", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _CompatibilityInfo_Controller(ctx context.Context, field graphql.CollectedField, obj *CompatibilityInfo) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_CompatibilityInfo_Controller(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Controller, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*ControllerCompatibility) - fc.Result = res - return ec.marshalNControllerCompatibility2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐControllerCompatibility(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_CompatibilityInfo_Controller(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "CompatibilityInfo", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "state": - return ec.fieldContext_ControllerCompatibility_state(ctx, field) - case "note": - return ec.fieldContext_ControllerCompatibility_note(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type ControllerCompatibility", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _ControllerCompatibility_state(ctx context.Context, field graphql.CollectedField, obj *ControllerCompatibility) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_ControllerCompatibility_state(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.State, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(ControllerCompatibilityState) - fc.Result = res - return ec.marshalNControllerCompatibilityState2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐControllerCompatibilityState(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_ControllerCompatibility_state(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "ControllerCompatibility", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type ControllerCompatibilityState does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _ControllerCompatibility_note(ctx context.Context, field graphql.CollectedField, obj *ControllerCompatibility) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_ControllerCompatibility_note(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Note, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_ControllerCompatibility_note(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "ControllerCompatibility", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _CreateVersionResponse_auto_approved(ctx context.Context, field graphql.CollectedField, obj *CreateVersionResponse) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_CreateVersionResponse_auto_approved(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.AutoApproved, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_CreateVersionResponse_auto_approved(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "CreateVersionResponse", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _CreateVersionResponse_version(ctx context.Context, field graphql.CollectedField, obj *CreateVersionResponse) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_CreateVersionResponse_version(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Version, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Version) - fc.Result = res - return ec.marshalOVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_CreateVersionResponse_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "CreateVersionResponse", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Version_id(ctx, field) - case "mod_id": - return ec.fieldContext_Version_mod_id(ctx, field) - case "version": - return ec.fieldContext_Version_version(ctx, field) - case "sml_version": - return ec.fieldContext_Version_sml_version(ctx, field) - case "game_version": - return ec.fieldContext_Version_game_version(ctx, field) - case "required_on_remote": - return ec.fieldContext_Version_required_on_remote(ctx, field) - case "changelog": - return ec.fieldContext_Version_changelog(ctx, field) - case "downloads": - return ec.fieldContext_Version_downloads(ctx, field) - case "stability": - return ec.fieldContext_Version_stability(ctx, field) - case "approved": - return ec.fieldContext_Version_approved(ctx, field) - case "updated_at": - return ec.fieldContext_Version_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Version_created_at(ctx, field) - case "link": - return ec.fieldContext_Version_link(ctx, field) - case "targets": - return ec.fieldContext_Version_targets(ctx, field) - case "metadata": - return ec.fieldContext_Version_metadata(ctx, field) - case "size": - return ec.fieldContext_Version_size(ctx, field) - case "hash": - return ec.fieldContext_Version_hash(ctx, field) - case "mod": - return ec.fieldContext_Version_mod(ctx, field) - case "dependencies": - return ec.fieldContext_Version_dependencies(ctx, field) - case "virustotal_results": - return ec.fieldContext_Version_virustotal_results(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _GetGuides_guides(ctx context.Context, field graphql.CollectedField, obj *GetGuides) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_GetGuides_guides(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.GetGuides().Guides(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Guide) - fc.Result = res - return ec.marshalNGuide2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuideᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_GetGuides_guides(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "GetGuides", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Guide_id(ctx, field) - case "name": - return ec.fieldContext_Guide_name(ctx, field) - case "short_description": - return ec.fieldContext_Guide_short_description(ctx, field) - case "guide": - return ec.fieldContext_Guide_guide(ctx, field) - case "views": - return ec.fieldContext_Guide_views(ctx, field) - case "user_id": - return ec.fieldContext_Guide_user_id(ctx, field) - case "updated_at": - return ec.fieldContext_Guide_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Guide_created_at(ctx, field) - case "tags": - return ec.fieldContext_Guide_tags(ctx, field) - case "user": - return ec.fieldContext_Guide_user(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Guide", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _GetGuides_count(ctx context.Context, field graphql.CollectedField, obj *GetGuides) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_GetGuides_count(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.GetGuides().Count(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - fc.Result = res - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_GetGuides_count(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "GetGuides", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Int does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _GetMods_mods(ctx context.Context, field graphql.CollectedField, obj *GetMods) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_GetMods_mods(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.GetMods().Mods(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Mod) - fc.Result = res - return ec.marshalNMod2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_GetMods_mods(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "GetMods", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Mod_id(ctx, field) - case "name": - return ec.fieldContext_Mod_name(ctx, field) - case "short_description": - return ec.fieldContext_Mod_short_description(ctx, field) - case "full_description": - return ec.fieldContext_Mod_full_description(ctx, field) - case "logo": - return ec.fieldContext_Mod_logo(ctx, field) - case "logo_thumbhash": - return ec.fieldContext_Mod_logo_thumbhash(ctx, field) - case "source_url": - return ec.fieldContext_Mod_source_url(ctx, field) - case "creator_id": - return ec.fieldContext_Mod_creator_id(ctx, field) - case "approved": - return ec.fieldContext_Mod_approved(ctx, field) - case "views": - return ec.fieldContext_Mod_views(ctx, field) - case "downloads": - return ec.fieldContext_Mod_downloads(ctx, field) - case "hotness": - return ec.fieldContext_Mod_hotness(ctx, field) - case "popularity": - return ec.fieldContext_Mod_popularity(ctx, field) - case "updated_at": - return ec.fieldContext_Mod_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Mod_created_at(ctx, field) - case "last_version_date": - return ec.fieldContext_Mod_last_version_date(ctx, field) - case "mod_reference": - return ec.fieldContext_Mod_mod_reference(ctx, field) - case "hidden": - return ec.fieldContext_Mod_hidden(ctx, field) - case "tags": - return ec.fieldContext_Mod_tags(ctx, field) - case "compatibility": - return ec.fieldContext_Mod_compatibility(ctx, field) - case "toggle_network_use": - return ec.fieldContext_Mod_toggle_network_use(ctx, field) - case "network_use_disclosure": - return ec.fieldContext_Mod_network_use_disclosure(ctx, field) - case "ai_use_disclosure": - return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) - case "toggle_explicit_content": - return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) - case "authors": - return ec.fieldContext_Mod_authors(ctx, field) - case "version": - return ec.fieldContext_Mod_version(ctx, field) - case "versions": - return ec.fieldContext_Mod_versions(ctx, field) - case "latestVersions": - return ec.fieldContext_Mod_latestVersions(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _GetMods_count(ctx context.Context, field graphql.CollectedField, obj *GetMods) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_GetMods_count(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.GetMods().Count(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - fc.Result = res - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_GetMods_count(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "GetMods", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Int does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _GetMyMods_mods(ctx context.Context, field graphql.CollectedField, obj *GetMyMods) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_GetMyMods_mods(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.GetMyMods().Mods(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Mod) - fc.Result = res - return ec.marshalNMod2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_GetMyMods_mods(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "GetMyMods", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Mod_id(ctx, field) - case "name": - return ec.fieldContext_Mod_name(ctx, field) - case "short_description": - return ec.fieldContext_Mod_short_description(ctx, field) - case "full_description": - return ec.fieldContext_Mod_full_description(ctx, field) - case "logo": - return ec.fieldContext_Mod_logo(ctx, field) - case "logo_thumbhash": - return ec.fieldContext_Mod_logo_thumbhash(ctx, field) - case "source_url": - return ec.fieldContext_Mod_source_url(ctx, field) - case "creator_id": - return ec.fieldContext_Mod_creator_id(ctx, field) - case "approved": - return ec.fieldContext_Mod_approved(ctx, field) - case "views": - return ec.fieldContext_Mod_views(ctx, field) - case "downloads": - return ec.fieldContext_Mod_downloads(ctx, field) - case "hotness": - return ec.fieldContext_Mod_hotness(ctx, field) - case "popularity": - return ec.fieldContext_Mod_popularity(ctx, field) - case "updated_at": - return ec.fieldContext_Mod_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Mod_created_at(ctx, field) - case "last_version_date": - return ec.fieldContext_Mod_last_version_date(ctx, field) - case "mod_reference": - return ec.fieldContext_Mod_mod_reference(ctx, field) - case "hidden": - return ec.fieldContext_Mod_hidden(ctx, field) - case "tags": - return ec.fieldContext_Mod_tags(ctx, field) - case "compatibility": - return ec.fieldContext_Mod_compatibility(ctx, field) - case "toggle_network_use": - return ec.fieldContext_Mod_toggle_network_use(ctx, field) - case "network_use_disclosure": - return ec.fieldContext_Mod_network_use_disclosure(ctx, field) - case "ai_use_disclosure": - return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) - case "toggle_explicit_content": - return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) - case "authors": - return ec.fieldContext_Mod_authors(ctx, field) - case "version": - return ec.fieldContext_Mod_version(ctx, field) - case "versions": - return ec.fieldContext_Mod_versions(ctx, field) - case "latestVersions": - return ec.fieldContext_Mod_latestVersions(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _GetMyMods_count(ctx context.Context, field graphql.CollectedField, obj *GetMyMods) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_GetMyMods_count(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.GetMyMods().Count(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - fc.Result = res - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_GetMyMods_count(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "GetMyMods", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Int does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _GetMyVersions_versions(ctx context.Context, field graphql.CollectedField, obj *GetMyVersions) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_GetMyVersions_versions(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.GetMyVersions().Versions(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Version) - fc.Result = res - return ec.marshalNVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_GetMyVersions_versions(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "GetMyVersions", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Version_id(ctx, field) - case "mod_id": - return ec.fieldContext_Version_mod_id(ctx, field) - case "version": - return ec.fieldContext_Version_version(ctx, field) - case "sml_version": - return ec.fieldContext_Version_sml_version(ctx, field) - case "game_version": - return ec.fieldContext_Version_game_version(ctx, field) - case "required_on_remote": - return ec.fieldContext_Version_required_on_remote(ctx, field) - case "changelog": - return ec.fieldContext_Version_changelog(ctx, field) - case "downloads": - return ec.fieldContext_Version_downloads(ctx, field) - case "stability": - return ec.fieldContext_Version_stability(ctx, field) - case "approved": - return ec.fieldContext_Version_approved(ctx, field) - case "updated_at": - return ec.fieldContext_Version_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Version_created_at(ctx, field) - case "link": - return ec.fieldContext_Version_link(ctx, field) - case "targets": - return ec.fieldContext_Version_targets(ctx, field) - case "metadata": - return ec.fieldContext_Version_metadata(ctx, field) - case "size": - return ec.fieldContext_Version_size(ctx, field) - case "hash": - return ec.fieldContext_Version_hash(ctx, field) - case "mod": - return ec.fieldContext_Version_mod(ctx, field) - case "dependencies": - return ec.fieldContext_Version_dependencies(ctx, field) - case "virustotal_results": - return ec.fieldContext_Version_virustotal_results(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _GetMyVersions_count(ctx context.Context, field graphql.CollectedField, obj *GetMyVersions) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_GetMyVersions_count(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.GetMyVersions().Count(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - fc.Result = res - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_GetMyVersions_count(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "GetMyVersions", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Int does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _GetSMLVersions_sml_versions(ctx context.Context, field graphql.CollectedField, obj *GetSMLVersions) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_GetSMLVersions_sml_versions(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.GetSMLVersions().SmlVersions(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*SMLVersion) - fc.Result = res - return ec.marshalNSMLVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersionᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_GetSMLVersions_sml_versions(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "GetSMLVersions", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_SMLVersion_id(ctx, field) - case "version": - return ec.fieldContext_SMLVersion_version(ctx, field) - case "satisfactory_version": - return ec.fieldContext_SMLVersion_satisfactory_version(ctx, field) - case "stability": - return ec.fieldContext_SMLVersion_stability(ctx, field) - case "link": - return ec.fieldContext_SMLVersion_link(ctx, field) - case "targets": - return ec.fieldContext_SMLVersion_targets(ctx, field) - case "changelog": - return ec.fieldContext_SMLVersion_changelog(ctx, field) - case "date": - return ec.fieldContext_SMLVersion_date(ctx, field) - case "bootstrap_version": - return ec.fieldContext_SMLVersion_bootstrap_version(ctx, field) - case "engine_version": - return ec.fieldContext_SMLVersion_engine_version(ctx, field) - case "updated_at": - return ec.fieldContext_SMLVersion_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_SMLVersion_created_at(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type SMLVersion", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _GetSMLVersions_count(ctx context.Context, field graphql.CollectedField, obj *GetSMLVersions) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_GetSMLVersions_count(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.GetSMLVersions().Count(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - fc.Result = res - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_GetSMLVersions_count(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "GetSMLVersions", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Int does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _GetVersions_versions(ctx context.Context, field graphql.CollectedField, obj *GetVersions) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_GetVersions_versions(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.GetVersions().Versions(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Version) - fc.Result = res - return ec.marshalNVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_GetVersions_versions(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "GetVersions", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Version_id(ctx, field) - case "mod_id": - return ec.fieldContext_Version_mod_id(ctx, field) - case "version": - return ec.fieldContext_Version_version(ctx, field) - case "sml_version": - return ec.fieldContext_Version_sml_version(ctx, field) - case "game_version": - return ec.fieldContext_Version_game_version(ctx, field) - case "required_on_remote": - return ec.fieldContext_Version_required_on_remote(ctx, field) - case "changelog": - return ec.fieldContext_Version_changelog(ctx, field) - case "downloads": - return ec.fieldContext_Version_downloads(ctx, field) - case "stability": - return ec.fieldContext_Version_stability(ctx, field) - case "approved": - return ec.fieldContext_Version_approved(ctx, field) - case "updated_at": - return ec.fieldContext_Version_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Version_created_at(ctx, field) - case "link": - return ec.fieldContext_Version_link(ctx, field) - case "targets": - return ec.fieldContext_Version_targets(ctx, field) - case "metadata": - return ec.fieldContext_Version_metadata(ctx, field) - case "size": - return ec.fieldContext_Version_size(ctx, field) - case "hash": - return ec.fieldContext_Version_hash(ctx, field) - case "mod": - return ec.fieldContext_Version_mod(ctx, field) - case "dependencies": - return ec.fieldContext_Version_dependencies(ctx, field) - case "virustotal_results": - return ec.fieldContext_Version_virustotal_results(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _GetVersions_count(ctx context.Context, field graphql.CollectedField, obj *GetVersions) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_GetVersions_count(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.GetVersions().Count(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - fc.Result = res - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_GetVersions_count(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "GetVersions", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Int does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Group_id(ctx context.Context, field graphql.CollectedField, obj *Group) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Group_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Group_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Group", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Group_name(ctx context.Context, field graphql.CollectedField, obj *Group) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Group_name(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Name, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Group_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Group", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Guide_id(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Guide_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNGuideID2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Guide_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Guide", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type GuideID does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Guide_name(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Guide_name(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Name, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Guide_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Guide", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Guide_short_description(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Guide_short_description(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ShortDescription, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Guide_short_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Guide", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Guide_guide(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Guide_guide(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Guide, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Guide_guide(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Guide", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Guide_views(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Guide_views(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Views, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - fc.Result = res - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Guide_views(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Guide", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Int does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Guide_user_id(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Guide_user_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.UserID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNUserID2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Guide_user_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Guide", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type UserID does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Guide_updated_at(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Guide_updated_at(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.UpdatedAt, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNDate2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Guide_updated_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Guide", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Date does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Guide_created_at(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Guide_created_at(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.CreatedAt, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNDate2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Guide_created_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Guide", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Date does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Guide_tags(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Guide_tags(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Tags, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Tag) - fc.Result = res - return ec.marshalNTag2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTagᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Guide_tags(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Guide", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Tag_id(ctx, field) - case "name": - return ec.fieldContext_Tag_name(ctx, field) - case "description": - return ec.fieldContext_Tag_description(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Tag", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _Guide_user(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Guide_user(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Guide().User(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*User) - fc.Result = res - return ec.marshalNUser2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Guide_user(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Guide", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_User_id(ctx, field) - case "email": - return ec.fieldContext_User_email(ctx, field) - case "username": - return ec.fieldContext_User_username(ctx, field) - case "avatar": - return ec.fieldContext_User_avatar(ctx, field) - case "avatar_thumbhash": - return ec.fieldContext_User_avatar_thumbhash(ctx, field) - case "created_at": - return ec.fieldContext_User_created_at(ctx, field) - case "github_id": - return ec.fieldContext_User_github_id(ctx, field) - case "google_id": - return ec.fieldContext_User_google_id(ctx, field) - case "facebook_id": - return ec.fieldContext_User_facebook_id(ctx, field) - case "roles": - return ec.fieldContext_User_roles(ctx, field) - case "groups": - return ec.fieldContext_User_groups(ctx, field) - case "mods": - return ec.fieldContext_User_mods(ctx, field) - case "guides": - return ec.fieldContext_User_guides(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type User", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _LatestVersions_alpha(ctx context.Context, field graphql.CollectedField, obj *LatestVersions) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_LatestVersions_alpha(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Alpha, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Version) - fc.Result = res - return ec.marshalOVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_LatestVersions_alpha(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "LatestVersions", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Version_id(ctx, field) - case "mod_id": - return ec.fieldContext_Version_mod_id(ctx, field) - case "version": - return ec.fieldContext_Version_version(ctx, field) - case "sml_version": - return ec.fieldContext_Version_sml_version(ctx, field) - case "game_version": - return ec.fieldContext_Version_game_version(ctx, field) - case "required_on_remote": - return ec.fieldContext_Version_required_on_remote(ctx, field) - case "changelog": - return ec.fieldContext_Version_changelog(ctx, field) - case "downloads": - return ec.fieldContext_Version_downloads(ctx, field) - case "stability": - return ec.fieldContext_Version_stability(ctx, field) - case "approved": - return ec.fieldContext_Version_approved(ctx, field) - case "updated_at": - return ec.fieldContext_Version_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Version_created_at(ctx, field) - case "link": - return ec.fieldContext_Version_link(ctx, field) - case "targets": - return ec.fieldContext_Version_targets(ctx, field) - case "metadata": - return ec.fieldContext_Version_metadata(ctx, field) - case "size": - return ec.fieldContext_Version_size(ctx, field) - case "hash": - return ec.fieldContext_Version_hash(ctx, field) - case "mod": - return ec.fieldContext_Version_mod(ctx, field) - case "dependencies": - return ec.fieldContext_Version_dependencies(ctx, field) - case "virustotal_results": - return ec.fieldContext_Version_virustotal_results(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _LatestVersions_beta(ctx context.Context, field graphql.CollectedField, obj *LatestVersions) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_LatestVersions_beta(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Beta, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Version) - fc.Result = res - return ec.marshalOVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_LatestVersions_beta(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "LatestVersions", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Version_id(ctx, field) - case "mod_id": - return ec.fieldContext_Version_mod_id(ctx, field) - case "version": - return ec.fieldContext_Version_version(ctx, field) - case "sml_version": - return ec.fieldContext_Version_sml_version(ctx, field) - case "game_version": - return ec.fieldContext_Version_game_version(ctx, field) - case "required_on_remote": - return ec.fieldContext_Version_required_on_remote(ctx, field) - case "changelog": - return ec.fieldContext_Version_changelog(ctx, field) - case "downloads": - return ec.fieldContext_Version_downloads(ctx, field) - case "stability": - return ec.fieldContext_Version_stability(ctx, field) - case "approved": - return ec.fieldContext_Version_approved(ctx, field) - case "updated_at": - return ec.fieldContext_Version_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Version_created_at(ctx, field) - case "link": - return ec.fieldContext_Version_link(ctx, field) - case "targets": - return ec.fieldContext_Version_targets(ctx, field) - case "metadata": - return ec.fieldContext_Version_metadata(ctx, field) - case "size": - return ec.fieldContext_Version_size(ctx, field) - case "hash": - return ec.fieldContext_Version_hash(ctx, field) - case "mod": - return ec.fieldContext_Version_mod(ctx, field) - case "dependencies": - return ec.fieldContext_Version_dependencies(ctx, field) - case "virustotal_results": - return ec.fieldContext_Version_virustotal_results(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _LatestVersions_release(ctx context.Context, field graphql.CollectedField, obj *LatestVersions) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_LatestVersions_release(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Release, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Version) - fc.Result = res - return ec.marshalOVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_LatestVersions_release(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "LatestVersions", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Version_id(ctx, field) - case "mod_id": - return ec.fieldContext_Version_mod_id(ctx, field) - case "version": - return ec.fieldContext_Version_version(ctx, field) - case "sml_version": - return ec.fieldContext_Version_sml_version(ctx, field) - case "game_version": - return ec.fieldContext_Version_game_version(ctx, field) - case "required_on_remote": - return ec.fieldContext_Version_required_on_remote(ctx, field) - case "changelog": - return ec.fieldContext_Version_changelog(ctx, field) - case "downloads": - return ec.fieldContext_Version_downloads(ctx, field) - case "stability": - return ec.fieldContext_Version_stability(ctx, field) - case "approved": - return ec.fieldContext_Version_approved(ctx, field) - case "updated_at": - return ec.fieldContext_Version_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Version_created_at(ctx, field) - case "link": - return ec.fieldContext_Version_link(ctx, field) - case "targets": - return ec.fieldContext_Version_targets(ctx, field) - case "metadata": - return ec.fieldContext_Version_metadata(ctx, field) - case "size": - return ec.fieldContext_Version_size(ctx, field) - case "hash": - return ec.fieldContext_Version_hash(ctx, field) - case "mod": - return ec.fieldContext_Version_mod(ctx, field) - case "dependencies": - return ec.fieldContext_Version_dependencies(ctx, field) - case "virustotal_results": - return ec.fieldContext_Version_virustotal_results(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_id(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNModID2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type ModID does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_name(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_name(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Name, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_short_description(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_short_description(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ShortDescription, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_short_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_full_description(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_full_description(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.FullDescription, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_full_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_logo(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_logo(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Logo, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_logo(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_logo_thumbhash(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_logo_thumbhash(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.LogoThumbhash, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_logo_thumbhash(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_source_url(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_source_url(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.SourceURL, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_source_url(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_creator_id(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_creator_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.CreatorID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNUserID2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_creator_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type UserID does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_approved(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_approved(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Approved, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_approved(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_views(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_views(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Views, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - fc.Result = res - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_views(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Int does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_downloads(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_downloads(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Downloads, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - fc.Result = res - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_downloads(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Int does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_hotness(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_hotness(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Hotness, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - fc.Result = res - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_hotness(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Int does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_popularity(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_popularity(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Popularity, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - fc.Result = res - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_popularity(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Int does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_updated_at(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_updated_at(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.UpdatedAt, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNDate2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_updated_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Date does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_created_at(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_created_at(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.CreatedAt, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNDate2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_created_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Date does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_last_version_date(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_last_version_date(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.LastVersionDate, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalODate2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_last_version_date(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Date does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_mod_reference(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_mod_reference(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ModReference, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNModReference2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_mod_reference(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type ModReference does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_hidden(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_hidden(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Hidden, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_hidden(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_tags(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_tags(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Tags, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.([]*Tag) - fc.Result = res - return ec.marshalOTag2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTagᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_tags(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Tag_id(ctx, field) - case "name": - return ec.fieldContext_Tag_name(ctx, field) - case "description": - return ec.fieldContext_Tag_description(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Tag", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_compatibility(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_compatibility(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Compatibility, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*CompatibilityInfo) - fc.Result = res - return ec.marshalOCompatibilityInfo2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInfo(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_compatibility(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "EA": - return ec.fieldContext_CompatibilityInfo_EA(ctx, field) - case "EXP": - return ec.fieldContext_CompatibilityInfo_EXP(ctx, field) - case "Controller": - return ec.fieldContext_CompatibilityInfo_Controller(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type CompatibilityInfo", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_toggle_network_use(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_toggle_network_use(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ToggleNetworkUse, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_toggle_network_use(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_network_use_disclosure(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_network_use_disclosure(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.NetworkUseDisclosure, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_network_use_disclosure(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_ai_use_disclosure(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_ai_use_disclosure(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.AiUseDisclosure, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*AIUseDisclosureInfo) - fc.Result = res - return ec.marshalOAIUseDisclosureInfo2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAIUseDisclosureInfo(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_ai_use_disclosure(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "disclosure_type": - return ec.fieldContext_AIUseDisclosureInfo_disclosure_type(ctx, field) - case "disclosure_string": - return ec.fieldContext_AIUseDisclosureInfo_disclosure_string(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type AIUseDisclosureInfo", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_toggle_explicit_content(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_toggle_explicit_content(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ToggleExplicitContent, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_toggle_explicit_content(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_authors(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_authors(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mod().Authors(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*UserMod) - fc.Result = res - return ec.marshalNUserMod2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserModᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_authors(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "user_id": - return ec.fieldContext_UserMod_user_id(ctx, field) - case "mod_id": - return ec.fieldContext_UserMod_mod_id(ctx, field) - case "role": - return ec.fieldContext_UserMod_role(ctx, field) - case "user": - return ec.fieldContext_UserMod_user(ctx, field) - case "mod": - return ec.fieldContext_UserMod_mod(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type UserMod", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _Mod_version(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_version(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mod().Version(rctx, obj, fc.Args["version"].(string)) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Version) - fc.Result = res - return ec.marshalOVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_version(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Version_id(ctx, field) - case "mod_id": - return ec.fieldContext_Version_mod_id(ctx, field) - case "version": - return ec.fieldContext_Version_version(ctx, field) - case "sml_version": - return ec.fieldContext_Version_sml_version(ctx, field) - case "game_version": - return ec.fieldContext_Version_game_version(ctx, field) - case "required_on_remote": - return ec.fieldContext_Version_required_on_remote(ctx, field) - case "changelog": - return ec.fieldContext_Version_changelog(ctx, field) - case "downloads": - return ec.fieldContext_Version_downloads(ctx, field) - case "stability": - return ec.fieldContext_Version_stability(ctx, field) - case "approved": - return ec.fieldContext_Version_approved(ctx, field) - case "updated_at": - return ec.fieldContext_Version_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Version_created_at(ctx, field) - case "link": - return ec.fieldContext_Version_link(ctx, field) - case "targets": - return ec.fieldContext_Version_targets(ctx, field) - case "metadata": - return ec.fieldContext_Version_metadata(ctx, field) - case "size": - return ec.fieldContext_Version_size(ctx, field) - case "hash": - return ec.fieldContext_Version_hash(ctx, field) - case "mod": - return ec.fieldContext_Version_mod(ctx, field) - case "dependencies": - return ec.fieldContext_Version_dependencies(ctx, field) - case "virustotal_results": - return ec.fieldContext_Version_virustotal_results(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mod_version_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mod_versions(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_versions(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mod().Versions(rctx, obj, fc.Args["filter"].(map[string]interface{})) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Version) - fc.Result = res - return ec.marshalNVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_versions(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Version_id(ctx, field) - case "mod_id": - return ec.fieldContext_Version_mod_id(ctx, field) - case "version": - return ec.fieldContext_Version_version(ctx, field) - case "sml_version": - return ec.fieldContext_Version_sml_version(ctx, field) - case "game_version": - return ec.fieldContext_Version_game_version(ctx, field) - case "required_on_remote": - return ec.fieldContext_Version_required_on_remote(ctx, field) - case "changelog": - return ec.fieldContext_Version_changelog(ctx, field) - case "downloads": - return ec.fieldContext_Version_downloads(ctx, field) - case "stability": - return ec.fieldContext_Version_stability(ctx, field) - case "approved": - return ec.fieldContext_Version_approved(ctx, field) - case "updated_at": - return ec.fieldContext_Version_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Version_created_at(ctx, field) - case "link": - return ec.fieldContext_Version_link(ctx, field) - case "targets": - return ec.fieldContext_Version_targets(ctx, field) - case "metadata": - return ec.fieldContext_Version_metadata(ctx, field) - case "size": - return ec.fieldContext_Version_size(ctx, field) - case "hash": - return ec.fieldContext_Version_hash(ctx, field) - case "mod": - return ec.fieldContext_Version_mod(ctx, field) - case "dependencies": - return ec.fieldContext_Version_dependencies(ctx, field) - case "virustotal_results": - return ec.fieldContext_Version_virustotal_results(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mod_versions_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mod_latestVersions(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_latestVersions(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mod().LatestVersions(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*LatestVersions) - fc.Result = res - return ec.marshalNLatestVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐLatestVersions(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_latestVersions(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "alpha": - return ec.fieldContext_LatestVersions_alpha(ctx, field) - case "beta": - return ec.fieldContext_LatestVersions_beta(ctx, field) - case "release": - return ec.fieldContext_LatestVersions_release(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type LatestVersions", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _ModVersion_id(ctx context.Context, field graphql.CollectedField, obj *ModVersion) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_ModVersion_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNModID2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_ModVersion_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "ModVersion", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type ModID does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _ModVersion_mod_reference(ctx context.Context, field graphql.CollectedField, obj *ModVersion) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_ModVersion_mod_reference(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ModReference, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNModReference2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_ModVersion_mod_reference(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "ModVersion", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type ModReference does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _ModVersion_versions(ctx context.Context, field graphql.CollectedField, obj *ModVersion) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_ModVersion_versions(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Versions, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Version) - fc.Result = res - return ec.marshalNVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_ModVersion_versions(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "ModVersion", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Version_id(ctx, field) - case "mod_id": - return ec.fieldContext_Version_mod_id(ctx, field) - case "version": - return ec.fieldContext_Version_version(ctx, field) - case "sml_version": - return ec.fieldContext_Version_sml_version(ctx, field) - case "game_version": - return ec.fieldContext_Version_game_version(ctx, field) - case "required_on_remote": - return ec.fieldContext_Version_required_on_remote(ctx, field) - case "changelog": - return ec.fieldContext_Version_changelog(ctx, field) - case "downloads": - return ec.fieldContext_Version_downloads(ctx, field) - case "stability": - return ec.fieldContext_Version_stability(ctx, field) - case "approved": - return ec.fieldContext_Version_approved(ctx, field) - case "updated_at": - return ec.fieldContext_Version_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Version_created_at(ctx, field) - case "link": - return ec.fieldContext_Version_link(ctx, field) - case "targets": - return ec.fieldContext_Version_targets(ctx, field) - case "metadata": - return ec.fieldContext_Version_metadata(ctx, field) - case "size": - return ec.fieldContext_Version_size(ctx, field) - case "hash": - return ec.fieldContext_Version_hash(ctx, field) - case "mod": - return ec.fieldContext_Version_mod(ctx, field) - case "dependencies": - return ec.fieldContext_Version_dependencies(ctx, field) - case "virustotal_results": - return ec.fieldContext_Version_virustotal_results(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _Mutation_discourseSSO(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_discourseSSO(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().DiscourseSso(rctx, fc.Args["sso"].(string), fc.Args["sig"].(string)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *string - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive0) - } - - tmp, err := directive1(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*string); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *string`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_discourseSSO(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_discourseSSO_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_createAnnouncement(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_createAnnouncement(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().CreateAnnouncement(rctx, fc.Args["announcement"].(NewAnnouncement)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.CanEditAnnouncements == nil { - var zeroVal *Announcement - return zeroVal, errors.New("directive canEditAnnouncements is not implemented") - } - return ec.directives.CanEditAnnouncements(ctx, nil, directive0) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *Announcement - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*Announcement); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.Announcement`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Announcement) - fc.Result = res - return ec.marshalOAnnouncement2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncement(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_createAnnouncement(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Announcement_id(ctx, field) - case "message": - return ec.fieldContext_Announcement_message(ctx, field) - case "importance": - return ec.fieldContext_Announcement_importance(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Announcement", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_createAnnouncement_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_updateAnnouncement(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_updateAnnouncement(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().UpdateAnnouncement(rctx, fc.Args["announcementId"].(string), fc.Args["announcement"].(UpdateAnnouncement)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.CanEditAnnouncements == nil { - var zeroVal *Announcement - return zeroVal, errors.New("directive canEditAnnouncements is not implemented") - } - return ec.directives.CanEditAnnouncements(ctx, nil, directive0) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *Announcement - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*Announcement); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.Announcement`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*Announcement) - fc.Result = res - return ec.marshalNAnnouncement2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncement(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_updateAnnouncement(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Announcement_id(ctx, field) - case "message": - return ec.fieldContext_Announcement_message(ctx, field) - case "importance": - return ec.fieldContext_Announcement_importance(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Announcement", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_updateAnnouncement_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_deleteAnnouncement(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_deleteAnnouncement(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().DeleteAnnouncement(rctx, fc.Args["announcementId"].(string)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.CanEditAnnouncements == nil { - var zeroVal bool - return zeroVal, errors.New("directive canEditAnnouncements is not implemented") - } - return ec.directives.CanEditAnnouncements(ctx, nil, directive0) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal bool - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(bool); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_deleteAnnouncement(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_deleteAnnouncement_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_updateModCompatibility(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_updateModCompatibility(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().UpdateModCompatibility(rctx, fc.Args["modId"].(string), fc.Args["compatibility"].(CompatibilityInfoInput)) - } - - directive1 := func(ctx context.Context) (any, error) { - field, err := ec.unmarshalOString2ᚖstring(ctx, "modId") - if err != nil { - var zeroVal bool - return zeroVal, err - } - if ec.directives.CanEditModCompatibility == nil { - var zeroVal bool - return zeroVal, errors.New("directive canEditModCompatibility is not implemented") - } - return ec.directives.CanEditModCompatibility(ctx, nil, directive0, field) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal bool - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(bool); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_updateModCompatibility(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_updateModCompatibility_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_updateMultipleModCompatibilities(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_updateMultipleModCompatibilities(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().UpdateMultipleModCompatibilities(rctx, fc.Args["modIDs"].([]string), fc.Args["compatibility"].(CompatibilityInfoInput)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.CanEditModCompatibility == nil { - var zeroVal bool - return zeroVal, errors.New("directive canEditModCompatibility is not implemented") - } - return ec.directives.CanEditModCompatibility(ctx, nil, directive0, nil) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal bool - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(bool); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_updateMultipleModCompatibilities(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_updateMultipleModCompatibilities_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_createGuide(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_createGuide(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().CreateGuide(rctx, fc.Args["guide"].(NewGuide)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *Guide - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive0) - } - - tmp, err := directive1(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*Guide); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.Guide`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Guide) - fc.Result = res - return ec.marshalOGuide2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuide(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_createGuide(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Guide_id(ctx, field) - case "name": - return ec.fieldContext_Guide_name(ctx, field) - case "short_description": - return ec.fieldContext_Guide_short_description(ctx, field) - case "guide": - return ec.fieldContext_Guide_guide(ctx, field) - case "views": - return ec.fieldContext_Guide_views(ctx, field) - case "user_id": - return ec.fieldContext_Guide_user_id(ctx, field) - case "updated_at": - return ec.fieldContext_Guide_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Guide_created_at(ctx, field) - case "tags": - return ec.fieldContext_Guide_tags(ctx, field) - case "user": - return ec.fieldContext_Guide_user(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Guide", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_createGuide_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_updateGuide(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_updateGuide(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().UpdateGuide(rctx, fc.Args["guideId"].(string), fc.Args["guide"].(UpdateGuide)) - } - - directive1 := func(ctx context.Context) (any, error) { - field, err := ec.unmarshalNString2string(ctx, "guideId") - if err != nil { - var zeroVal *Guide - return zeroVal, err - } - if ec.directives.CanEditGuide == nil { - var zeroVal *Guide - return zeroVal, errors.New("directive canEditGuide is not implemented") - } - return ec.directives.CanEditGuide(ctx, nil, directive0, field) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *Guide - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*Guide); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.Guide`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*Guide) - fc.Result = res - return ec.marshalNGuide2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuide(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_updateGuide(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Guide_id(ctx, field) - case "name": - return ec.fieldContext_Guide_name(ctx, field) - case "short_description": - return ec.fieldContext_Guide_short_description(ctx, field) - case "guide": - return ec.fieldContext_Guide_guide(ctx, field) - case "views": - return ec.fieldContext_Guide_views(ctx, field) - case "user_id": - return ec.fieldContext_Guide_user_id(ctx, field) - case "updated_at": - return ec.fieldContext_Guide_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Guide_created_at(ctx, field) - case "tags": - return ec.fieldContext_Guide_tags(ctx, field) - case "user": - return ec.fieldContext_Guide_user(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Guide", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_updateGuide_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_deleteGuide(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_deleteGuide(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().DeleteGuide(rctx, fc.Args["guideId"].(string)) - } - - directive1 := func(ctx context.Context) (any, error) { - field, err := ec.unmarshalNString2string(ctx, "guideId") - if err != nil { - var zeroVal bool - return zeroVal, err - } - if ec.directives.CanEditGuide == nil { - var zeroVal bool - return zeroVal, errors.New("directive canEditGuide is not implemented") - } - return ec.directives.CanEditGuide(ctx, nil, directive0, field) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal bool - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(bool); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_deleteGuide(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_deleteGuide_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_createMod(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_createMod(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().CreateMod(rctx, fc.Args["mod"].(NewMod)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *Mod - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive0) - } - - tmp, err := directive1(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*Mod); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.Mod`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Mod) - fc.Result = res - return ec.marshalOMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_createMod(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Mod_id(ctx, field) - case "name": - return ec.fieldContext_Mod_name(ctx, field) - case "short_description": - return ec.fieldContext_Mod_short_description(ctx, field) - case "full_description": - return ec.fieldContext_Mod_full_description(ctx, field) - case "logo": - return ec.fieldContext_Mod_logo(ctx, field) - case "logo_thumbhash": - return ec.fieldContext_Mod_logo_thumbhash(ctx, field) - case "source_url": - return ec.fieldContext_Mod_source_url(ctx, field) - case "creator_id": - return ec.fieldContext_Mod_creator_id(ctx, field) - case "approved": - return ec.fieldContext_Mod_approved(ctx, field) - case "views": - return ec.fieldContext_Mod_views(ctx, field) - case "downloads": - return ec.fieldContext_Mod_downloads(ctx, field) - case "hotness": - return ec.fieldContext_Mod_hotness(ctx, field) - case "popularity": - return ec.fieldContext_Mod_popularity(ctx, field) - case "updated_at": - return ec.fieldContext_Mod_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Mod_created_at(ctx, field) - case "last_version_date": - return ec.fieldContext_Mod_last_version_date(ctx, field) - case "mod_reference": - return ec.fieldContext_Mod_mod_reference(ctx, field) - case "hidden": - return ec.fieldContext_Mod_hidden(ctx, field) - case "tags": - return ec.fieldContext_Mod_tags(ctx, field) - case "compatibility": - return ec.fieldContext_Mod_compatibility(ctx, field) - case "toggle_network_use": - return ec.fieldContext_Mod_toggle_network_use(ctx, field) - case "network_use_disclosure": - return ec.fieldContext_Mod_network_use_disclosure(ctx, field) - case "ai_use_disclosure": - return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) - case "toggle_explicit_content": - return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) - case "authors": - return ec.fieldContext_Mod_authors(ctx, field) - case "version": - return ec.fieldContext_Mod_version(ctx, field) - case "versions": - return ec.fieldContext_Mod_versions(ctx, field) - case "latestVersions": - return ec.fieldContext_Mod_latestVersions(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_createMod_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_updateMod(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_updateMod(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().UpdateMod(rctx, fc.Args["modId"].(string), fc.Args["mod"].(UpdateMod)) - } - - directive1 := func(ctx context.Context) (any, error) { - field, err := ec.unmarshalNString2string(ctx, "modId") - if err != nil { - var zeroVal *Mod - return zeroVal, err - } - if ec.directives.CanEditMod == nil { - var zeroVal *Mod - return zeroVal, errors.New("directive canEditMod is not implemented") - } - return ec.directives.CanEditMod(ctx, nil, directive0, field) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *Mod - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*Mod); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.Mod`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*Mod) - fc.Result = res - return ec.marshalNMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_updateMod(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Mod_id(ctx, field) - case "name": - return ec.fieldContext_Mod_name(ctx, field) - case "short_description": - return ec.fieldContext_Mod_short_description(ctx, field) - case "full_description": - return ec.fieldContext_Mod_full_description(ctx, field) - case "logo": - return ec.fieldContext_Mod_logo(ctx, field) - case "logo_thumbhash": - return ec.fieldContext_Mod_logo_thumbhash(ctx, field) - case "source_url": - return ec.fieldContext_Mod_source_url(ctx, field) - case "creator_id": - return ec.fieldContext_Mod_creator_id(ctx, field) - case "approved": - return ec.fieldContext_Mod_approved(ctx, field) - case "views": - return ec.fieldContext_Mod_views(ctx, field) - case "downloads": - return ec.fieldContext_Mod_downloads(ctx, field) - case "hotness": - return ec.fieldContext_Mod_hotness(ctx, field) - case "popularity": - return ec.fieldContext_Mod_popularity(ctx, field) - case "updated_at": - return ec.fieldContext_Mod_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Mod_created_at(ctx, field) - case "last_version_date": - return ec.fieldContext_Mod_last_version_date(ctx, field) - case "mod_reference": - return ec.fieldContext_Mod_mod_reference(ctx, field) - case "hidden": - return ec.fieldContext_Mod_hidden(ctx, field) - case "tags": - return ec.fieldContext_Mod_tags(ctx, field) - case "compatibility": - return ec.fieldContext_Mod_compatibility(ctx, field) - case "toggle_network_use": - return ec.fieldContext_Mod_toggle_network_use(ctx, field) - case "network_use_disclosure": - return ec.fieldContext_Mod_network_use_disclosure(ctx, field) - case "ai_use_disclosure": - return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) - case "toggle_explicit_content": - return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) - case "authors": - return ec.fieldContext_Mod_authors(ctx, field) - case "version": - return ec.fieldContext_Mod_version(ctx, field) - case "versions": - return ec.fieldContext_Mod_versions(ctx, field) - case "latestVersions": - return ec.fieldContext_Mod_latestVersions(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_updateMod_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_deleteMod(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_deleteMod(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().DeleteMod(rctx, fc.Args["modId"].(string)) - } - - directive1 := func(ctx context.Context) (any, error) { - field, err := ec.unmarshalNString2string(ctx, "modId") - if err != nil { - var zeroVal bool - return zeroVal, err - } - if ec.directives.CanEditMod == nil { - var zeroVal bool - return zeroVal, errors.New("directive canEditMod is not implemented") - } - return ec.directives.CanEditMod(ctx, nil, directive0, field) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal bool - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(bool); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_deleteMod(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_deleteMod_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_approveMod(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_approveMod(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().ApproveMod(rctx, fc.Args["modId"].(string)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.CanApproveMods == nil { - var zeroVal bool - return zeroVal, errors.New("directive canApproveMods is not implemented") - } - return ec.directives.CanApproveMods(ctx, nil, directive0) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal bool - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(bool); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_approveMod(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_approveMod_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_denyMod(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_denyMod(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().DenyMod(rctx, fc.Args["modId"].(string)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.CanApproveMods == nil { - var zeroVal bool - return zeroVal, errors.New("directive canApproveMods is not implemented") - } - return ec.directives.CanApproveMods(ctx, nil, directive0) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal bool - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(bool); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_denyMod(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_denyMod_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_createSatisfactoryVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_createSatisfactoryVersion(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().CreateSatisfactoryVersion(rctx, fc.Args["input"].(NewSatisfactoryVersion)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *SatisfactoryVersion - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive0) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.CanEditSatisfactoryVersions == nil { - var zeroVal *SatisfactoryVersion - return zeroVal, errors.New("directive canEditSatisfactoryVersions is not implemented") - } - return ec.directives.CanEditSatisfactoryVersions(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*SatisfactoryVersion); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.SatisfactoryVersion`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*SatisfactoryVersion) - fc.Result = res - return ec.marshalNSatisfactoryVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSatisfactoryVersion(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_createSatisfactoryVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_SatisfactoryVersion_id(ctx, field) - case "version": - return ec.fieldContext_SatisfactoryVersion_version(ctx, field) - case "engine_version": - return ec.fieldContext_SatisfactoryVersion_engine_version(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type SatisfactoryVersion", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_createSatisfactoryVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_updateSatisfactoryVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_updateSatisfactoryVersion(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().UpdateSatisfactoryVersion(rctx, fc.Args["id"].(string), fc.Args["input"].(UpdateSatisfactoryVersion)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *SatisfactoryVersion - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive0) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.CanEditSatisfactoryVersions == nil { - var zeroVal *SatisfactoryVersion - return zeroVal, errors.New("directive canEditSatisfactoryVersions is not implemented") - } - return ec.directives.CanEditSatisfactoryVersions(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*SatisfactoryVersion); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.SatisfactoryVersion`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*SatisfactoryVersion) - fc.Result = res - return ec.marshalNSatisfactoryVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSatisfactoryVersion(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_updateSatisfactoryVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_SatisfactoryVersion_id(ctx, field) - case "version": - return ec.fieldContext_SatisfactoryVersion_version(ctx, field) - case "engine_version": - return ec.fieldContext_SatisfactoryVersion_engine_version(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type SatisfactoryVersion", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_updateSatisfactoryVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_deleteSatisfactoryVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_deleteSatisfactoryVersion(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().DeleteSatisfactoryVersion(rctx, fc.Args["id"].(string)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal bool - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive0) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.CanEditSatisfactoryVersions == nil { - var zeroVal bool - return zeroVal, errors.New("directive canEditSatisfactoryVersions is not implemented") - } - return ec.directives.CanEditSatisfactoryVersions(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(bool); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_deleteSatisfactoryVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_deleteSatisfactoryVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_createTag(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_createTag(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().CreateTag(rctx, fc.Args["tagName"].(string), fc.Args["description"].(string)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.CanManageTags == nil { - var zeroVal *Tag - return zeroVal, errors.New("directive canManageTags is not implemented") - } - return ec.directives.CanManageTags(ctx, nil, directive0) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *Tag - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*Tag); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.Tag`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Tag) - fc.Result = res - return ec.marshalOTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTag(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_createTag(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Tag_id(ctx, field) - case "name": - return ec.fieldContext_Tag_name(ctx, field) - case "description": - return ec.fieldContext_Tag_description(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Tag", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_createTag_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_createMultipleTags(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_createMultipleTags(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().CreateMultipleTags(rctx, fc.Args["tagNames"].([]*NewTag)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.CanManageTags == nil { - var zeroVal []*Tag - return zeroVal, errors.New("directive canManageTags is not implemented") - } - return ec.directives.CanManageTags(ctx, nil, directive0) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal []*Tag - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.([]*Tag); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be []*github.com/satisfactorymodding/smr-api/generated.Tag`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Tag) - fc.Result = res - return ec.marshalNTag2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTagᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_createMultipleTags(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Tag_id(ctx, field) - case "name": - return ec.fieldContext_Tag_name(ctx, field) - case "description": - return ec.fieldContext_Tag_description(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Tag", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_createMultipleTags_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_updateTag(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_updateTag(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().UpdateTag(rctx, fc.Args["tagID"].(string), fc.Args["NewName"].(string), fc.Args["description"].(string)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.CanManageTags == nil { - var zeroVal *Tag - return zeroVal, errors.New("directive canManageTags is not implemented") - } - return ec.directives.CanManageTags(ctx, nil, directive0) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *Tag - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*Tag); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.Tag`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*Tag) - fc.Result = res - return ec.marshalNTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTag(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_updateTag(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Tag_id(ctx, field) - case "name": - return ec.fieldContext_Tag_name(ctx, field) - case "description": - return ec.fieldContext_Tag_description(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Tag", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_updateTag_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_deleteTag(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_deleteTag(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().DeleteTag(rctx, fc.Args["tagID"].(string)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.CanManageTags == nil { - var zeroVal bool - return zeroVal, errors.New("directive canManageTags is not implemented") - } - return ec.directives.CanManageTags(ctx, nil, directive0) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal bool - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(bool); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_deleteTag(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_deleteTag_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_updateUser(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_updateUser(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().UpdateUser(rctx, fc.Args["userId"].(string), fc.Args["input"].(UpdateUser)) - } - - directive1 := func(ctx context.Context) (any, error) { - field, err := ec.unmarshalNString2string(ctx, "userId") - if err != nil { - var zeroVal *User - return zeroVal, err - } - object, err := ec.unmarshalNBoolean2bool(ctx, false) - if err != nil { - var zeroVal *User - return zeroVal, err - } - if ec.directives.CanEditUser == nil { - var zeroVal *User - return zeroVal, errors.New("directive canEditUser is not implemented") - } - return ec.directives.CanEditUser(ctx, nil, directive0, field, object) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *User - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*User); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.User`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*User) - fc.Result = res - return ec.marshalNUser2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_updateUser(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_User_id(ctx, field) - case "email": - return ec.fieldContext_User_email(ctx, field) - case "username": - return ec.fieldContext_User_username(ctx, field) - case "avatar": - return ec.fieldContext_User_avatar(ctx, field) - case "avatar_thumbhash": - return ec.fieldContext_User_avatar_thumbhash(ctx, field) - case "created_at": - return ec.fieldContext_User_created_at(ctx, field) - case "github_id": - return ec.fieldContext_User_github_id(ctx, field) - case "google_id": - return ec.fieldContext_User_google_id(ctx, field) - case "facebook_id": - return ec.fieldContext_User_facebook_id(ctx, field) - case "roles": - return ec.fieldContext_User_roles(ctx, field) - case "groups": - return ec.fieldContext_User_groups(ctx, field) - case "mods": - return ec.fieldContext_User_mods(ctx, field) - case "guides": - return ec.fieldContext_User_guides(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type User", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_updateUser_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_logout(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_logout(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().Logout(rctx) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal bool - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive0) - } - - tmp, err := directive1(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(bool); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_logout(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Mutation_oAuthGithub(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_oAuthGithub(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().OAuthGithub(rctx, fc.Args["code"].(string), fc.Args["state"].(string)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.IsNotLoggedIn == nil { - var zeroVal *UserSession - return zeroVal, errors.New("directive isNotLoggedIn is not implemented") - } - return ec.directives.IsNotLoggedIn(ctx, nil, directive0) - } - - tmp, err := directive1(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*UserSession); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.UserSession`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*UserSession) - fc.Result = res - return ec.marshalOUserSession2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserSession(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_oAuthGithub(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "token": - return ec.fieldContext_UserSession_token(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type UserSession", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_oAuthGithub_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_oAuthGoogle(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_oAuthGoogle(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().OAuthGoogle(rctx, fc.Args["code"].(string), fc.Args["state"].(string)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.IsNotLoggedIn == nil { - var zeroVal *UserSession - return zeroVal, errors.New("directive isNotLoggedIn is not implemented") - } - return ec.directives.IsNotLoggedIn(ctx, nil, directive0) - } - - tmp, err := directive1(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*UserSession); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.UserSession`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*UserSession) - fc.Result = res - return ec.marshalOUserSession2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserSession(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_oAuthGoogle(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "token": - return ec.fieldContext_UserSession_token(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type UserSession", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_oAuthGoogle_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_oAuthFacebook(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_oAuthFacebook(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().OAuthFacebook(rctx, fc.Args["code"].(string), fc.Args["state"].(string)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.IsNotLoggedIn == nil { - var zeroVal *UserSession - return zeroVal, errors.New("directive isNotLoggedIn is not implemented") - } - return ec.directives.IsNotLoggedIn(ctx, nil, directive0) - } - - tmp, err := directive1(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*UserSession); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.UserSession`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*UserSession) - fc.Result = res - return ec.marshalOUserSession2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserSession(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_oAuthFacebook(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "token": - return ec.fieldContext_UserSession_token(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type UserSession", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_oAuthFacebook_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_createVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_createVersion(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().CreateVersion(rctx, fc.Args["modId"].(string)) - } - - directive1 := func(ctx context.Context) (any, error) { - field, err := ec.unmarshalNString2string(ctx, "modId") - if err != nil { - var zeroVal string - return zeroVal, err - } - if ec.directives.CanEditMod == nil { - var zeroVal string - return zeroVal, errors.New("directive canEditMod is not implemented") - } - return ec.directives.CanEditMod(ctx, nil, directive0, field) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal string - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(string); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be string`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNVersionID2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_createVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type VersionID does not have child fields") - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_createVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_uploadVersionPart(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_uploadVersionPart(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().UploadVersionPart(rctx, fc.Args["modId"].(string), fc.Args["versionId"].(string), fc.Args["part"].(int), fc.Args["file"].(graphql.Upload)) - } - - directive1 := func(ctx context.Context) (any, error) { - field, err := ec.unmarshalNString2string(ctx, "modId") - if err != nil { - var zeroVal bool - return zeroVal, err - } - if ec.directives.CanEditMod == nil { - var zeroVal bool - return zeroVal, errors.New("directive canEditMod is not implemented") - } - return ec.directives.CanEditMod(ctx, nil, directive0, field) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal bool - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(bool); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_uploadVersionPart(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_uploadVersionPart_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_finalizeCreateVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_finalizeCreateVersion(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().FinalizeCreateVersion(rctx, fc.Args["modId"].(string), fc.Args["versionId"].(string), fc.Args["version"].(NewVersion)) - } - - directive1 := func(ctx context.Context) (any, error) { - field, err := ec.unmarshalNString2string(ctx, "modId") - if err != nil { - var zeroVal bool - return zeroVal, err - } - if ec.directives.CanEditMod == nil { - var zeroVal bool - return zeroVal, errors.New("directive canEditMod is not implemented") - } - return ec.directives.CanEditMod(ctx, nil, directive0, field) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal bool - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(bool); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_finalizeCreateVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_finalizeCreateVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_updateVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_updateVersion(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().UpdateVersion(rctx, fc.Args["versionId"].(string), fc.Args["version"].(UpdateVersion)) - } - - directive1 := func(ctx context.Context) (any, error) { - field, err := ec.unmarshalNString2string(ctx, "versionId") - if err != nil { - var zeroVal *Version - return zeroVal, err - } - if ec.directives.CanEditVersion == nil { - var zeroVal *Version - return zeroVal, errors.New("directive canEditVersion is not implemented") - } - return ec.directives.CanEditVersion(ctx, nil, directive0, field) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *Version - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*Version); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.Version`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*Version) - fc.Result = res - return ec.marshalNVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_updateVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Version_id(ctx, field) - case "mod_id": - return ec.fieldContext_Version_mod_id(ctx, field) - case "version": - return ec.fieldContext_Version_version(ctx, field) - case "sml_version": - return ec.fieldContext_Version_sml_version(ctx, field) - case "game_version": - return ec.fieldContext_Version_game_version(ctx, field) - case "required_on_remote": - return ec.fieldContext_Version_required_on_remote(ctx, field) - case "changelog": - return ec.fieldContext_Version_changelog(ctx, field) - case "downloads": - return ec.fieldContext_Version_downloads(ctx, field) - case "stability": - return ec.fieldContext_Version_stability(ctx, field) - case "approved": - return ec.fieldContext_Version_approved(ctx, field) - case "updated_at": - return ec.fieldContext_Version_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Version_created_at(ctx, field) - case "link": - return ec.fieldContext_Version_link(ctx, field) - case "targets": - return ec.fieldContext_Version_targets(ctx, field) - case "metadata": - return ec.fieldContext_Version_metadata(ctx, field) - case "size": - return ec.fieldContext_Version_size(ctx, field) - case "hash": - return ec.fieldContext_Version_hash(ctx, field) - case "mod": - return ec.fieldContext_Version_mod(ctx, field) - case "dependencies": - return ec.fieldContext_Version_dependencies(ctx, field) - case "virustotal_results": - return ec.fieldContext_Version_virustotal_results(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_updateVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_deleteVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_deleteVersion(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().DeleteVersion(rctx, fc.Args["versionId"].(string)) - } - - directive1 := func(ctx context.Context) (any, error) { - field, err := ec.unmarshalNString2string(ctx, "versionId") - if err != nil { - var zeroVal bool - return zeroVal, err - } - if ec.directives.CanEditVersion == nil { - var zeroVal bool - return zeroVal, errors.New("directive canEditVersion is not implemented") - } - return ec.directives.CanEditVersion(ctx, nil, directive0, field) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal bool - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(bool); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_deleteVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_deleteVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_approveVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_approveVersion(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().ApproveVersion(rctx, fc.Args["versionId"].(string)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.CanApproveVersions == nil { - var zeroVal bool - return zeroVal, errors.New("directive canApproveVersions is not implemented") - } - return ec.directives.CanApproveVersions(ctx, nil, directive0) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal bool - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(bool); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_approveVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_approveVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Mutation_denyVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mutation_denyVersion(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Mutation().DenyVersion(rctx, fc.Args["versionId"].(string)) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.CanApproveVersions == nil { - var zeroVal bool - return zeroVal, errors.New("directive canApproveVersions is not implemented") - } - return ec.directives.CanApproveVersions(ctx, nil, directive0) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal bool - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(bool); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mutation_denyVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mutation", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Mutation_denyVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _OAuthOptions_github(ctx context.Context, field graphql.CollectedField, obj *OAuthOptions) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_OAuthOptions_github(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Github, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_OAuthOptions_github(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "OAuthOptions", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _OAuthOptions_google(ctx context.Context, field graphql.CollectedField, obj *OAuthOptions) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_OAuthOptions_google(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Google, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_OAuthOptions_google(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "OAuthOptions", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _OAuthOptions_facebook(ctx context.Context, field graphql.CollectedField, obj *OAuthOptions) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_OAuthOptions_facebook(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Facebook, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_OAuthOptions_facebook(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "OAuthOptions", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Query_getOAuthOptions(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getOAuthOptions(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetOAuthOptions(rctx, fc.Args["callback_url"].(string)) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*OAuthOptions) - fc.Result = res - return ec.marshalNOAuthOptions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOAuthOptions(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getOAuthOptions(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "github": - return ec.fieldContext_OAuthOptions_github(ctx, field) - case "google": - return ec.fieldContext_OAuthOptions_google(ctx, field) - case "facebook": - return ec.fieldContext_OAuthOptions_facebook(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type OAuthOptions", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getOAuthOptions_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getAnnouncement(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getAnnouncement(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetAnnouncement(rctx, fc.Args["announcementId"].(string)) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Announcement) - fc.Result = res - return ec.marshalOAnnouncement2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncement(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getAnnouncement(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Announcement_id(ctx, field) - case "message": - return ec.fieldContext_Announcement_message(ctx, field) - case "importance": - return ec.fieldContext_Announcement_importance(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Announcement", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getAnnouncement_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getAnnouncements(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getAnnouncements(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetAnnouncements(rctx) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Announcement) - fc.Result = res - return ec.marshalNAnnouncement2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getAnnouncements(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Announcement_id(ctx, field) - case "message": - return ec.fieldContext_Announcement_message(ctx, field) - case "importance": - return ec.fieldContext_Announcement_importance(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Announcement", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _Query_getAnnouncementsByImportance(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getAnnouncementsByImportance(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetAnnouncementsByImportance(rctx, fc.Args["importance"].(AnnouncementImportance)) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Announcement) - fc.Result = res - return ec.marshalNAnnouncement2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getAnnouncementsByImportance(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Announcement_id(ctx, field) - case "message": - return ec.fieldContext_Announcement_message(ctx, field) - case "importance": - return ec.fieldContext_Announcement_importance(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Announcement", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getAnnouncementsByImportance_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getGuide(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getGuide(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetGuide(rctx, fc.Args["guideId"].(string)) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Guide) - fc.Result = res - return ec.marshalOGuide2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuide(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getGuide(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Guide_id(ctx, field) - case "name": - return ec.fieldContext_Guide_name(ctx, field) - case "short_description": - return ec.fieldContext_Guide_short_description(ctx, field) - case "guide": - return ec.fieldContext_Guide_guide(ctx, field) - case "views": - return ec.fieldContext_Guide_views(ctx, field) - case "user_id": - return ec.fieldContext_Guide_user_id(ctx, field) - case "updated_at": - return ec.fieldContext_Guide_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Guide_created_at(ctx, field) - case "tags": - return ec.fieldContext_Guide_tags(ctx, field) - case "user": - return ec.fieldContext_Guide_user(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Guide", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getGuide_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getGuides(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getGuides(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetGuides(rctx, fc.Args["filter"].(map[string]interface{})) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*GetGuides) - fc.Result = res - return ec.marshalNGetGuides2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetGuides(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getGuides(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "guides": - return ec.fieldContext_GetGuides_guides(ctx, field) - case "count": - return ec.fieldContext_GetGuides_count(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type GetGuides", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getGuides_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getMod(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getMod(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetMod(rctx, fc.Args["modId"].(string)) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Mod) - fc.Result = res - return ec.marshalOMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getMod(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Mod_id(ctx, field) - case "name": - return ec.fieldContext_Mod_name(ctx, field) - case "short_description": - return ec.fieldContext_Mod_short_description(ctx, field) - case "full_description": - return ec.fieldContext_Mod_full_description(ctx, field) - case "logo": - return ec.fieldContext_Mod_logo(ctx, field) - case "logo_thumbhash": - return ec.fieldContext_Mod_logo_thumbhash(ctx, field) - case "source_url": - return ec.fieldContext_Mod_source_url(ctx, field) - case "creator_id": - return ec.fieldContext_Mod_creator_id(ctx, field) - case "approved": - return ec.fieldContext_Mod_approved(ctx, field) - case "views": - return ec.fieldContext_Mod_views(ctx, field) - case "downloads": - return ec.fieldContext_Mod_downloads(ctx, field) - case "hotness": - return ec.fieldContext_Mod_hotness(ctx, field) - case "popularity": - return ec.fieldContext_Mod_popularity(ctx, field) - case "updated_at": - return ec.fieldContext_Mod_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Mod_created_at(ctx, field) - case "last_version_date": - return ec.fieldContext_Mod_last_version_date(ctx, field) - case "mod_reference": - return ec.fieldContext_Mod_mod_reference(ctx, field) - case "hidden": - return ec.fieldContext_Mod_hidden(ctx, field) - case "tags": - return ec.fieldContext_Mod_tags(ctx, field) - case "compatibility": - return ec.fieldContext_Mod_compatibility(ctx, field) - case "toggle_network_use": - return ec.fieldContext_Mod_toggle_network_use(ctx, field) - case "network_use_disclosure": - return ec.fieldContext_Mod_network_use_disclosure(ctx, field) - case "ai_use_disclosure": - return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) - case "toggle_explicit_content": - return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) - case "authors": - return ec.fieldContext_Mod_authors(ctx, field) - case "version": - return ec.fieldContext_Mod_version(ctx, field) - case "versions": - return ec.fieldContext_Mod_versions(ctx, field) - case "latestVersions": - return ec.fieldContext_Mod_latestVersions(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getMod_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getModByReference(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getModByReference(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetModByReference(rctx, fc.Args["modReference"].(string)) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Mod) - fc.Result = res - return ec.marshalOMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getModByReference(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Mod_id(ctx, field) - case "name": - return ec.fieldContext_Mod_name(ctx, field) - case "short_description": - return ec.fieldContext_Mod_short_description(ctx, field) - case "full_description": - return ec.fieldContext_Mod_full_description(ctx, field) - case "logo": - return ec.fieldContext_Mod_logo(ctx, field) - case "logo_thumbhash": - return ec.fieldContext_Mod_logo_thumbhash(ctx, field) - case "source_url": - return ec.fieldContext_Mod_source_url(ctx, field) - case "creator_id": - return ec.fieldContext_Mod_creator_id(ctx, field) - case "approved": - return ec.fieldContext_Mod_approved(ctx, field) - case "views": - return ec.fieldContext_Mod_views(ctx, field) - case "downloads": - return ec.fieldContext_Mod_downloads(ctx, field) - case "hotness": - return ec.fieldContext_Mod_hotness(ctx, field) - case "popularity": - return ec.fieldContext_Mod_popularity(ctx, field) - case "updated_at": - return ec.fieldContext_Mod_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Mod_created_at(ctx, field) - case "last_version_date": - return ec.fieldContext_Mod_last_version_date(ctx, field) - case "mod_reference": - return ec.fieldContext_Mod_mod_reference(ctx, field) - case "hidden": - return ec.fieldContext_Mod_hidden(ctx, field) - case "tags": - return ec.fieldContext_Mod_tags(ctx, field) - case "compatibility": - return ec.fieldContext_Mod_compatibility(ctx, field) - case "toggle_network_use": - return ec.fieldContext_Mod_toggle_network_use(ctx, field) - case "network_use_disclosure": - return ec.fieldContext_Mod_network_use_disclosure(ctx, field) - case "ai_use_disclosure": - return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) - case "toggle_explicit_content": - return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) - case "authors": - return ec.fieldContext_Mod_authors(ctx, field) - case "version": - return ec.fieldContext_Mod_version(ctx, field) - case "versions": - return ec.fieldContext_Mod_versions(ctx, field) - case "latestVersions": - return ec.fieldContext_Mod_latestVersions(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getModByReference_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getModByIdOrReference(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getModByIdOrReference(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetModByIDOrReference(rctx, fc.Args["modIdOrReference"].(string)) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Mod) - fc.Result = res - return ec.marshalOMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getModByIdOrReference(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Mod_id(ctx, field) - case "name": - return ec.fieldContext_Mod_name(ctx, field) - case "short_description": - return ec.fieldContext_Mod_short_description(ctx, field) - case "full_description": - return ec.fieldContext_Mod_full_description(ctx, field) - case "logo": - return ec.fieldContext_Mod_logo(ctx, field) - case "logo_thumbhash": - return ec.fieldContext_Mod_logo_thumbhash(ctx, field) - case "source_url": - return ec.fieldContext_Mod_source_url(ctx, field) - case "creator_id": - return ec.fieldContext_Mod_creator_id(ctx, field) - case "approved": - return ec.fieldContext_Mod_approved(ctx, field) - case "views": - return ec.fieldContext_Mod_views(ctx, field) - case "downloads": - return ec.fieldContext_Mod_downloads(ctx, field) - case "hotness": - return ec.fieldContext_Mod_hotness(ctx, field) - case "popularity": - return ec.fieldContext_Mod_popularity(ctx, field) - case "updated_at": - return ec.fieldContext_Mod_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Mod_created_at(ctx, field) - case "last_version_date": - return ec.fieldContext_Mod_last_version_date(ctx, field) - case "mod_reference": - return ec.fieldContext_Mod_mod_reference(ctx, field) - case "hidden": - return ec.fieldContext_Mod_hidden(ctx, field) - case "tags": - return ec.fieldContext_Mod_tags(ctx, field) - case "compatibility": - return ec.fieldContext_Mod_compatibility(ctx, field) - case "toggle_network_use": - return ec.fieldContext_Mod_toggle_network_use(ctx, field) - case "network_use_disclosure": - return ec.fieldContext_Mod_network_use_disclosure(ctx, field) - case "ai_use_disclosure": - return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) - case "toggle_explicit_content": - return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) - case "authors": - return ec.fieldContext_Mod_authors(ctx, field) - case "version": - return ec.fieldContext_Mod_version(ctx, field) - case "versions": - return ec.fieldContext_Mod_versions(ctx, field) - case "latestVersions": - return ec.fieldContext_Mod_latestVersions(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getModByIdOrReference_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getMods(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getMods(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetMods(rctx, fc.Args["filter"].(map[string]interface{})) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*GetMods) - fc.Result = res - return ec.marshalNGetMods2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMods(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getMods(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "mods": - return ec.fieldContext_GetMods_mods(ctx, field) - case "count": - return ec.fieldContext_GetMods_count(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type GetMods", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getMods_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getUnapprovedMods(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getUnapprovedMods(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetUnapprovedMods(rctx, fc.Args["filter"].(map[string]interface{})) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.CanApproveMods == nil { - var zeroVal *GetMods - return zeroVal, errors.New("directive canApproveMods is not implemented") - } - return ec.directives.CanApproveMods(ctx, nil, directive0) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *GetMods - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*GetMods); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.GetMods`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*GetMods) - fc.Result = res - return ec.marshalNGetMods2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMods(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getUnapprovedMods(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "mods": - return ec.fieldContext_GetMods_mods(ctx, field) - case "count": - return ec.fieldContext_GetMods_count(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type GetMods", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getUnapprovedMods_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getMyMods(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getMyMods(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetMyMods(rctx, fc.Args["filter"].(map[string]interface{})) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *GetMyMods - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive0) - } - - tmp, err := directive1(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*GetMyMods); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.GetMyMods`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*GetMyMods) - fc.Result = res - return ec.marshalNGetMyMods2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMyMods(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getMyMods(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "mods": - return ec.fieldContext_GetMyMods_mods(ctx, field) - case "count": - return ec.fieldContext_GetMyMods_count(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type GetMyMods", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getMyMods_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getMyUnapprovedMods(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getMyUnapprovedMods(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetMyUnapprovedMods(rctx, fc.Args["filter"].(map[string]interface{})) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *GetMyMods - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive0) - } - - tmp, err := directive1(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*GetMyMods); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.GetMyMods`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*GetMyMods) - fc.Result = res - return ec.marshalNGetMyMods2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMyMods(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getMyUnapprovedMods(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "mods": - return ec.fieldContext_GetMyMods_mods(ctx, field) - case "count": - return ec.fieldContext_GetMyMods_count(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type GetMyMods", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getMyUnapprovedMods_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_resolveModVersions(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_resolveModVersions(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().ResolveModVersions(rctx, fc.Args["filter"].([]*ModVersionConstraint)) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*ModVersion) - fc.Result = res - return ec.marshalNModVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModVersionᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_resolveModVersions(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_ModVersion_id(ctx, field) - case "mod_reference": - return ec.fieldContext_ModVersion_mod_reference(ctx, field) - case "versions": - return ec.fieldContext_ModVersion_versions(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type ModVersion", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_resolveModVersions_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getModAssetList(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getModAssetList(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetModAssetList(rctx, fc.Args["modReference"].(string)) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]string) - fc.Result = res - return ec.marshalNString2ᚕstringᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getModAssetList(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getModAssetList_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getSatisfactoryVersions(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getSatisfactoryVersions(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetSatisfactoryVersions(rctx) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*SatisfactoryVersion) - fc.Result = res - return ec.marshalNSatisfactoryVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSatisfactoryVersionᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getSatisfactoryVersions(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_SatisfactoryVersion_id(ctx, field) - case "version": - return ec.fieldContext_SatisfactoryVersion_version(ctx, field) - case "engine_version": - return ec.fieldContext_SatisfactoryVersion_engine_version(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type SatisfactoryVersion", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _Query_getSatisfactoryVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getSatisfactoryVersion(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetSatisfactoryVersion(rctx, fc.Args["id"].(string)) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*SatisfactoryVersion) - fc.Result = res - return ec.marshalOSatisfactoryVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSatisfactoryVersion(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getSatisfactoryVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_SatisfactoryVersion_id(ctx, field) - case "version": - return ec.fieldContext_SatisfactoryVersion_version(ctx, field) - case "engine_version": - return ec.fieldContext_SatisfactoryVersion_engine_version(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type SatisfactoryVersion", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getSatisfactoryVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getSMLVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getSMLVersion(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetSMLVersion(rctx, fc.Args["smlVersionID"].(string)) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*SMLVersion) - fc.Result = res - return ec.marshalOSMLVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersion(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getSMLVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_SMLVersion_id(ctx, field) - case "version": - return ec.fieldContext_SMLVersion_version(ctx, field) - case "satisfactory_version": - return ec.fieldContext_SMLVersion_satisfactory_version(ctx, field) - case "stability": - return ec.fieldContext_SMLVersion_stability(ctx, field) - case "link": - return ec.fieldContext_SMLVersion_link(ctx, field) - case "targets": - return ec.fieldContext_SMLVersion_targets(ctx, field) - case "changelog": - return ec.fieldContext_SMLVersion_changelog(ctx, field) - case "date": - return ec.fieldContext_SMLVersion_date(ctx, field) - case "bootstrap_version": - return ec.fieldContext_SMLVersion_bootstrap_version(ctx, field) - case "engine_version": - return ec.fieldContext_SMLVersion_engine_version(ctx, field) - case "updated_at": - return ec.fieldContext_SMLVersion_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_SMLVersion_created_at(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type SMLVersion", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getSMLVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getSMLVersions(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getSMLVersions(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetSMLVersions(rctx, fc.Args["filter"].(map[string]interface{})) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*GetSMLVersions) - fc.Result = res - return ec.marshalNGetSMLVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetSMLVersions(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getSMLVersions(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "sml_versions": - return ec.fieldContext_GetSMLVersions_sml_versions(ctx, field) - case "count": - return ec.fieldContext_GetSMLVersions_count(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type GetSMLVersions", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getSMLVersions_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getTag(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getTag(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetTag(rctx, fc.Args["tagID"].(string)) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Tag) - fc.Result = res - return ec.marshalOTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTag(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getTag(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Tag_id(ctx, field) - case "name": - return ec.fieldContext_Tag_name(ctx, field) - case "description": - return ec.fieldContext_Tag_description(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Tag", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getTag_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getTags(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getTags(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetTags(rctx, fc.Args["filter"].(*TagFilter)) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Tag) - fc.Result = res - return ec.marshalNTag2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTagᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getTags(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Tag_id(ctx, field) - case "name": - return ec.fieldContext_Tag_name(ctx, field) - case "description": - return ec.fieldContext_Tag_description(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Tag", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getTags_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getMe(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getMe(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetMe(rctx) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *User - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive0) - } - - tmp, err := directive1(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*User); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.User`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*User) - fc.Result = res - return ec.marshalOUser2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getMe(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_User_id(ctx, field) - case "email": - return ec.fieldContext_User_email(ctx, field) - case "username": - return ec.fieldContext_User_username(ctx, field) - case "avatar": - return ec.fieldContext_User_avatar(ctx, field) - case "avatar_thumbhash": - return ec.fieldContext_User_avatar_thumbhash(ctx, field) - case "created_at": - return ec.fieldContext_User_created_at(ctx, field) - case "github_id": - return ec.fieldContext_User_github_id(ctx, field) - case "google_id": - return ec.fieldContext_User_google_id(ctx, field) - case "facebook_id": - return ec.fieldContext_User_facebook_id(ctx, field) - case "roles": - return ec.fieldContext_User_roles(ctx, field) - case "groups": - return ec.fieldContext_User_groups(ctx, field) - case "mods": - return ec.fieldContext_User_mods(ctx, field) - case "guides": - return ec.fieldContext_User_guides(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type User", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _Query_getUser(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getUser(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetUser(rctx, fc.Args["userId"].(string)) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*User) - fc.Result = res - return ec.marshalOUser2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getUser(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_User_id(ctx, field) - case "email": - return ec.fieldContext_User_email(ctx, field) - case "username": - return ec.fieldContext_User_username(ctx, field) - case "avatar": - return ec.fieldContext_User_avatar(ctx, field) - case "avatar_thumbhash": - return ec.fieldContext_User_avatar_thumbhash(ctx, field) - case "created_at": - return ec.fieldContext_User_created_at(ctx, field) - case "github_id": - return ec.fieldContext_User_github_id(ctx, field) - case "google_id": - return ec.fieldContext_User_google_id(ctx, field) - case "facebook_id": - return ec.fieldContext_User_facebook_id(ctx, field) - case "roles": - return ec.fieldContext_User_roles(ctx, field) - case "groups": - return ec.fieldContext_User_groups(ctx, field) - case "mods": - return ec.fieldContext_User_mods(ctx, field) - case "guides": - return ec.fieldContext_User_guides(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type User", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getUser_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getUsers(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getUsers(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetUsers(rctx, fc.Args["userIds"].([]string)) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*User) - fc.Result = res - return ec.marshalNUser2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getUsers(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_User_id(ctx, field) - case "email": - return ec.fieldContext_User_email(ctx, field) - case "username": - return ec.fieldContext_User_username(ctx, field) - case "avatar": - return ec.fieldContext_User_avatar(ctx, field) - case "avatar_thumbhash": - return ec.fieldContext_User_avatar_thumbhash(ctx, field) - case "created_at": - return ec.fieldContext_User_created_at(ctx, field) - case "github_id": - return ec.fieldContext_User_github_id(ctx, field) - case "google_id": - return ec.fieldContext_User_google_id(ctx, field) - case "facebook_id": - return ec.fieldContext_User_facebook_id(ctx, field) - case "roles": - return ec.fieldContext_User_roles(ctx, field) - case "groups": - return ec.fieldContext_User_groups(ctx, field) - case "mods": - return ec.fieldContext_User_mods(ctx, field) - case "guides": - return ec.fieldContext_User_guides(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type User", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getUsers_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getVersion(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetVersion(rctx, fc.Args["versionId"].(string)) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Version) - fc.Result = res - return ec.marshalOVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Version_id(ctx, field) - case "mod_id": - return ec.fieldContext_Version_mod_id(ctx, field) - case "version": - return ec.fieldContext_Version_version(ctx, field) - case "sml_version": - return ec.fieldContext_Version_sml_version(ctx, field) - case "game_version": - return ec.fieldContext_Version_game_version(ctx, field) - case "required_on_remote": - return ec.fieldContext_Version_required_on_remote(ctx, field) - case "changelog": - return ec.fieldContext_Version_changelog(ctx, field) - case "downloads": - return ec.fieldContext_Version_downloads(ctx, field) - case "stability": - return ec.fieldContext_Version_stability(ctx, field) - case "approved": - return ec.fieldContext_Version_approved(ctx, field) - case "updated_at": - return ec.fieldContext_Version_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Version_created_at(ctx, field) - case "link": - return ec.fieldContext_Version_link(ctx, field) - case "targets": - return ec.fieldContext_Version_targets(ctx, field) - case "metadata": - return ec.fieldContext_Version_metadata(ctx, field) - case "size": - return ec.fieldContext_Version_size(ctx, field) - case "hash": - return ec.fieldContext_Version_hash(ctx, field) - case "mod": - return ec.fieldContext_Version_mod(ctx, field) - case "dependencies": - return ec.fieldContext_Version_dependencies(ctx, field) - case "virustotal_results": - return ec.fieldContext_Version_virustotal_results(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getVersions(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getVersions(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetVersions(rctx, fc.Args["filter"].(map[string]interface{})) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*GetVersions) - fc.Result = res - return ec.marshalNGetVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetVersions(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getVersions(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "versions": - return ec.fieldContext_GetVersions_versions(ctx, field) - case "count": - return ec.fieldContext_GetVersions_count(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type GetVersions", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getVersions_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getUnapprovedVersions(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getUnapprovedVersions(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetUnapprovedVersions(rctx, fc.Args["filter"].(map[string]interface{})) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.CanApproveVersions == nil { - var zeroVal *GetVersions - return zeroVal, errors.New("directive canApproveVersions is not implemented") - } - return ec.directives.CanApproveVersions(ctx, nil, directive0) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *GetVersions - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*GetVersions); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.GetVersions`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*GetVersions) - fc.Result = res - return ec.marshalNGetVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetVersions(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getUnapprovedVersions(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "versions": - return ec.fieldContext_GetVersions_versions(ctx, field) - case "count": - return ec.fieldContext_GetVersions_count(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type GetVersions", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getUnapprovedVersions_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_checkVersionUploadState(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_checkVersionUploadState(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().CheckVersionUploadState(rctx, fc.Args["modId"].(string), fc.Args["versionId"].(string)) - } - - directive1 := func(ctx context.Context) (any, error) { - field, err := ec.unmarshalNString2string(ctx, "modId") - if err != nil { - var zeroVal *CreateVersionResponse - return zeroVal, err - } - if ec.directives.CanEditMod == nil { - var zeroVal *CreateVersionResponse - return zeroVal, errors.New("directive canEditMod is not implemented") - } - return ec.directives.CanEditMod(ctx, nil, directive0, field) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *CreateVersionResponse - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*CreateVersionResponse); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.CreateVersionResponse`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*CreateVersionResponse) - fc.Result = res - return ec.marshalOCreateVersionResponse2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCreateVersionResponse(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_checkVersionUploadState(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "auto_approved": - return ec.fieldContext_CreateVersionResponse_auto_approved(ctx, field) - case "version": - return ec.fieldContext_CreateVersionResponse_version(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type CreateVersionResponse", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_checkVersionUploadState_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getMyVersions(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getMyVersions(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetMyVersions(rctx, fc.Args["filter"].(map[string]interface{})) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *GetMyVersions - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive0) - } - - tmp, err := directive1(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*GetMyVersions); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.GetMyVersions`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*GetMyVersions) - fc.Result = res - return ec.marshalNGetMyVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMyVersions(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getMyVersions(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "versions": - return ec.fieldContext_GetMyVersions_versions(ctx, field) - case "count": - return ec.fieldContext_GetMyVersions_count(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type GetMyVersions", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getMyVersions_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query_getMyUnapprovedVersions(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query_getMyUnapprovedVersions(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Query().GetMyUnapprovedVersions(rctx, fc.Args["filter"].(map[string]interface{})) - } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *GetMyVersions - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, nil, directive0) - } - - tmp, err := directive1(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*GetMyVersions); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.GetMyVersions`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*GetMyVersions) - fc.Result = res - return ec.marshalNGetMyVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMyVersions(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query_getMyUnapprovedVersions(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "versions": - return ec.fieldContext_GetMyVersions_versions(ctx, field) - case "count": - return ec.fieldContext_GetMyVersions_count(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type GetMyVersions", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query_getMyUnapprovedVersions_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query___type(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query___type(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.introspectType(fc.Args["name"].(string)) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*introspection.Type) - fc.Result = res - return ec.marshalO__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query___type(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "kind": - return ec.fieldContext___Type_kind(ctx, field) - case "name": - return ec.fieldContext___Type_name(ctx, field) - case "description": - return ec.fieldContext___Type_description(ctx, field) - case "specifiedByURL": - return ec.fieldContext___Type_specifiedByURL(ctx, field) - case "fields": - return ec.fieldContext___Type_fields(ctx, field) - case "interfaces": - return ec.fieldContext___Type_interfaces(ctx, field) - case "possibleTypes": - return ec.fieldContext___Type_possibleTypes(ctx, field) - case "enumValues": - return ec.fieldContext___Type_enumValues(ctx, field) - case "inputFields": - return ec.fieldContext___Type_inputFields(ctx, field) - case "ofType": - return ec.fieldContext___Type_ofType(ctx, field) - case "isOneOf": - return ec.fieldContext___Type_isOneOf(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field_Query___type_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) _Query___schema(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Query___schema(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.introspectSchema() - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*introspection.Schema) - fc.Result = res - return ec.marshalO__Schema2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐSchema(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Query___schema(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Query", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "description": - return ec.fieldContext___Schema_description(ctx, field) - case "types": - return ec.fieldContext___Schema_types(ctx, field) - case "queryType": - return ec.fieldContext___Schema_queryType(ctx, field) - case "mutationType": - return ec.fieldContext___Schema_mutationType(ctx, field) - case "subscriptionType": - return ec.fieldContext___Schema_subscriptionType(ctx, field) - case "directives": - return ec.fieldContext___Schema_directives(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type __Schema", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _SMLVersion_id(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SMLVersion_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNSMLVersionID2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_SMLVersion_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "SMLVersion", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type SMLVersionID does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _SMLVersion_version(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SMLVersion_version(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Version, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_SMLVersion_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "SMLVersion", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _SMLVersion_satisfactory_version(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SMLVersion_satisfactory_version(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.SatisfactoryVersion, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - fc.Result = res - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_SMLVersion_satisfactory_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "SMLVersion", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Int does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _SMLVersion_stability(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SMLVersion_stability(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Stability, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(VersionStabilities) - fc.Result = res - return ec.marshalNVersionStabilities2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionStabilities(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_SMLVersion_stability(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "SMLVersion", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type VersionStabilities does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _SMLVersion_link(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SMLVersion_link(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.SMLVersion().Link(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_SMLVersion_link(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "SMLVersion", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _SMLVersion_targets(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SMLVersion_targets(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Targets, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*SMLVersionTarget) - fc.Result = res - return ec.marshalNSMLVersionTarget2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersionTarget(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_SMLVersion_targets(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "SMLVersion", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "VersionID": - return ec.fieldContext_SMLVersionTarget_VersionID(ctx, field) - case "targetName": - return ec.fieldContext_SMLVersionTarget_targetName(ctx, field) - case "link": - return ec.fieldContext_SMLVersionTarget_link(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type SMLVersionTarget", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _SMLVersion_changelog(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SMLVersion_changelog(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Changelog, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_SMLVersion_changelog(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "SMLVersion", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _SMLVersion_date(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SMLVersion_date(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Date, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNDate2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_SMLVersion_date(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "SMLVersion", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Date does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _SMLVersion_bootstrap_version(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SMLVersion_bootstrap_version(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.SMLVersion().BootstrapVersion(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_SMLVersion_bootstrap_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "SMLVersion", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _SMLVersion_engine_version(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SMLVersion_engine_version(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.SMLVersion().EngineVersion(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_SMLVersion_engine_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "SMLVersion", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _SMLVersion_updated_at(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SMLVersion_updated_at(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.UpdatedAt, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNDate2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_SMLVersion_updated_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "SMLVersion", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Date does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _SMLVersion_created_at(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SMLVersion_created_at(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.CreatedAt, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNDate2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_SMLVersion_created_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "SMLVersion", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Date does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _SMLVersionTarget_VersionID(ctx context.Context, field graphql.CollectedField, obj *SMLVersionTarget) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SMLVersionTarget_VersionID(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.VersionID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNSMLVersionID2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_SMLVersionTarget_VersionID(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "SMLVersionTarget", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type SMLVersionID does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _SMLVersionTarget_targetName(ctx context.Context, field graphql.CollectedField, obj *SMLVersionTarget) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SMLVersionTarget_targetName(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.TargetName, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(TargetName) - fc.Result = res - return ec.marshalNTargetName2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTargetName(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_SMLVersionTarget_targetName(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "SMLVersionTarget", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type TargetName does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _SMLVersionTarget_link(ctx context.Context, field graphql.CollectedField, obj *SMLVersionTarget) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SMLVersionTarget_link(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.SMLVersionTarget().Link(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_SMLVersionTarget_link(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "SMLVersionTarget", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _SatisfactoryVersion_id(ctx context.Context, field graphql.CollectedField, obj *SatisfactoryVersion) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SatisfactoryVersion_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNSatisfactoryVersionID2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_SatisfactoryVersion_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "SatisfactoryVersion", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type SatisfactoryVersionID does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _SatisfactoryVersion_version(ctx context.Context, field graphql.CollectedField, obj *SatisfactoryVersion) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SatisfactoryVersion_version(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Version, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - fc.Result = res - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_SatisfactoryVersion_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "SatisfactoryVersion", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Int does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _SatisfactoryVersion_engine_version(ctx context.Context, field graphql.CollectedField, obj *SatisfactoryVersion) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_SatisfactoryVersion_engine_version(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.EngineVersion, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_SatisfactoryVersion_engine_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "SatisfactoryVersion", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Tag_id(ctx context.Context, field graphql.CollectedField, obj *Tag) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Tag_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNTagID2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Tag_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Tag", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type TagID does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Tag_name(ctx context.Context, field graphql.CollectedField, obj *Tag) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Tag_name(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Name, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNTagName2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Tag_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Tag", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type TagName does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Tag_description(ctx context.Context, field graphql.CollectedField, obj *Tag) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Tag_description(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Description, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Tag_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Tag", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _User_id(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_User_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNUserID2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_User_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "User", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type UserID does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _User_email(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_User_email(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Email, nil - } - - directive1 := func(ctx context.Context) (any, error) { - field, err := ec.unmarshalNString2string(ctx, "ID") - if err != nil { - var zeroVal *string - return zeroVal, err - } - object, err := ec.unmarshalNBoolean2bool(ctx, true) - if err != nil { - var zeroVal *string - return zeroVal, err - } - if ec.directives.CanEditUser == nil { - var zeroVal *string - return zeroVal, errors.New("directive canEditUser is not implemented") - } - return ec.directives.CanEditUser(ctx, obj, directive0, field, object) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *string - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, obj, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*string); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *string`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_User_email(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "User", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _User_username(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_User_username(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Username, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_User_username(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "User", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _User_avatar(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_User_avatar(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Avatar, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_User_avatar(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "User", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _User_avatar_thumbhash(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_User_avatar_thumbhash(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.AvatarThumbhash, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_User_avatar_thumbhash(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "User", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _User_created_at(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_User_created_at(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.CreatedAt, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNDate2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_User_created_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "User", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Date does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _User_github_id(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_User_github_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.GithubID, nil - } - - directive1 := func(ctx context.Context) (any, error) { - field, err := ec.unmarshalNString2string(ctx, "ID") - if err != nil { - var zeroVal *string - return zeroVal, err - } - object, err := ec.unmarshalNBoolean2bool(ctx, true) - if err != nil { - var zeroVal *string - return zeroVal, err - } - if ec.directives.CanEditUser == nil { - var zeroVal *string - return zeroVal, errors.New("directive canEditUser is not implemented") - } - return ec.directives.CanEditUser(ctx, obj, directive0, field, object) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *string - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, obj, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*string); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *string`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_User_github_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "User", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _User_google_id(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_User_google_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.GoogleID, nil - } - - directive1 := func(ctx context.Context) (any, error) { - field, err := ec.unmarshalNString2string(ctx, "ID") - if err != nil { - var zeroVal *string - return zeroVal, err - } - object, err := ec.unmarshalNBoolean2bool(ctx, true) - if err != nil { - var zeroVal *string - return zeroVal, err - } - if ec.directives.CanEditUser == nil { - var zeroVal *string - return zeroVal, errors.New("directive canEditUser is not implemented") - } - return ec.directives.CanEditUser(ctx, obj, directive0, field, object) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *string - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, obj, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*string); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *string`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_User_google_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "User", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _User_facebook_id(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_User_facebook_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.FacebookID, nil - } - - directive1 := func(ctx context.Context) (any, error) { - field, err := ec.unmarshalNString2string(ctx, "ID") - if err != nil { - var zeroVal *string - return zeroVal, err - } - object, err := ec.unmarshalNBoolean2bool(ctx, true) - if err != nil { - var zeroVal *string - return zeroVal, err - } - if ec.directives.CanEditUser == nil { - var zeroVal *string - return zeroVal, errors.New("directive canEditUser is not implemented") - } - return ec.directives.CanEditUser(ctx, obj, directive0, field, object) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *string - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, obj, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*string); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *string`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_User_facebook_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "User", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _User_roles(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_User_roles(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.User().Roles(rctx, obj) - } - - directive1 := func(ctx context.Context) (any, error) { - field, err := ec.unmarshalNString2string(ctx, "ID") - if err != nil { - var zeroVal *UserRoles - return zeroVal, err - } - object, err := ec.unmarshalNBoolean2bool(ctx, true) - if err != nil { - var zeroVal *UserRoles - return zeroVal, err - } - if ec.directives.CanEditUser == nil { - var zeroVal *UserRoles - return zeroVal, errors.New("directive canEditUser is not implemented") - } - return ec.directives.CanEditUser(ctx, obj, directive0, field, object) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal *UserRoles - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, obj, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.(*UserRoles); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.UserRoles`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*UserRoles) - fc.Result = res - return ec.marshalNUserRoles2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserRoles(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_User_roles(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "User", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "approveMods": - return ec.fieldContext_UserRoles_approveMods(ctx, field) - case "approveVersions": - return ec.fieldContext_UserRoles_approveVersions(ctx, field) - case "deleteContent": - return ec.fieldContext_UserRoles_deleteContent(ctx, field) - case "editContent": - return ec.fieldContext_UserRoles_editContent(ctx, field) - case "editUsers": - return ec.fieldContext_UserRoles_editUsers(ctx, field) - case "editSatisfactoryVersions": - return ec.fieldContext_UserRoles_editSatisfactoryVersions(ctx, field) - case "editBootstrapVersions": - return ec.fieldContext_UserRoles_editBootstrapVersions(ctx, field) - case "editAnyModCompatibility": - return ec.fieldContext_UserRoles_editAnyModCompatibility(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type UserRoles", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _User_groups(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_User_groups(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - directive0 := func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.User().Groups(rctx, obj) - } - - directive1 := func(ctx context.Context) (any, error) { - field, err := ec.unmarshalNString2string(ctx, "ID") - if err != nil { - var zeroVal []*Group - return zeroVal, err - } - object, err := ec.unmarshalNBoolean2bool(ctx, true) - if err != nil { - var zeroVal []*Group - return zeroVal, err - } - if ec.directives.CanEditUser == nil { - var zeroVal []*Group - return zeroVal, errors.New("directive canEditUser is not implemented") - } - return ec.directives.CanEditUser(ctx, obj, directive0, field, object) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal []*Group - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, obj, directive1) - } - - tmp, err := directive2(rctx) - if err != nil { - return nil, graphql.ErrorOnPath(ctx, err) - } - if tmp == nil { - return nil, nil - } - if data, ok := tmp.([]*Group); ok { - return data, nil - } - return nil, fmt.Errorf(`unexpected type %T from directive, should be []*github.com/satisfactorymodding/smr-api/generated.Group`, tmp) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Group) - fc.Result = res - return ec.marshalNGroup2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGroupᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_User_groups(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "User", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Group_id(ctx, field) - case "name": - return ec.fieldContext_Group_name(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Group", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _User_mods(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_User_mods(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.User().Mods(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*UserMod) - fc.Result = res - return ec.marshalNUserMod2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserModᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_User_mods(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "User", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "user_id": - return ec.fieldContext_UserMod_user_id(ctx, field) - case "mod_id": - return ec.fieldContext_UserMod_mod_id(ctx, field) - case "role": - return ec.fieldContext_UserMod_role(ctx, field) - case "user": - return ec.fieldContext_UserMod_user(ctx, field) - case "mod": - return ec.fieldContext_UserMod_mod(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type UserMod", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _User_guides(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_User_guides(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.User().Guides(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*Guide) - fc.Result = res - return ec.marshalNGuide2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuideᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_User_guides(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "User", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Guide_id(ctx, field) - case "name": - return ec.fieldContext_Guide_name(ctx, field) - case "short_description": - return ec.fieldContext_Guide_short_description(ctx, field) - case "guide": - return ec.fieldContext_Guide_guide(ctx, field) - case "views": - return ec.fieldContext_Guide_views(ctx, field) - case "user_id": - return ec.fieldContext_Guide_user_id(ctx, field) - case "updated_at": - return ec.fieldContext_Guide_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Guide_created_at(ctx, field) - case "tags": - return ec.fieldContext_Guide_tags(ctx, field) - case "user": - return ec.fieldContext_Guide_user(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Guide", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _UserMod_user_id(ctx context.Context, field graphql.CollectedField, obj *UserMod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_UserMod_user_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.UserID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNUserID2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_UserMod_user_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "UserMod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type UserID does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _UserMod_mod_id(ctx context.Context, field graphql.CollectedField, obj *UserMod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_UserMod_mod_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ModID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNModID2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_UserMod_mod_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "UserMod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type ModID does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _UserMod_role(ctx context.Context, field graphql.CollectedField, obj *UserMod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_UserMod_role(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Role, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_UserMod_role(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "UserMod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _UserMod_user(ctx context.Context, field graphql.CollectedField, obj *UserMod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_UserMod_user(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.UserMod().User(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*User) - fc.Result = res - return ec.marshalNUser2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_UserMod_user(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "UserMod", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_User_id(ctx, field) - case "email": - return ec.fieldContext_User_email(ctx, field) - case "username": - return ec.fieldContext_User_username(ctx, field) - case "avatar": - return ec.fieldContext_User_avatar(ctx, field) - case "avatar_thumbhash": - return ec.fieldContext_User_avatar_thumbhash(ctx, field) - case "created_at": - return ec.fieldContext_User_created_at(ctx, field) - case "github_id": - return ec.fieldContext_User_github_id(ctx, field) - case "google_id": - return ec.fieldContext_User_google_id(ctx, field) - case "facebook_id": - return ec.fieldContext_User_facebook_id(ctx, field) - case "roles": - return ec.fieldContext_User_roles(ctx, field) - case "groups": - return ec.fieldContext_User_groups(ctx, field) - case "mods": - return ec.fieldContext_User_mods(ctx, field) - case "guides": - return ec.fieldContext_User_guides(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type User", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _UserMod_mod(ctx context.Context, field graphql.CollectedField, obj *UserMod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_UserMod_mod(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.UserMod().Mod(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*Mod) - fc.Result = res - return ec.marshalNMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_UserMod_mod(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "UserMod", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Mod_id(ctx, field) - case "name": - return ec.fieldContext_Mod_name(ctx, field) - case "short_description": - return ec.fieldContext_Mod_short_description(ctx, field) - case "full_description": - return ec.fieldContext_Mod_full_description(ctx, field) - case "logo": - return ec.fieldContext_Mod_logo(ctx, field) - case "logo_thumbhash": - return ec.fieldContext_Mod_logo_thumbhash(ctx, field) - case "source_url": - return ec.fieldContext_Mod_source_url(ctx, field) - case "creator_id": - return ec.fieldContext_Mod_creator_id(ctx, field) - case "approved": - return ec.fieldContext_Mod_approved(ctx, field) - case "views": - return ec.fieldContext_Mod_views(ctx, field) - case "downloads": - return ec.fieldContext_Mod_downloads(ctx, field) - case "hotness": - return ec.fieldContext_Mod_hotness(ctx, field) - case "popularity": - return ec.fieldContext_Mod_popularity(ctx, field) - case "updated_at": - return ec.fieldContext_Mod_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Mod_created_at(ctx, field) - case "last_version_date": - return ec.fieldContext_Mod_last_version_date(ctx, field) - case "mod_reference": - return ec.fieldContext_Mod_mod_reference(ctx, field) - case "hidden": - return ec.fieldContext_Mod_hidden(ctx, field) - case "tags": - return ec.fieldContext_Mod_tags(ctx, field) - case "compatibility": - return ec.fieldContext_Mod_compatibility(ctx, field) - case "toggle_network_use": - return ec.fieldContext_Mod_toggle_network_use(ctx, field) - case "network_use_disclosure": - return ec.fieldContext_Mod_network_use_disclosure(ctx, field) - case "ai_use_disclosure": - return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) - case "toggle_explicit_content": - return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) - case "authors": - return ec.fieldContext_Mod_authors(ctx, field) - case "version": - return ec.fieldContext_Mod_version(ctx, field) - case "versions": - return ec.fieldContext_Mod_versions(ctx, field) - case "latestVersions": - return ec.fieldContext_Mod_latestVersions(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _UserRoles_approveMods(ctx context.Context, field graphql.CollectedField, obj *UserRoles) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_UserRoles_approveMods(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ApproveMods, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_UserRoles_approveMods(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "UserRoles", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _UserRoles_approveVersions(ctx context.Context, field graphql.CollectedField, obj *UserRoles) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_UserRoles_approveVersions(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ApproveVersions, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_UserRoles_approveVersions(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "UserRoles", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _UserRoles_deleteContent(ctx context.Context, field graphql.CollectedField, obj *UserRoles) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_UserRoles_deleteContent(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.DeleteContent, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_UserRoles_deleteContent(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "UserRoles", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _UserRoles_editContent(ctx context.Context, field graphql.CollectedField, obj *UserRoles) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_UserRoles_editContent(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.EditContent, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_UserRoles_editContent(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "UserRoles", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _UserRoles_editUsers(ctx context.Context, field graphql.CollectedField, obj *UserRoles) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_UserRoles_editUsers(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.EditUsers, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_UserRoles_editUsers(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "UserRoles", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _UserRoles_editSatisfactoryVersions(ctx context.Context, field graphql.CollectedField, obj *UserRoles) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_UserRoles_editSatisfactoryVersions(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.EditSatisfactoryVersions, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_UserRoles_editSatisfactoryVersions(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "UserRoles", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _UserRoles_editBootstrapVersions(ctx context.Context, field graphql.CollectedField, obj *UserRoles) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_UserRoles_editBootstrapVersions(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.EditBootstrapVersions, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_UserRoles_editBootstrapVersions(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "UserRoles", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _UserRoles_editAnyModCompatibility(ctx context.Context, field graphql.CollectedField, obj *UserRoles) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_UserRoles_editAnyModCompatibility(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.EditAnyModCompatibility, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_UserRoles_editAnyModCompatibility(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "UserRoles", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _UserSession_token(ctx context.Context, field graphql.CollectedField, obj *UserSession) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_UserSession_token(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Token, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_UserSession_token(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "UserSession", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_id(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNVersionID2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type VersionID does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_mod_id(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_mod_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ModID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNModID2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_mod_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type ModID does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_version(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_version(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Version, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_sml_version(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_sml_version(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Version().SmlVersion(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_sml_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_game_version(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_game_version(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.GameVersion, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_game_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_required_on_remote(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_required_on_remote(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.RequiredOnRemote, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_required_on_remote(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_changelog(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_changelog(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Changelog, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_changelog(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_downloads(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_downloads(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Downloads, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(int) - fc.Result = res - return ec.marshalNInt2int(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_downloads(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Int does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_stability(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_stability(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Stability, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(VersionStabilities) - fc.Result = res - return ec.marshalNVersionStabilities2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionStabilities(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_stability(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type VersionStabilities does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_approved(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_approved(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Approved, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_approved(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_updated_at(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_updated_at(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.UpdatedAt, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNDate2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_updated_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Date does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_created_at(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_created_at(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.CreatedAt, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNDate2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_created_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Date does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_link(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_link(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Version().Link(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_link(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_targets(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_targets(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Targets, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*VersionTarget) - fc.Result = res - return ec.marshalNVersionTarget2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionTarget(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_targets(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "VersionID": - return ec.fieldContext_VersionTarget_VersionID(ctx, field) - case "targetName": - return ec.fieldContext_VersionTarget_targetName(ctx, field) - case "link": - return ec.fieldContext_VersionTarget_link(ctx, field) - case "size": - return ec.fieldContext_VersionTarget_size(ctx, field) - case "hash": - return ec.fieldContext_VersionTarget_hash(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type VersionTarget", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_metadata(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_metadata(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Metadata, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_metadata(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_size(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_size(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Version().Size(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*int) - fc.Result = res - return ec.marshalOInt2ᚖint(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_size(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Int does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_hash(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_hash(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Version().Hash(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_hash(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_mod(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_mod(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Version().Mod(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*Mod) - fc.Result = res - return ec.marshalNMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_mod(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Mod_id(ctx, field) - case "name": - return ec.fieldContext_Mod_name(ctx, field) - case "short_description": - return ec.fieldContext_Mod_short_description(ctx, field) - case "full_description": - return ec.fieldContext_Mod_full_description(ctx, field) - case "logo": - return ec.fieldContext_Mod_logo(ctx, field) - case "logo_thumbhash": - return ec.fieldContext_Mod_logo_thumbhash(ctx, field) - case "source_url": - return ec.fieldContext_Mod_source_url(ctx, field) - case "creator_id": - return ec.fieldContext_Mod_creator_id(ctx, field) - case "approved": - return ec.fieldContext_Mod_approved(ctx, field) - case "views": - return ec.fieldContext_Mod_views(ctx, field) - case "downloads": - return ec.fieldContext_Mod_downloads(ctx, field) - case "hotness": - return ec.fieldContext_Mod_hotness(ctx, field) - case "popularity": - return ec.fieldContext_Mod_popularity(ctx, field) - case "updated_at": - return ec.fieldContext_Mod_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Mod_created_at(ctx, field) - case "last_version_date": - return ec.fieldContext_Mod_last_version_date(ctx, field) - case "mod_reference": - return ec.fieldContext_Mod_mod_reference(ctx, field) - case "hidden": - return ec.fieldContext_Mod_hidden(ctx, field) - case "tags": - return ec.fieldContext_Mod_tags(ctx, field) - case "compatibility": - return ec.fieldContext_Mod_compatibility(ctx, field) - case "toggle_network_use": - return ec.fieldContext_Mod_toggle_network_use(ctx, field) - case "network_use_disclosure": - return ec.fieldContext_Mod_network_use_disclosure(ctx, field) - case "ai_use_disclosure": - return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) - case "toggle_explicit_content": - return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) - case "authors": - return ec.fieldContext_Mod_authors(ctx, field) - case "version": - return ec.fieldContext_Mod_version(ctx, field) - case "versions": - return ec.fieldContext_Mod_versions(ctx, field) - case "latestVersions": - return ec.fieldContext_Mod_latestVersions(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_dependencies(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_dependencies(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Version().Dependencies(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*VersionDependency) - fc.Result = res - return ec.marshalNVersionDependency2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionDependencyᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_dependencies(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "version_id": - return ec.fieldContext_VersionDependency_version_id(ctx, field) - case "mod_id": - return ec.fieldContext_VersionDependency_mod_id(ctx, field) - case "condition": - return ec.fieldContext_VersionDependency_condition(ctx, field) - case "optional": - return ec.fieldContext_VersionDependency_optional(ctx, field) - case "mod_reference": - return ec.fieldContext_VersionDependency_mod_reference(ctx, field) - case "mod": - return ec.fieldContext_VersionDependency_mod(ctx, field) - case "version": - return ec.fieldContext_VersionDependency_version(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type VersionDependency", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _Version_virustotal_results(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Version_virustotal_results(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.Version().VirustotalResults(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]*VirustotalResult) - fc.Result = res - return ec.marshalNVirustotalResult2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVirustotalResultᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Version_virustotal_results(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Version", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_VirustotalResult_id(ctx, field) - case "hash": - return ec.fieldContext_VirustotalResult_hash(ctx, field) - case "safe": - return ec.fieldContext_VirustotalResult_safe(ctx, field) - case "file_name": - return ec.fieldContext_VirustotalResult_file_name(ctx, field) - case "version_id": - return ec.fieldContext_VirustotalResult_version_id(ctx, field) - case "created_at": - return ec.fieldContext_VirustotalResult_created_at(ctx, field) - case "updated_at": - return ec.fieldContext_VirustotalResult_updated_at(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type VirustotalResult", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _VersionDependency_version_id(ctx context.Context, field graphql.CollectedField, obj *VersionDependency) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_VersionDependency_version_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.VersionID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNVersionID2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_VersionDependency_version_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "VersionDependency", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type VersionID does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _VersionDependency_mod_id(ctx context.Context, field graphql.CollectedField, obj *VersionDependency) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_VersionDependency_mod_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ModID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNModID2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_VersionDependency_mod_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "VersionDependency", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type ModID does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _VersionDependency_condition(ctx context.Context, field graphql.CollectedField, obj *VersionDependency) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_VersionDependency_condition(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Condition, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_VersionDependency_condition(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "VersionDependency", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _VersionDependency_optional(ctx context.Context, field graphql.CollectedField, obj *VersionDependency) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_VersionDependency_optional(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Optional, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_VersionDependency_optional(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "VersionDependency", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _VersionDependency_mod_reference(ctx context.Context, field graphql.CollectedField, obj *VersionDependency) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_VersionDependency_mod_reference(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ModReference, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_VersionDependency_mod_reference(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "VersionDependency", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _VersionDependency_mod(ctx context.Context, field graphql.CollectedField, obj *VersionDependency) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_VersionDependency_mod(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.VersionDependency().Mod(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Mod) - fc.Result = res - return ec.marshalOMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_VersionDependency_mod(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "VersionDependency", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Mod_id(ctx, field) - case "name": - return ec.fieldContext_Mod_name(ctx, field) - case "short_description": - return ec.fieldContext_Mod_short_description(ctx, field) - case "full_description": - return ec.fieldContext_Mod_full_description(ctx, field) - case "logo": - return ec.fieldContext_Mod_logo(ctx, field) - case "logo_thumbhash": - return ec.fieldContext_Mod_logo_thumbhash(ctx, field) - case "source_url": - return ec.fieldContext_Mod_source_url(ctx, field) - case "creator_id": - return ec.fieldContext_Mod_creator_id(ctx, field) - case "approved": - return ec.fieldContext_Mod_approved(ctx, field) - case "views": - return ec.fieldContext_Mod_views(ctx, field) - case "downloads": - return ec.fieldContext_Mod_downloads(ctx, field) - case "hotness": - return ec.fieldContext_Mod_hotness(ctx, field) - case "popularity": - return ec.fieldContext_Mod_popularity(ctx, field) - case "updated_at": - return ec.fieldContext_Mod_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Mod_created_at(ctx, field) - case "last_version_date": - return ec.fieldContext_Mod_last_version_date(ctx, field) - case "mod_reference": - return ec.fieldContext_Mod_mod_reference(ctx, field) - case "hidden": - return ec.fieldContext_Mod_hidden(ctx, field) - case "tags": - return ec.fieldContext_Mod_tags(ctx, field) - case "compatibility": - return ec.fieldContext_Mod_compatibility(ctx, field) - case "toggle_network_use": - return ec.fieldContext_Mod_toggle_network_use(ctx, field) - case "network_use_disclosure": - return ec.fieldContext_Mod_network_use_disclosure(ctx, field) - case "ai_use_disclosure": - return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) - case "toggle_explicit_content": - return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) - case "authors": - return ec.fieldContext_Mod_authors(ctx, field) - case "version": - return ec.fieldContext_Mod_version(ctx, field) - case "versions": - return ec.fieldContext_Mod_versions(ctx, field) - case "latestVersions": - return ec.fieldContext_Mod_latestVersions(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _VersionDependency_version(ctx context.Context, field graphql.CollectedField, obj *VersionDependency) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_VersionDependency_version(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Version, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*Version) - fc.Result = res - return ec.marshalOVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_VersionDependency_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "VersionDependency", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "id": - return ec.fieldContext_Version_id(ctx, field) - case "mod_id": - return ec.fieldContext_Version_mod_id(ctx, field) - case "version": - return ec.fieldContext_Version_version(ctx, field) - case "sml_version": - return ec.fieldContext_Version_sml_version(ctx, field) - case "game_version": - return ec.fieldContext_Version_game_version(ctx, field) - case "required_on_remote": - return ec.fieldContext_Version_required_on_remote(ctx, field) - case "changelog": - return ec.fieldContext_Version_changelog(ctx, field) - case "downloads": - return ec.fieldContext_Version_downloads(ctx, field) - case "stability": - return ec.fieldContext_Version_stability(ctx, field) - case "approved": - return ec.fieldContext_Version_approved(ctx, field) - case "updated_at": - return ec.fieldContext_Version_updated_at(ctx, field) - case "created_at": - return ec.fieldContext_Version_created_at(ctx, field) - case "link": - return ec.fieldContext_Version_link(ctx, field) - case "targets": - return ec.fieldContext_Version_targets(ctx, field) - case "metadata": - return ec.fieldContext_Version_metadata(ctx, field) - case "size": - return ec.fieldContext_Version_size(ctx, field) - case "hash": - return ec.fieldContext_Version_hash(ctx, field) - case "mod": - return ec.fieldContext_Version_mod(ctx, field) - case "dependencies": - return ec.fieldContext_Version_dependencies(ctx, field) - case "virustotal_results": - return ec.fieldContext_Version_virustotal_results(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) _VersionTarget_VersionID(ctx context.Context, field graphql.CollectedField, obj *VersionTarget) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_VersionTarget_VersionID(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.VersionID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNVersionID2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_VersionTarget_VersionID(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "VersionTarget", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type VersionID does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _VersionTarget_targetName(ctx context.Context, field graphql.CollectedField, obj *VersionTarget) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_VersionTarget_targetName(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.TargetName, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(TargetName) - fc.Result = res - return ec.marshalNTargetName2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTargetName(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_VersionTarget_targetName(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "VersionTarget", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type TargetName does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _VersionTarget_link(ctx context.Context, field graphql.CollectedField, obj *VersionTarget) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_VersionTarget_link(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return ec.resolvers.VersionTarget().Link(rctx, obj) - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_VersionTarget_link(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "VersionTarget", - Field: field, - IsMethod: true, - IsResolver: true, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _VersionTarget_size(ctx context.Context, field graphql.CollectedField, obj *VersionTarget) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_VersionTarget_size(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Size, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*int) - fc.Result = res - return ec.marshalOInt2ᚖint(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_VersionTarget_size(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "VersionTarget", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Int does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _VersionTarget_hash(ctx context.Context, field graphql.CollectedField, obj *VersionTarget) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_VersionTarget_hash(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Hash, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_VersionTarget_hash(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "VersionTarget", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _VirustotalResult_id(ctx context.Context, field graphql.CollectedField, obj *VirustotalResult) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_VirustotalResult_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOVirustotalID2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_VirustotalResult_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "VirustotalResult", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type VirustotalID does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _VirustotalResult_hash(ctx context.Context, field graphql.CollectedField, obj *VirustotalResult) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_VirustotalResult_hash(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Hash, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNVirustotalHash2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_VirustotalResult_hash(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "VirustotalResult", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type VirustotalHash does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _VirustotalResult_safe(ctx context.Context, field graphql.CollectedField, obj *VirustotalResult) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_VirustotalResult_safe(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Safe, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_VirustotalResult_safe(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "VirustotalResult", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _VirustotalResult_file_name(ctx context.Context, field graphql.CollectedField, obj *VirustotalResult) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_VirustotalResult_file_name(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.FileName, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_VirustotalResult_file_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "VirustotalResult", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _VirustotalResult_version_id(ctx context.Context, field graphql.CollectedField, obj *VirustotalResult) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_VirustotalResult_version_id(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.VersionID, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_VirustotalResult_version_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "VirustotalResult", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _VirustotalResult_created_at(ctx context.Context, field graphql.CollectedField, obj *VirustotalResult) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_VirustotalResult_created_at(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.CreatedAt, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNDate2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_VirustotalResult_created_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "VirustotalResult", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Date does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) _VirustotalResult_updated_at(ctx context.Context, field graphql.CollectedField, obj *VirustotalResult) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_VirustotalResult_updated_at(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.UpdatedAt, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalODate2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_VirustotalResult_updated_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "VirustotalResult", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Date does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___Directive_name(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Directive_name(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Name, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Directive_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Directive", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___Directive_description(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Directive_description(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Description(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Directive_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Directive", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___Directive_isRepeatable(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Directive_isRepeatable(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.IsRepeatable, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Directive_isRepeatable(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Directive", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___Directive_locations(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Directive_locations(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Locations, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]string) - fc.Result = res - return ec.marshalN__DirectiveLocation2ᚕstringᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Directive_locations(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Directive", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type __DirectiveLocation does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___Directive_args(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Directive_args(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Args, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]introspection.InputValue) - fc.Result = res - return ec.marshalN__InputValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValueᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Directive_args(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Directive", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "name": - return ec.fieldContext___InputValue_name(ctx, field) - case "description": - return ec.fieldContext___InputValue_description(ctx, field) - case "type": - return ec.fieldContext___InputValue_type(ctx, field) - case "defaultValue": - return ec.fieldContext___InputValue_defaultValue(ctx, field) - case "isDeprecated": - return ec.fieldContext___InputValue_isDeprecated(ctx, field) - case "deprecationReason": - return ec.fieldContext___InputValue_deprecationReason(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type __InputValue", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field___Directive_args_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) ___EnumValue_name(ctx context.Context, field graphql.CollectedField, obj *introspection.EnumValue) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___EnumValue_name(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Name, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___EnumValue_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__EnumValue", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___EnumValue_description(ctx context.Context, field graphql.CollectedField, obj *introspection.EnumValue) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___EnumValue_description(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Description(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___EnumValue_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__EnumValue", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___EnumValue_isDeprecated(ctx context.Context, field graphql.CollectedField, obj *introspection.EnumValue) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___EnumValue_isDeprecated(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.IsDeprecated(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___EnumValue_isDeprecated(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__EnumValue", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___EnumValue_deprecationReason(ctx context.Context, field graphql.CollectedField, obj *introspection.EnumValue) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___EnumValue_deprecationReason(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.DeprecationReason(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___EnumValue_deprecationReason(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__EnumValue", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___Field_name(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Field_name(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Name, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Field_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Field", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___Field_description(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Field_description(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Description(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Field_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Field", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___Field_args(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Field_args(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Args, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]introspection.InputValue) - fc.Result = res - return ec.marshalN__InputValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValueᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Field_args(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Field", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "name": - return ec.fieldContext___InputValue_name(ctx, field) - case "description": - return ec.fieldContext___InputValue_description(ctx, field) - case "type": - return ec.fieldContext___InputValue_type(ctx, field) - case "defaultValue": - return ec.fieldContext___InputValue_defaultValue(ctx, field) - case "isDeprecated": - return ec.fieldContext___InputValue_isDeprecated(ctx, field) - case "deprecationReason": - return ec.fieldContext___InputValue_deprecationReason(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type __InputValue", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field___Field_args_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) ___Field_type(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Field_type(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Type, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*introspection.Type) - fc.Result = res - return ec.marshalN__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Field_type(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Field", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "kind": - return ec.fieldContext___Type_kind(ctx, field) - case "name": - return ec.fieldContext___Type_name(ctx, field) - case "description": - return ec.fieldContext___Type_description(ctx, field) - case "specifiedByURL": - return ec.fieldContext___Type_specifiedByURL(ctx, field) - case "fields": - return ec.fieldContext___Type_fields(ctx, field) - case "interfaces": - return ec.fieldContext___Type_interfaces(ctx, field) - case "possibleTypes": - return ec.fieldContext___Type_possibleTypes(ctx, field) - case "enumValues": - return ec.fieldContext___Type_enumValues(ctx, field) - case "inputFields": - return ec.fieldContext___Type_inputFields(ctx, field) - case "ofType": - return ec.fieldContext___Type_ofType(ctx, field) - case "isOneOf": - return ec.fieldContext___Type_isOneOf(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) ___Field_isDeprecated(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Field_isDeprecated(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.IsDeprecated(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Field_isDeprecated(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Field", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___Field_deprecationReason(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Field_deprecationReason(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.DeprecationReason(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Field_deprecationReason(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Field", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___InputValue_name(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___InputValue_name(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Name, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalNString2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___InputValue_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__InputValue", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___InputValue_description(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___InputValue_description(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Description(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___InputValue_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__InputValue", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___InputValue_type(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___InputValue_type(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Type, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*introspection.Type) - fc.Result = res - return ec.marshalN__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___InputValue_type(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__InputValue", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "kind": - return ec.fieldContext___Type_kind(ctx, field) - case "name": - return ec.fieldContext___Type_name(ctx, field) - case "description": - return ec.fieldContext___Type_description(ctx, field) - case "specifiedByURL": - return ec.fieldContext___Type_specifiedByURL(ctx, field) - case "fields": - return ec.fieldContext___Type_fields(ctx, field) - case "interfaces": - return ec.fieldContext___Type_interfaces(ctx, field) - case "possibleTypes": - return ec.fieldContext___Type_possibleTypes(ctx, field) - case "enumValues": - return ec.fieldContext___Type_enumValues(ctx, field) - case "inputFields": - return ec.fieldContext___Type_inputFields(ctx, field) - case "ofType": - return ec.fieldContext___Type_ofType(ctx, field) - case "isOneOf": - return ec.fieldContext___Type_isOneOf(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) ___InputValue_defaultValue(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___InputValue_defaultValue(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.DefaultValue, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___InputValue_defaultValue(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__InputValue", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___InputValue_isDeprecated(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___InputValue_isDeprecated(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.IsDeprecated(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___InputValue_isDeprecated(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__InputValue", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___InputValue_deprecationReason(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___InputValue_deprecationReason(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.DeprecationReason(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___InputValue_deprecationReason(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__InputValue", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___Schema_description(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Schema_description(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Description(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Schema_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Schema", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___Schema_types(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Schema_types(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Types(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]introspection.Type) - fc.Result = res - return ec.marshalN__Type2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐTypeᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Schema_types(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Schema", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "kind": - return ec.fieldContext___Type_kind(ctx, field) - case "name": - return ec.fieldContext___Type_name(ctx, field) - case "description": - return ec.fieldContext___Type_description(ctx, field) - case "specifiedByURL": - return ec.fieldContext___Type_specifiedByURL(ctx, field) - case "fields": - return ec.fieldContext___Type_fields(ctx, field) - case "interfaces": - return ec.fieldContext___Type_interfaces(ctx, field) - case "possibleTypes": - return ec.fieldContext___Type_possibleTypes(ctx, field) - case "enumValues": - return ec.fieldContext___Type_enumValues(ctx, field) - case "inputFields": - return ec.fieldContext___Type_inputFields(ctx, field) - case "ofType": - return ec.fieldContext___Type_ofType(ctx, field) - case "isOneOf": - return ec.fieldContext___Type_isOneOf(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) ___Schema_queryType(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Schema_queryType(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.QueryType(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(*introspection.Type) - fc.Result = res - return ec.marshalN__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Schema_queryType(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Schema", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "kind": - return ec.fieldContext___Type_kind(ctx, field) - case "name": - return ec.fieldContext___Type_name(ctx, field) - case "description": - return ec.fieldContext___Type_description(ctx, field) - case "specifiedByURL": - return ec.fieldContext___Type_specifiedByURL(ctx, field) - case "fields": - return ec.fieldContext___Type_fields(ctx, field) - case "interfaces": - return ec.fieldContext___Type_interfaces(ctx, field) - case "possibleTypes": - return ec.fieldContext___Type_possibleTypes(ctx, field) - case "enumValues": - return ec.fieldContext___Type_enumValues(ctx, field) - case "inputFields": - return ec.fieldContext___Type_inputFields(ctx, field) - case "ofType": - return ec.fieldContext___Type_ofType(ctx, field) - case "isOneOf": - return ec.fieldContext___Type_isOneOf(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) ___Schema_mutationType(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Schema_mutationType(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.MutationType(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*introspection.Type) - fc.Result = res - return ec.marshalO__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Schema_mutationType(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Schema", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "kind": - return ec.fieldContext___Type_kind(ctx, field) - case "name": - return ec.fieldContext___Type_name(ctx, field) - case "description": - return ec.fieldContext___Type_description(ctx, field) - case "specifiedByURL": - return ec.fieldContext___Type_specifiedByURL(ctx, field) - case "fields": - return ec.fieldContext___Type_fields(ctx, field) - case "interfaces": - return ec.fieldContext___Type_interfaces(ctx, field) - case "possibleTypes": - return ec.fieldContext___Type_possibleTypes(ctx, field) - case "enumValues": - return ec.fieldContext___Type_enumValues(ctx, field) - case "inputFields": - return ec.fieldContext___Type_inputFields(ctx, field) - case "ofType": - return ec.fieldContext___Type_ofType(ctx, field) - case "isOneOf": - return ec.fieldContext___Type_isOneOf(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) ___Schema_subscriptionType(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Schema_subscriptionType(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.SubscriptionType(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*introspection.Type) - fc.Result = res - return ec.marshalO__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Schema_subscriptionType(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Schema", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "kind": - return ec.fieldContext___Type_kind(ctx, field) - case "name": - return ec.fieldContext___Type_name(ctx, field) - case "description": - return ec.fieldContext___Type_description(ctx, field) - case "specifiedByURL": - return ec.fieldContext___Type_specifiedByURL(ctx, field) - case "fields": - return ec.fieldContext___Type_fields(ctx, field) - case "interfaces": - return ec.fieldContext___Type_interfaces(ctx, field) - case "possibleTypes": - return ec.fieldContext___Type_possibleTypes(ctx, field) - case "enumValues": - return ec.fieldContext___Type_enumValues(ctx, field) - case "inputFields": - return ec.fieldContext___Type_inputFields(ctx, field) - case "ofType": - return ec.fieldContext___Type_ofType(ctx, field) - case "isOneOf": - return ec.fieldContext___Type_isOneOf(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) ___Schema_directives(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Schema_directives(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Directives(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.([]introspection.Directive) - fc.Result = res - return ec.marshalN__Directive2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐDirectiveᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Schema_directives(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Schema", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "name": - return ec.fieldContext___Directive_name(ctx, field) - case "description": - return ec.fieldContext___Directive_description(ctx, field) - case "isRepeatable": - return ec.fieldContext___Directive_isRepeatable(ctx, field) - case "locations": - return ec.fieldContext___Directive_locations(ctx, field) - case "args": - return ec.fieldContext___Directive_args(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type __Directive", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) ___Type_kind(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Type_kind(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Kind(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(string) - fc.Result = res - return ec.marshalN__TypeKind2string(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Type_kind(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Type", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type __TypeKind does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___Type_name(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Type_name(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Name(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Type_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Type", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___Type_description(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Type_description(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Description(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Type_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Type", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___Type_specifiedByURL(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Type_specifiedByURL(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.SpecifiedByURL(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*string) - fc.Result = res - return ec.marshalOString2ᚖstring(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Type_specifiedByURL(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Type", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type String does not have child fields") - }, - } - return fc, nil -} - -func (ec *executionContext) ___Type_fields(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Type_fields(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Fields(fc.Args["includeDeprecated"].(bool)), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.([]introspection.Field) - fc.Result = res - return ec.marshalO__Field2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐFieldᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Type_fields(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Type", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "name": - return ec.fieldContext___Field_name(ctx, field) - case "description": - return ec.fieldContext___Field_description(ctx, field) - case "args": - return ec.fieldContext___Field_args(ctx, field) - case "type": - return ec.fieldContext___Field_type(ctx, field) - case "isDeprecated": - return ec.fieldContext___Field_isDeprecated(ctx, field) - case "deprecationReason": - return ec.fieldContext___Field_deprecationReason(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type __Field", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field___Type_fields_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) ___Type_interfaces(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Type_interfaces(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.Interfaces(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.([]introspection.Type) - fc.Result = res - return ec.marshalO__Type2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐTypeᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Type_interfaces(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Type", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "kind": - return ec.fieldContext___Type_kind(ctx, field) - case "name": - return ec.fieldContext___Type_name(ctx, field) - case "description": - return ec.fieldContext___Type_description(ctx, field) - case "specifiedByURL": - return ec.fieldContext___Type_specifiedByURL(ctx, field) - case "fields": - return ec.fieldContext___Type_fields(ctx, field) - case "interfaces": - return ec.fieldContext___Type_interfaces(ctx, field) - case "possibleTypes": - return ec.fieldContext___Type_possibleTypes(ctx, field) - case "enumValues": - return ec.fieldContext___Type_enumValues(ctx, field) - case "inputFields": - return ec.fieldContext___Type_inputFields(ctx, field) - case "ofType": - return ec.fieldContext___Type_ofType(ctx, field) - case "isOneOf": - return ec.fieldContext___Type_isOneOf(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) ___Type_possibleTypes(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Type_possibleTypes(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.PossibleTypes(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.([]introspection.Type) - fc.Result = res - return ec.marshalO__Type2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐTypeᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Type_possibleTypes(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Type", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "kind": - return ec.fieldContext___Type_kind(ctx, field) - case "name": - return ec.fieldContext___Type_name(ctx, field) - case "description": - return ec.fieldContext___Type_description(ctx, field) - case "specifiedByURL": - return ec.fieldContext___Type_specifiedByURL(ctx, field) - case "fields": - return ec.fieldContext___Type_fields(ctx, field) - case "interfaces": - return ec.fieldContext___Type_interfaces(ctx, field) - case "possibleTypes": - return ec.fieldContext___Type_possibleTypes(ctx, field) - case "enumValues": - return ec.fieldContext___Type_enumValues(ctx, field) - case "inputFields": - return ec.fieldContext___Type_inputFields(ctx, field) - case "ofType": - return ec.fieldContext___Type_ofType(ctx, field) - case "isOneOf": - return ec.fieldContext___Type_isOneOf(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) ___Type_enumValues(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Type_enumValues(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.EnumValues(fc.Args["includeDeprecated"].(bool)), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.([]introspection.EnumValue) - fc.Result = res - return ec.marshalO__EnumValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐEnumValueᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Type_enumValues(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Type", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "name": - return ec.fieldContext___EnumValue_name(ctx, field) - case "description": - return ec.fieldContext___EnumValue_description(ctx, field) - case "isDeprecated": - return ec.fieldContext___EnumValue_isDeprecated(ctx, field) - case "deprecationReason": - return ec.fieldContext___EnumValue_deprecationReason(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type __EnumValue", field.Name) - }, - } - defer func() { - if r := recover(); r != nil { - err = ec.Recover(ctx, r) - ec.Error(ctx, err) - } - }() - ctx = graphql.WithFieldContext(ctx, fc) - if fc.Args, err = ec.field___Type_enumValues_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { - ec.Error(ctx, err) - return fc, err - } - return fc, nil -} - -func (ec *executionContext) ___Type_inputFields(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Type_inputFields(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.InputFields(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.([]introspection.InputValue) - fc.Result = res - return ec.marshalO__InputValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValueᚄ(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Type_inputFields(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Type", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "name": - return ec.fieldContext___InputValue_name(ctx, field) - case "description": - return ec.fieldContext___InputValue_description(ctx, field) - case "type": - return ec.fieldContext___InputValue_type(ctx, field) - case "defaultValue": - return ec.fieldContext___InputValue_defaultValue(ctx, field) - case "isDeprecated": - return ec.fieldContext___InputValue_isDeprecated(ctx, field) - case "deprecationReason": - return ec.fieldContext___InputValue_deprecationReason(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type __InputValue", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) ___Type_ofType(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Type_ofType(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.OfType(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(*introspection.Type) - fc.Result = res - return ec.marshalO__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Type_ofType(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Type", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - switch field.Name { - case "kind": - return ec.fieldContext___Type_kind(ctx, field) - case "name": - return ec.fieldContext___Type_name(ctx, field) - case "description": - return ec.fieldContext___Type_description(ctx, field) - case "specifiedByURL": - return ec.fieldContext___Type_specifiedByURL(ctx, field) - case "fields": - return ec.fieldContext___Type_fields(ctx, field) - case "interfaces": - return ec.fieldContext___Type_interfaces(ctx, field) - case "possibleTypes": - return ec.fieldContext___Type_possibleTypes(ctx, field) - case "enumValues": - return ec.fieldContext___Type_enumValues(ctx, field) - case "inputFields": - return ec.fieldContext___Type_inputFields(ctx, field) - case "ofType": - return ec.fieldContext___Type_ofType(ctx, field) - case "isOneOf": - return ec.fieldContext___Type_isOneOf(ctx, field) - } - return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) - }, - } - return fc, nil -} - -func (ec *executionContext) ___Type_isOneOf(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { - fc, err := ec.fieldContext___Type_isOneOf(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.IsOneOf(), nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalOBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext___Type_isOneOf(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "__Type", - Field: field, - IsMethod: true, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - -// endregion **************************** field.gotpl ***************************** - -// region **************************** input.gotpl ***************************** - -func (ec *executionContext) unmarshalInputAIUseDisclosureInput(ctx context.Context, obj any) (AIUseDisclosureInput, error) { - var it AIUseDisclosureInput - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"disclosure_type", "disclosure_string"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "disclosure_type": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("disclosure_type")) - data, err := ec.unmarshalNAIUseDisclosureType2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAIUseDisclosureType(ctx, v) - if err != nil { - return it, err - } - it.DisclosureType = data - case "disclosure_string": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("disclosure_string")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it.DisclosureString = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputCompatibilityInfoInput(ctx context.Context, obj any) (CompatibilityInfoInput, error) { - var it CompatibilityInfoInput - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"EA", "EXP", "Controller"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "EA": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("EA")) - data, err := ec.unmarshalNCompatibilityInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInput(ctx, v) - if err != nil { - return it, err - } - it.Ea = data - case "EXP": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("EXP")) - data, err := ec.unmarshalNCompatibilityInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInput(ctx, v) - if err != nil { - return it, err - } - it.Exp = data - case "Controller": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("Controller")) - data, err := ec.unmarshalNControllerCompatibilityInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐControllerCompatibilityInput(ctx, v) - if err != nil { - return it, err - } - it.Controller = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputCompatibilityInput(ctx context.Context, obj any) (CompatibilityInput, error) { - var it CompatibilityInput - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"state", "note"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "state": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("state")) - data, err := ec.unmarshalNCompatibilityState2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityState(ctx, v) - if err != nil { - return it, err - } - it.State = data - case "note": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("note")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it.Note = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputControllerCompatibilityInput(ctx context.Context, obj any) (ControllerCompatibilityInput, error) { - var it ControllerCompatibilityInput - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"state", "note"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "state": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("state")) - data, err := ec.unmarshalNControllerCompatibilityState2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐControllerCompatibilityState(ctx, v) - if err != nil { - return it, err - } - it.State = data - case "note": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("note")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it.Note = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputGuideFilter(ctx context.Context, obj any) (map[string]any, error) { - it := make(map[string]any, len(obj.(map[string]any))) - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"limit", "offset", "order_by", "order", "search", "ids", "tagIDs"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "limit": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("limit")) - data, err := ec.unmarshalOInt2ᚖint(ctx, v) - if err != nil { - return it, err - } - it["limit"] = data - case "offset": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("offset")) - data, err := ec.unmarshalOInt2ᚖint(ctx, v) - if err != nil { - return it, err - } - it["offset"] = data - case "order_by": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("order_by")) - data, err := ec.unmarshalOGuideFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuideFields(ctx, v) - if err != nil { - return it, err - } - it["order_by"] = data - case "order": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("order")) - data, err := ec.unmarshalOOrder2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOrder(ctx, v) - if err != nil { - return it, err - } - it["order"] = data - case "search": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("search")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it["search"] = data - case "ids": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("ids")) - data, err := ec.unmarshalOString2ᚕstringᚄ(ctx, v) - if err != nil { - return it, err - } - it["ids"] = data - case "tagIDs": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("tagIDs")) - data, err := ec.unmarshalOTagID2ᚕstringᚄ(ctx, v) - if err != nil { - return it, err - } - it["tagIDs"] = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputModFilter(ctx context.Context, obj any) (map[string]any, error) { - it := make(map[string]any, len(obj.(map[string]any))) - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"limit", "offset", "order_by", "order", "search", "ids", "references", "hidden", "tagIDs"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "limit": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("limit")) - data, err := ec.unmarshalOInt2ᚖint(ctx, v) - if err != nil { - return it, err - } - it["limit"] = data - case "offset": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("offset")) - data, err := ec.unmarshalOInt2ᚖint(ctx, v) - if err != nil { - return it, err - } - it["offset"] = data - case "order_by": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("order_by")) - data, err := ec.unmarshalOModFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModFields(ctx, v) - if err != nil { - return it, err - } - it["order_by"] = data - case "order": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("order")) - data, err := ec.unmarshalOOrder2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOrder(ctx, v) - if err != nil { - return it, err - } - it["order"] = data - case "search": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("search")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it["search"] = data - case "ids": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("ids")) - data, err := ec.unmarshalOString2ᚕstringᚄ(ctx, v) - if err != nil { - return it, err - } - it["ids"] = data - case "references": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("references")) - data, err := ec.unmarshalOString2ᚕstringᚄ(ctx, v) - if err != nil { - return it, err - } - it["references"] = data - case "hidden": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("hidden")) - data, err := ec.unmarshalOBoolean2ᚖbool(ctx, v) - if err != nil { - return it, err - } - it["hidden"] = data - case "tagIDs": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("tagIDs")) - data, err := ec.unmarshalOTagID2ᚕstringᚄ(ctx, v) - if err != nil { - return it, err - } - it["tagIDs"] = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputModVersionConstraint(ctx context.Context, obj any) (ModVersionConstraint, error) { - var it ModVersionConstraint - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"modIdOrReference", "version"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "modIdOrReference": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("modIdOrReference")) - data, err := ec.unmarshalNString2string(ctx, v) - if err != nil { - return it, err - } - it.ModIDOrReference = data - case "version": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("version")) - data, err := ec.unmarshalNString2string(ctx, v) - if err != nil { - return it, err - } - it.Version = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputNewAnnouncement(ctx context.Context, obj any) (NewAnnouncement, error) { - var it NewAnnouncement - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"message", "importance"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "message": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("message")) - data, err := ec.unmarshalNString2string(ctx, v) - if err != nil { - return it, err - } - it.Message = data - case "importance": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("importance")) - data, err := ec.unmarshalNAnnouncementImportance2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementImportance(ctx, v) - if err != nil { - return it, err - } - it.Importance = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputNewGuide(ctx context.Context, obj any) (NewGuide, error) { - var it NewGuide - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"name", "short_description", "guide", "tagIDs"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "name": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("name")) - data, err := ec.unmarshalNString2string(ctx, v) - if err != nil { - return it, err - } - it.Name = data - case "short_description": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("short_description")) - data, err := ec.unmarshalNString2string(ctx, v) - if err != nil { - return it, err - } - it.ShortDescription = data - case "guide": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("guide")) - data, err := ec.unmarshalNString2string(ctx, v) - if err != nil { - return it, err - } - it.Guide = data - case "tagIDs": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("tagIDs")) - data, err := ec.unmarshalOTagID2ᚕstringᚄ(ctx, v) - if err != nil { - return it, err - } - it.TagIDs = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputNewMod(ctx context.Context, obj any) (NewMod, error) { - var it NewMod - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"name", "short_description", "full_description", "logo", "source_url", "mod_reference", "hidden", "tagIDs", "toggle_network_use", "toggle_explicit_content", "ai_use_disclosure"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "name": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("name")) - data, err := ec.unmarshalNString2string(ctx, v) - if err != nil { - return it, err - } - it.Name = data - case "short_description": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("short_description")) - data, err := ec.unmarshalNString2string(ctx, v) - if err != nil { - return it, err - } - it.ShortDescription = data - case "full_description": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("full_description")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it.FullDescription = data - case "logo": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("logo")) - data, err := ec.unmarshalOUpload2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚐUpload(ctx, v) - if err != nil { - return it, err - } - it.Logo = data - case "source_url": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("source_url")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it.SourceURL = data - case "mod_reference": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("mod_reference")) - data, err := ec.unmarshalNModReference2string(ctx, v) - if err != nil { - return it, err - } - it.ModReference = data - case "hidden": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("hidden")) - data, err := ec.unmarshalOBoolean2ᚖbool(ctx, v) - if err != nil { - return it, err - } - it.Hidden = data - case "tagIDs": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("tagIDs")) - data, err := ec.unmarshalOTagID2ᚕstringᚄ(ctx, v) - if err != nil { - return it, err - } - it.TagIDs = data - case "toggle_network_use": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("toggle_network_use")) - data, err := ec.unmarshalOBoolean2ᚖbool(ctx, v) - if err != nil { - return it, err - } - it.ToggleNetworkUse = data - case "toggle_explicit_content": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("toggle_explicit_content")) - data, err := ec.unmarshalOBoolean2ᚖbool(ctx, v) - if err != nil { - return it, err - } - it.ToggleExplicitContent = data - case "ai_use_disclosure": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("ai_use_disclosure")) - data, err := ec.unmarshalOAIUseDisclosureInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAIUseDisclosureInput(ctx, v) - if err != nil { - return it, err - } - it.AiUseDisclosure = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputNewSatisfactoryVersion(ctx context.Context, obj any) (NewSatisfactoryVersion, error) { - var it NewSatisfactoryVersion - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"version", "engine_version"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "version": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("version")) - data, err := ec.unmarshalNInt2int(ctx, v) - if err != nil { - return it, err - } - it.Version = data - case "engine_version": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("engine_version")) - data, err := ec.unmarshalNString2string(ctx, v) - if err != nil { - return it, err - } - it.EngineVersion = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputNewTag(ctx context.Context, obj any) (NewTag, error) { - var it NewTag - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"name", "description"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "name": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("name")) - data, err := ec.unmarshalNTagName2string(ctx, v) - if err != nil { - return it, err - } - it.Name = data - case "description": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("description")) - data, err := ec.unmarshalNString2string(ctx, v) - if err != nil { - return it, err - } - it.Description = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputNewVersion(ctx context.Context, obj any) (NewVersion, error) { - var it NewVersion - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"changelog", "stability"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "changelog": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("changelog")) - data, err := ec.unmarshalNString2string(ctx, v) - if err != nil { - return it, err - } - it.Changelog = data - case "stability": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("stability")) - data, err := ec.unmarshalNVersionStabilities2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionStabilities(ctx, v) - if err != nil { - return it, err - } - it.Stability = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputSMLVersionFilter(ctx context.Context, obj any) (map[string]any, error) { - it := make(map[string]any, len(obj.(map[string]any))) - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"limit", "offset", "order_by", "order", "search", "ids"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "limit": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("limit")) - data, err := ec.unmarshalOInt2ᚖint(ctx, v) - if err != nil { - return it, err - } - it["limit"] = data - case "offset": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("offset")) - data, err := ec.unmarshalOInt2ᚖint(ctx, v) - if err != nil { - return it, err - } - it["offset"] = data - case "order_by": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("order_by")) - data, err := ec.unmarshalOSMLVersionFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersionFields(ctx, v) - if err != nil { - return it, err - } - it["order_by"] = data - case "order": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("order")) - data, err := ec.unmarshalOOrder2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOrder(ctx, v) - if err != nil { - return it, err - } - it["order"] = data - case "search": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("search")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it["search"] = data - case "ids": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("ids")) - data, err := ec.unmarshalOString2ᚕstringᚄ(ctx, v) - if err != nil { - return it, err - } - it["ids"] = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputTagFilter(ctx context.Context, obj any) (TagFilter, error) { - var it TagFilter - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"limit", "offset", "order", "search", "ids"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "limit": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("limit")) - data, err := ec.unmarshalOInt2ᚖint(ctx, v) - if err != nil { - return it, err - } - it.Limit = data - case "offset": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("offset")) - data, err := ec.unmarshalOInt2ᚖint(ctx, v) - if err != nil { - return it, err - } - it.Offset = data - case "order": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("order")) - data, err := ec.unmarshalOOrder2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOrder(ctx, v) - if err != nil { - return it, err - } - it.Order = data - case "search": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("search")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it.Search = data - case "ids": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("ids")) - data, err := ec.unmarshalOTagID2ᚕstringᚄ(ctx, v) - if err != nil { - return it, err - } - it.Ids = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputUpdateAnnouncement(ctx context.Context, obj any) (UpdateAnnouncement, error) { - var it UpdateAnnouncement - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"message", "importance"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "message": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("message")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it.Message = data - case "importance": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("importance")) - data, err := ec.unmarshalOAnnouncementImportance2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementImportance(ctx, v) - if err != nil { - return it, err - } - it.Importance = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputUpdateGuide(ctx context.Context, obj any) (UpdateGuide, error) { - var it UpdateGuide - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"name", "short_description", "guide", "tagIDs"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "name": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("name")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it.Name = data - case "short_description": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("short_description")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it.ShortDescription = data - case "guide": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("guide")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it.Guide = data - case "tagIDs": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("tagIDs")) - data, err := ec.unmarshalOTagID2ᚕstringᚄ(ctx, v) - if err != nil { - return it, err - } - it.TagIDs = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputUpdateMod(ctx context.Context, obj any) (UpdateMod, error) { - var it UpdateMod - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"name", "short_description", "full_description", "logo", "source_url", "mod_reference", "authors", "hidden", "tagIDs", "compatibility", "toggle_network_use", "network_use_disclosure", "ai_use_disclosure", "toggle_explicit_content"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "name": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("name")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it.Name = data - case "short_description": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("short_description")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it.ShortDescription = data - case "full_description": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("full_description")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it.FullDescription = data - case "logo": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("logo")) - data, err := ec.unmarshalOUpload2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚐUpload(ctx, v) - if err != nil { - return it, err - } - it.Logo = data - case "source_url": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("source_url")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it.SourceURL = data - case "mod_reference": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("mod_reference")) - data, err := ec.unmarshalOModReference2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it.ModReference = data - case "authors": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("authors")) - data, err := ec.unmarshalOUpdateUserMod2ᚕgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateUserModᚄ(ctx, v) - if err != nil { - return it, err - } - it.Authors = data - case "hidden": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("hidden")) - data, err := ec.unmarshalOBoolean2ᚖbool(ctx, v) - if err != nil { - return it, err - } - it.Hidden = data - case "tagIDs": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("tagIDs")) - data, err := ec.unmarshalOTagID2ᚕstringᚄ(ctx, v) - if err != nil { - return it, err - } - it.TagIDs = data - case "compatibility": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("compatibility")) - data, err := ec.unmarshalOCompatibilityInfoInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInfoInput(ctx, v) - if err != nil { - return it, err - } - it.Compatibility = data - case "toggle_network_use": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("toggle_network_use")) - data, err := ec.unmarshalOBoolean2ᚖbool(ctx, v) - if err != nil { - return it, err - } - it.ToggleNetworkUse = data - case "network_use_disclosure": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("network_use_disclosure")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it.NetworkUseDisclosure = graphql.OmittableOf(data) - case "ai_use_disclosure": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("ai_use_disclosure")) - data, err := ec.unmarshalOAIUseDisclosureInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAIUseDisclosureInput(ctx, v) - if err != nil { - return it, err - } - it.AiUseDisclosure = data - case "toggle_explicit_content": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("toggle_explicit_content")) - data, err := ec.unmarshalOBoolean2ᚖbool(ctx, v) - if err != nil { - return it, err - } - it.ToggleExplicitContent = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputUpdateSatisfactoryVersion(ctx context.Context, obj any) (UpdateSatisfactoryVersion, error) { - var it UpdateSatisfactoryVersion - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"version", "engine_version"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "version": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("version")) - data, err := ec.unmarshalOInt2ᚖint(ctx, v) - if err != nil { - return it, err - } - it.Version = data - case "engine_version": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("engine_version")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it.EngineVersion = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputUpdateUser(ctx context.Context, obj any) (UpdateUser, error) { - var it UpdateUser - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"avatar", "groups", "username"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "avatar": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("avatar")) - data, err := ec.unmarshalOUpload2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚐUpload(ctx, v) - if err != nil { - return it, err - } - it.Avatar = data - case "groups": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("groups")) - directive0 := func(ctx context.Context) (any, error) { return ec.unmarshalOString2ᚕstringᚄ(ctx, v) } - - directive1 := func(ctx context.Context) (any, error) { - if ec.directives.CanEditUsers == nil { - var zeroVal []string - return zeroVal, errors.New("directive canEditUsers is not implemented") - } - return ec.directives.CanEditUsers(ctx, obj, directive0) - } - directive2 := func(ctx context.Context) (any, error) { - if ec.directives.IsLoggedIn == nil { - var zeroVal []string - return zeroVal, errors.New("directive isLoggedIn is not implemented") - } - return ec.directives.IsLoggedIn(ctx, obj, directive1) - } - - tmp, err := directive2(ctx) - if err != nil { - return it, graphql.ErrorOnPath(ctx, err) - } - if data, ok := tmp.([]string); ok { - it.Groups = data - } else if tmp == nil { - it.Groups = nil - } else { - err := fmt.Errorf(`unexpected type %T from directive, should be []string`, tmp) - return it, graphql.ErrorOnPath(ctx, err) - } - case "username": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("username")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it.Username = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputUpdateUserMod(ctx context.Context, obj any) (UpdateUserMod, error) { - var it UpdateUserMod - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"user_id", "role"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "user_id": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("user_id")) - data, err := ec.unmarshalNUserID2string(ctx, v) - if err != nil { - return it, err - } - it.UserID = data - case "role": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("role")) - data, err := ec.unmarshalNString2string(ctx, v) - if err != nil { - return it, err - } - it.Role = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputUpdateVersion(ctx context.Context, obj any) (UpdateVersion, error) { - var it UpdateVersion - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"changelog", "stability"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "changelog": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("changelog")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it.Changelog = data - case "stability": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("stability")) - data, err := ec.unmarshalOVersionStabilities2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionStabilities(ctx, v) - if err != nil { - return it, err - } - it.Stability = data - } - } - - return it, nil -} - -func (ec *executionContext) unmarshalInputVersionFilter(ctx context.Context, obj any) (map[string]any, error) { - it := make(map[string]any, len(obj.(map[string]any))) - asMap := map[string]any{} - for k, v := range obj.(map[string]any) { - asMap[k] = v - } - - fieldsInOrder := [...]string{"limit", "offset", "order_by", "order", "search", "ids"} - for _, k := range fieldsInOrder { - v, ok := asMap[k] - if !ok { - continue - } - switch k { - case "limit": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("limit")) - data, err := ec.unmarshalOInt2ᚖint(ctx, v) - if err != nil { - return it, err - } - it["limit"] = data - case "offset": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("offset")) - data, err := ec.unmarshalOInt2ᚖint(ctx, v) - if err != nil { - return it, err - } - it["offset"] = data - case "order_by": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("order_by")) - data, err := ec.unmarshalOVersionFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionFields(ctx, v) - if err != nil { - return it, err - } - it["order_by"] = data - case "order": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("order")) - data, err := ec.unmarshalOOrder2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOrder(ctx, v) - if err != nil { - return it, err - } - it["order"] = data - case "search": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("search")) - data, err := ec.unmarshalOString2ᚖstring(ctx, v) - if err != nil { - return it, err - } - it["search"] = data - case "ids": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("ids")) - data, err := ec.unmarshalOString2ᚕstringᚄ(ctx, v) - if err != nil { - return it, err - } - it["ids"] = data - } - } - - return it, nil -} - -// endregion **************************** input.gotpl ***************************** - -// region ************************** interface.gotpl *************************** - -// endregion ************************** interface.gotpl *************************** - -// region **************************** object.gotpl **************************** - -var aIUseDisclosureInfoImplementors = []string{"AIUseDisclosureInfo"} - -func (ec *executionContext) _AIUseDisclosureInfo(ctx context.Context, sel ast.SelectionSet, obj *AIUseDisclosureInfo) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, aIUseDisclosureInfoImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("AIUseDisclosureInfo") - case "disclosure_type": - out.Values[i] = ec._AIUseDisclosureInfo_disclosure_type(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "disclosure_string": - out.Values[i] = ec._AIUseDisclosureInfo_disclosure_string(ctx, field, obj) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var announcementImplementors = []string{"Announcement"} - -func (ec *executionContext) _Announcement(ctx context.Context, sel ast.SelectionSet, obj *Announcement) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, announcementImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("Announcement") - case "id": - out.Values[i] = ec._Announcement_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "message": - out.Values[i] = ec._Announcement_message(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "importance": - out.Values[i] = ec._Announcement_importance(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var compatibilityImplementors = []string{"Compatibility"} - -func (ec *executionContext) _Compatibility(ctx context.Context, sel ast.SelectionSet, obj *Compatibility) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, compatibilityImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("Compatibility") - case "state": - out.Values[i] = ec._Compatibility_state(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "note": - out.Values[i] = ec._Compatibility_note(ctx, field, obj) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var compatibilityInfoImplementors = []string{"CompatibilityInfo"} - -func (ec *executionContext) _CompatibilityInfo(ctx context.Context, sel ast.SelectionSet, obj *CompatibilityInfo) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, compatibilityInfoImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("CompatibilityInfo") - case "EA": - out.Values[i] = ec._CompatibilityInfo_EA(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "EXP": - out.Values[i] = ec._CompatibilityInfo_EXP(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "Controller": - out.Values[i] = ec._CompatibilityInfo_Controller(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var controllerCompatibilityImplementors = []string{"ControllerCompatibility"} - -func (ec *executionContext) _ControllerCompatibility(ctx context.Context, sel ast.SelectionSet, obj *ControllerCompatibility) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, controllerCompatibilityImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("ControllerCompatibility") - case "state": - out.Values[i] = ec._ControllerCompatibility_state(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "note": - out.Values[i] = ec._ControllerCompatibility_note(ctx, field, obj) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var createVersionResponseImplementors = []string{"CreateVersionResponse"} - -func (ec *executionContext) _CreateVersionResponse(ctx context.Context, sel ast.SelectionSet, obj *CreateVersionResponse) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, createVersionResponseImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("CreateVersionResponse") - case "auto_approved": - out.Values[i] = ec._CreateVersionResponse_auto_approved(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "version": - out.Values[i] = ec._CreateVersionResponse_version(ctx, field, obj) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var getGuidesImplementors = []string{"GetGuides"} - -func (ec *executionContext) _GetGuides(ctx context.Context, sel ast.SelectionSet, obj *GetGuides) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, getGuidesImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("GetGuides") - case "guides": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._GetGuides_guides(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "count": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._GetGuides_count(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var getModsImplementors = []string{"GetMods"} - -func (ec *executionContext) _GetMods(ctx context.Context, sel ast.SelectionSet, obj *GetMods) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, getModsImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("GetMods") - case "mods": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._GetMods_mods(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "count": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._GetMods_count(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var getMyModsImplementors = []string{"GetMyMods"} - -func (ec *executionContext) _GetMyMods(ctx context.Context, sel ast.SelectionSet, obj *GetMyMods) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, getMyModsImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("GetMyMods") - case "mods": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._GetMyMods_mods(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "count": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._GetMyMods_count(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var getMyVersionsImplementors = []string{"GetMyVersions"} - -func (ec *executionContext) _GetMyVersions(ctx context.Context, sel ast.SelectionSet, obj *GetMyVersions) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, getMyVersionsImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("GetMyVersions") - case "versions": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._GetMyVersions_versions(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "count": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._GetMyVersions_count(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var getSMLVersionsImplementors = []string{"GetSMLVersions"} - -func (ec *executionContext) _GetSMLVersions(ctx context.Context, sel ast.SelectionSet, obj *GetSMLVersions) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, getSMLVersionsImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("GetSMLVersions") - case "sml_versions": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._GetSMLVersions_sml_versions(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "count": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._GetSMLVersions_count(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var getVersionsImplementors = []string{"GetVersions"} - -func (ec *executionContext) _GetVersions(ctx context.Context, sel ast.SelectionSet, obj *GetVersions) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, getVersionsImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("GetVersions") - case "versions": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._GetVersions_versions(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "count": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._GetVersions_count(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var groupImplementors = []string{"Group"} - -func (ec *executionContext) _Group(ctx context.Context, sel ast.SelectionSet, obj *Group) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, groupImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("Group") - case "id": - out.Values[i] = ec._Group_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "name": - out.Values[i] = ec._Group_name(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var guideImplementors = []string{"Guide"} - -func (ec *executionContext) _Guide(ctx context.Context, sel ast.SelectionSet, obj *Guide) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, guideImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("Guide") - case "id": - out.Values[i] = ec._Guide_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "name": - out.Values[i] = ec._Guide_name(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "short_description": - out.Values[i] = ec._Guide_short_description(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "guide": - out.Values[i] = ec._Guide_guide(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "views": - out.Values[i] = ec._Guide_views(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "user_id": - out.Values[i] = ec._Guide_user_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "updated_at": - out.Values[i] = ec._Guide_updated_at(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "created_at": - out.Values[i] = ec._Guide_created_at(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "tags": - out.Values[i] = ec._Guide_tags(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "user": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Guide_user(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var latestVersionsImplementors = []string{"LatestVersions"} - -func (ec *executionContext) _LatestVersions(ctx context.Context, sel ast.SelectionSet, obj *LatestVersions) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, latestVersionsImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("LatestVersions") - case "alpha": - out.Values[i] = ec._LatestVersions_alpha(ctx, field, obj) - case "beta": - out.Values[i] = ec._LatestVersions_beta(ctx, field, obj) - case "release": - out.Values[i] = ec._LatestVersions_release(ctx, field, obj) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var modImplementors = []string{"Mod"} - -func (ec *executionContext) _Mod(ctx context.Context, sel ast.SelectionSet, obj *Mod) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, modImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("Mod") - case "id": - out.Values[i] = ec._Mod_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "name": - out.Values[i] = ec._Mod_name(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "short_description": - out.Values[i] = ec._Mod_short_description(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "full_description": - out.Values[i] = ec._Mod_full_description(ctx, field, obj) - case "logo": - out.Values[i] = ec._Mod_logo(ctx, field, obj) - case "logo_thumbhash": - out.Values[i] = ec._Mod_logo_thumbhash(ctx, field, obj) - case "source_url": - out.Values[i] = ec._Mod_source_url(ctx, field, obj) - case "creator_id": - out.Values[i] = ec._Mod_creator_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "approved": - out.Values[i] = ec._Mod_approved(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "views": - out.Values[i] = ec._Mod_views(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "downloads": - out.Values[i] = ec._Mod_downloads(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "hotness": - out.Values[i] = ec._Mod_hotness(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "popularity": - out.Values[i] = ec._Mod_popularity(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "updated_at": - out.Values[i] = ec._Mod_updated_at(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "created_at": - out.Values[i] = ec._Mod_created_at(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "last_version_date": - out.Values[i] = ec._Mod_last_version_date(ctx, field, obj) - case "mod_reference": - out.Values[i] = ec._Mod_mod_reference(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "hidden": - out.Values[i] = ec._Mod_hidden(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "tags": - out.Values[i] = ec._Mod_tags(ctx, field, obj) - case "compatibility": - out.Values[i] = ec._Mod_compatibility(ctx, field, obj) - case "toggle_network_use": - out.Values[i] = ec._Mod_toggle_network_use(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "network_use_disclosure": - out.Values[i] = ec._Mod_network_use_disclosure(ctx, field, obj) - case "ai_use_disclosure": - out.Values[i] = ec._Mod_ai_use_disclosure(ctx, field, obj) - case "toggle_explicit_content": - out.Values[i] = ec._Mod_toggle_explicit_content(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "authors": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Mod_authors(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "version": - field := field - - innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Mod_version(ctx, field, obj) - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "versions": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Mod_versions(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "latestVersions": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Mod_latestVersions(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var modVersionImplementors = []string{"ModVersion"} - -func (ec *executionContext) _ModVersion(ctx context.Context, sel ast.SelectionSet, obj *ModVersion) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, modVersionImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("ModVersion") - case "id": - out.Values[i] = ec._ModVersion_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "mod_reference": - out.Values[i] = ec._ModVersion_mod_reference(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "versions": - out.Values[i] = ec._ModVersion_versions(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var mutationImplementors = []string{"Mutation"} - -func (ec *executionContext) _Mutation(ctx context.Context, sel ast.SelectionSet) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, mutationImplementors) - ctx = graphql.WithFieldContext(ctx, &graphql.FieldContext{ - Object: "Mutation", - }) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - innerCtx := graphql.WithRootFieldContext(ctx, &graphql.RootFieldContext{ - Object: field.Name, - Field: field, - }) - - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("Mutation") - case "discourseSSO": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_discourseSSO(ctx, field) - }) - case "createAnnouncement": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_createAnnouncement(ctx, field) - }) - case "updateAnnouncement": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_updateAnnouncement(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "deleteAnnouncement": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_deleteAnnouncement(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "updateModCompatibility": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_updateModCompatibility(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "updateMultipleModCompatibilities": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_updateMultipleModCompatibilities(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "createGuide": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_createGuide(ctx, field) - }) - case "updateGuide": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_updateGuide(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "deleteGuide": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_deleteGuide(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "createMod": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_createMod(ctx, field) - }) - case "updateMod": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_updateMod(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "deleteMod": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_deleteMod(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "approveMod": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_approveMod(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "denyMod": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_denyMod(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "createSatisfactoryVersion": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_createSatisfactoryVersion(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "updateSatisfactoryVersion": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_updateSatisfactoryVersion(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "deleteSatisfactoryVersion": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_deleteSatisfactoryVersion(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "createTag": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_createTag(ctx, field) - }) - case "createMultipleTags": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_createMultipleTags(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "updateTag": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_updateTag(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "deleteTag": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_deleteTag(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "updateUser": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_updateUser(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "logout": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_logout(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "oAuthGithub": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_oAuthGithub(ctx, field) - }) - case "oAuthGoogle": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_oAuthGoogle(ctx, field) - }) - case "oAuthFacebook": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_oAuthFacebook(ctx, field) - }) - case "createVersion": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_createVersion(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "uploadVersionPart": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_uploadVersionPart(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "finalizeCreateVersion": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_finalizeCreateVersion(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "updateVersion": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_updateVersion(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "deleteVersion": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_deleteVersion(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "approveVersion": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_approveVersion(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "denyVersion": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Mutation_denyVersion(ctx, field) - }) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var oAuthOptionsImplementors = []string{"OAuthOptions"} - -func (ec *executionContext) _OAuthOptions(ctx context.Context, sel ast.SelectionSet, obj *OAuthOptions) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, oAuthOptionsImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("OAuthOptions") - case "github": - out.Values[i] = ec._OAuthOptions_github(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "google": - out.Values[i] = ec._OAuthOptions_google(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "facebook": - out.Values[i] = ec._OAuthOptions_facebook(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var queryImplementors = []string{"Query"} - -func (ec *executionContext) _Query(ctx context.Context, sel ast.SelectionSet) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, queryImplementors) - ctx = graphql.WithFieldContext(ctx, &graphql.FieldContext{ - Object: "Query", - }) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - innerCtx := graphql.WithRootFieldContext(ctx, &graphql.RootFieldContext{ - Object: field.Name, - Field: field, - }) - - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("Query") - case "getOAuthOptions": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getOAuthOptions(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getAnnouncement": - field := field - - innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getAnnouncement(ctx, field) - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getAnnouncements": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getAnnouncements(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getAnnouncementsByImportance": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getAnnouncementsByImportance(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getGuide": - field := field - - innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getGuide(ctx, field) - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getGuides": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getGuides(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getMod": - field := field - - innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getMod(ctx, field) - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getModByReference": - field := field - - innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getModByReference(ctx, field) - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getModByIdOrReference": - field := field - - innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getModByIdOrReference(ctx, field) - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getMods": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getMods(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getUnapprovedMods": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getUnapprovedMods(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getMyMods": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getMyMods(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getMyUnapprovedMods": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getMyUnapprovedMods(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "resolveModVersions": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_resolveModVersions(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getModAssetList": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getModAssetList(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getSatisfactoryVersions": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getSatisfactoryVersions(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getSatisfactoryVersion": - field := field - - innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getSatisfactoryVersion(ctx, field) - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getSMLVersion": - field := field - - innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getSMLVersion(ctx, field) - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getSMLVersions": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getSMLVersions(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getTag": - field := field - - innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getTag(ctx, field) - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getTags": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getTags(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getMe": - field := field - - innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getMe(ctx, field) - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getUser": - field := field - - innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getUser(ctx, field) - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getUsers": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getUsers(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getVersion": - field := field - - innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getVersion(ctx, field) - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getVersions": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getVersions(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getUnapprovedVersions": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getUnapprovedVersions(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "checkVersionUploadState": - field := field - - innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_checkVersionUploadState(ctx, field) - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getMyVersions": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getMyVersions(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "getMyUnapprovedVersions": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Query_getMyUnapprovedVersions(ctx, field) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - rrm := func(ctx context.Context) graphql.Marshaler { - return ec.OperationContext.RootResolverMiddleware(ctx, - func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) - case "__type": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Query___type(ctx, field) - }) - case "__schema": - out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { - return ec._Query___schema(ctx, field) - }) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var sMLVersionImplementors = []string{"SMLVersion"} - -func (ec *executionContext) _SMLVersion(ctx context.Context, sel ast.SelectionSet, obj *SMLVersion) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, sMLVersionImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("SMLVersion") - case "id": - out.Values[i] = ec._SMLVersion_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "version": - out.Values[i] = ec._SMLVersion_version(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "satisfactory_version": - out.Values[i] = ec._SMLVersion_satisfactory_version(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "stability": - out.Values[i] = ec._SMLVersion_stability(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "link": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._SMLVersion_link(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "targets": - out.Values[i] = ec._SMLVersion_targets(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "changelog": - out.Values[i] = ec._SMLVersion_changelog(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "date": - out.Values[i] = ec._SMLVersion_date(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "bootstrap_version": - field := field - - innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._SMLVersion_bootstrap_version(ctx, field, obj) - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "engine_version": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._SMLVersion_engine_version(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "updated_at": - out.Values[i] = ec._SMLVersion_updated_at(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "created_at": - out.Values[i] = ec._SMLVersion_created_at(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var sMLVersionTargetImplementors = []string{"SMLVersionTarget"} - -func (ec *executionContext) _SMLVersionTarget(ctx context.Context, sel ast.SelectionSet, obj *SMLVersionTarget) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, sMLVersionTargetImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("SMLVersionTarget") - case "VersionID": - out.Values[i] = ec._SMLVersionTarget_VersionID(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "targetName": - out.Values[i] = ec._SMLVersionTarget_targetName(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "link": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._SMLVersionTarget_link(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var satisfactoryVersionImplementors = []string{"SatisfactoryVersion"} - -func (ec *executionContext) _SatisfactoryVersion(ctx context.Context, sel ast.SelectionSet, obj *SatisfactoryVersion) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, satisfactoryVersionImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("SatisfactoryVersion") - case "id": - out.Values[i] = ec._SatisfactoryVersion_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "version": - out.Values[i] = ec._SatisfactoryVersion_version(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "engine_version": - out.Values[i] = ec._SatisfactoryVersion_engine_version(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var tagImplementors = []string{"Tag"} - -func (ec *executionContext) _Tag(ctx context.Context, sel ast.SelectionSet, obj *Tag) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, tagImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("Tag") - case "id": - out.Values[i] = ec._Tag_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "name": - out.Values[i] = ec._Tag_name(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "description": - out.Values[i] = ec._Tag_description(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var userImplementors = []string{"User"} - -func (ec *executionContext) _User(ctx context.Context, sel ast.SelectionSet, obj *User) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, userImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("User") - case "id": - out.Values[i] = ec._User_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "email": - out.Values[i] = ec._User_email(ctx, field, obj) - case "username": - out.Values[i] = ec._User_username(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "avatar": - out.Values[i] = ec._User_avatar(ctx, field, obj) - case "avatar_thumbhash": - out.Values[i] = ec._User_avatar_thumbhash(ctx, field, obj) - case "created_at": - out.Values[i] = ec._User_created_at(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "github_id": - out.Values[i] = ec._User_github_id(ctx, field, obj) - case "google_id": - out.Values[i] = ec._User_google_id(ctx, field, obj) - case "facebook_id": - out.Values[i] = ec._User_facebook_id(ctx, field, obj) - case "roles": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._User_roles(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "groups": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._User_groups(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "mods": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._User_mods(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "guides": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._User_guides(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var userModImplementors = []string{"UserMod"} - -func (ec *executionContext) _UserMod(ctx context.Context, sel ast.SelectionSet, obj *UserMod) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, userModImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("UserMod") - case "user_id": - out.Values[i] = ec._UserMod_user_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "mod_id": - out.Values[i] = ec._UserMod_mod_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "role": - out.Values[i] = ec._UserMod_role(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "user": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._UserMod_user(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "mod": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._UserMod_mod(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var userRolesImplementors = []string{"UserRoles"} - -func (ec *executionContext) _UserRoles(ctx context.Context, sel ast.SelectionSet, obj *UserRoles) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, userRolesImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("UserRoles") - case "approveMods": - out.Values[i] = ec._UserRoles_approveMods(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "approveVersions": - out.Values[i] = ec._UserRoles_approveVersions(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "deleteContent": - out.Values[i] = ec._UserRoles_deleteContent(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "editContent": - out.Values[i] = ec._UserRoles_editContent(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "editUsers": - out.Values[i] = ec._UserRoles_editUsers(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "editSatisfactoryVersions": - out.Values[i] = ec._UserRoles_editSatisfactoryVersions(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "editBootstrapVersions": - out.Values[i] = ec._UserRoles_editBootstrapVersions(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "editAnyModCompatibility": - out.Values[i] = ec._UserRoles_editAnyModCompatibility(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var userSessionImplementors = []string{"UserSession"} - -func (ec *executionContext) _UserSession(ctx context.Context, sel ast.SelectionSet, obj *UserSession) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, userSessionImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("UserSession") - case "token": - out.Values[i] = ec._UserSession_token(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var versionImplementors = []string{"Version"} - -func (ec *executionContext) _Version(ctx context.Context, sel ast.SelectionSet, obj *Version) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, versionImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("Version") - case "id": - out.Values[i] = ec._Version_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "mod_id": - out.Values[i] = ec._Version_mod_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "version": - out.Values[i] = ec._Version_version(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "sml_version": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Version_sml_version(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "game_version": - out.Values[i] = ec._Version_game_version(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "required_on_remote": - out.Values[i] = ec._Version_required_on_remote(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "changelog": - out.Values[i] = ec._Version_changelog(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "downloads": - out.Values[i] = ec._Version_downloads(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "stability": - out.Values[i] = ec._Version_stability(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "approved": - out.Values[i] = ec._Version_approved(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "updated_at": - out.Values[i] = ec._Version_updated_at(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "created_at": - out.Values[i] = ec._Version_created_at(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "link": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Version_link(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "targets": - out.Values[i] = ec._Version_targets(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "metadata": - out.Values[i] = ec._Version_metadata(ctx, field, obj) - case "size": - field := field - - innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Version_size(ctx, field, obj) - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "hash": - field := field - - innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Version_hash(ctx, field, obj) - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "mod": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Version_mod(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "dependencies": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Version_dependencies(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "virustotal_results": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._Version_virustotal_results(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var versionDependencyImplementors = []string{"VersionDependency"} - -func (ec *executionContext) _VersionDependency(ctx context.Context, sel ast.SelectionSet, obj *VersionDependency) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, versionDependencyImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("VersionDependency") - case "version_id": - out.Values[i] = ec._VersionDependency_version_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "mod_id": - out.Values[i] = ec._VersionDependency_mod_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "condition": - out.Values[i] = ec._VersionDependency_condition(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "optional": - out.Values[i] = ec._VersionDependency_optional(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "mod_reference": - out.Values[i] = ec._VersionDependency_mod_reference(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "mod": - field := field - - innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._VersionDependency_mod(ctx, field, obj) - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "version": - out.Values[i] = ec._VersionDependency_version(ctx, field, obj) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var versionTargetImplementors = []string{"VersionTarget"} - -func (ec *executionContext) _VersionTarget(ctx context.Context, sel ast.SelectionSet, obj *VersionTarget) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, versionTargetImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("VersionTarget") - case "VersionID": - out.Values[i] = ec._VersionTarget_VersionID(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "targetName": - out.Values[i] = ec._VersionTarget_targetName(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } - case "link": - field := field - - innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - } - }() - res = ec._VersionTarget_link(ctx, field, obj) - if res == graphql.Null { - atomic.AddUint32(&fs.Invalids, 1) - } - return res - } - - if field.Deferrable != nil { - dfs, ok := deferred[field.Deferrable.Label] - di := 0 - if ok { - dfs.AddField(field) - di = len(dfs.Values) - 1 - } else { - dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) - deferred[field.Deferrable.Label] = dfs - } - dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { - return innerFunc(ctx, dfs) - }) - - // don't run the out.Concurrently() call below - out.Values[i] = graphql.Null - continue - } - - out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) - case "size": - out.Values[i] = ec._VersionTarget_size(ctx, field, obj) - case "hash": - out.Values[i] = ec._VersionTarget_hash(ctx, field, obj) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var virustotalResultImplementors = []string{"VirustotalResult"} - -func (ec *executionContext) _VirustotalResult(ctx context.Context, sel ast.SelectionSet, obj *VirustotalResult) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, virustotalResultImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("VirustotalResult") - case "id": - out.Values[i] = ec._VirustotalResult_id(ctx, field, obj) - case "hash": - out.Values[i] = ec._VirustotalResult_hash(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "safe": - out.Values[i] = ec._VirustotalResult_safe(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "file_name": - out.Values[i] = ec._VirustotalResult_file_name(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "version_id": - out.Values[i] = ec._VirustotalResult_version_id(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "created_at": - out.Values[i] = ec._VirustotalResult_created_at(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "updated_at": - out.Values[i] = ec._VirustotalResult_updated_at(ctx, field, obj) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var __DirectiveImplementors = []string{"__Directive"} - -func (ec *executionContext) ___Directive(ctx context.Context, sel ast.SelectionSet, obj *introspection.Directive) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, __DirectiveImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("__Directive") - case "name": - out.Values[i] = ec.___Directive_name(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "description": - out.Values[i] = ec.___Directive_description(ctx, field, obj) - case "isRepeatable": - out.Values[i] = ec.___Directive_isRepeatable(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "locations": - out.Values[i] = ec.___Directive_locations(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "args": - out.Values[i] = ec.___Directive_args(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var __EnumValueImplementors = []string{"__EnumValue"} - -func (ec *executionContext) ___EnumValue(ctx context.Context, sel ast.SelectionSet, obj *introspection.EnumValue) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, __EnumValueImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("__EnumValue") - case "name": - out.Values[i] = ec.___EnumValue_name(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "description": - out.Values[i] = ec.___EnumValue_description(ctx, field, obj) - case "isDeprecated": - out.Values[i] = ec.___EnumValue_isDeprecated(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "deprecationReason": - out.Values[i] = ec.___EnumValue_deprecationReason(ctx, field, obj) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var __FieldImplementors = []string{"__Field"} - -func (ec *executionContext) ___Field(ctx context.Context, sel ast.SelectionSet, obj *introspection.Field) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, __FieldImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("__Field") - case "name": - out.Values[i] = ec.___Field_name(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "description": - out.Values[i] = ec.___Field_description(ctx, field, obj) - case "args": - out.Values[i] = ec.___Field_args(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "type": - out.Values[i] = ec.___Field_type(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "isDeprecated": - out.Values[i] = ec.___Field_isDeprecated(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "deprecationReason": - out.Values[i] = ec.___Field_deprecationReason(ctx, field, obj) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var __InputValueImplementors = []string{"__InputValue"} - -func (ec *executionContext) ___InputValue(ctx context.Context, sel ast.SelectionSet, obj *introspection.InputValue) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, __InputValueImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("__InputValue") - case "name": - out.Values[i] = ec.___InputValue_name(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "description": - out.Values[i] = ec.___InputValue_description(ctx, field, obj) - case "type": - out.Values[i] = ec.___InputValue_type(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "defaultValue": - out.Values[i] = ec.___InputValue_defaultValue(ctx, field, obj) - case "isDeprecated": - out.Values[i] = ec.___InputValue_isDeprecated(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "deprecationReason": - out.Values[i] = ec.___InputValue_deprecationReason(ctx, field, obj) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var __SchemaImplementors = []string{"__Schema"} - -func (ec *executionContext) ___Schema(ctx context.Context, sel ast.SelectionSet, obj *introspection.Schema) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, __SchemaImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("__Schema") - case "description": - out.Values[i] = ec.___Schema_description(ctx, field, obj) - case "types": - out.Values[i] = ec.___Schema_types(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "queryType": - out.Values[i] = ec.___Schema_queryType(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "mutationType": - out.Values[i] = ec.___Schema_mutationType(ctx, field, obj) - case "subscriptionType": - out.Values[i] = ec.___Schema_subscriptionType(ctx, field, obj) - case "directives": - out.Values[i] = ec.___Schema_directives(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -var __TypeImplementors = []string{"__Type"} - -func (ec *executionContext) ___Type(ctx context.Context, sel ast.SelectionSet, obj *introspection.Type) graphql.Marshaler { - fields := graphql.CollectFields(ec.OperationContext, sel, __TypeImplementors) - - out := graphql.NewFieldSet(fields) - deferred := make(map[string]*graphql.FieldSet) - for i, field := range fields { - switch field.Name { - case "__typename": - out.Values[i] = graphql.MarshalString("__Type") - case "kind": - out.Values[i] = ec.___Type_kind(ctx, field, obj) - if out.Values[i] == graphql.Null { - out.Invalids++ - } - case "name": - out.Values[i] = ec.___Type_name(ctx, field, obj) - case "description": - out.Values[i] = ec.___Type_description(ctx, field, obj) - case "specifiedByURL": - out.Values[i] = ec.___Type_specifiedByURL(ctx, field, obj) - case "fields": - out.Values[i] = ec.___Type_fields(ctx, field, obj) - case "interfaces": - out.Values[i] = ec.___Type_interfaces(ctx, field, obj) - case "possibleTypes": - out.Values[i] = ec.___Type_possibleTypes(ctx, field, obj) - case "enumValues": - out.Values[i] = ec.___Type_enumValues(ctx, field, obj) - case "inputFields": - out.Values[i] = ec.___Type_inputFields(ctx, field, obj) - case "ofType": - out.Values[i] = ec.___Type_ofType(ctx, field, obj) - case "isOneOf": - out.Values[i] = ec.___Type_isOneOf(ctx, field, obj) - default: - panic("unknown field " + strconv.Quote(field.Name)) - } - } - out.Dispatch(ctx) - if out.Invalids > 0 { - return graphql.Null - } - - atomic.AddInt32(&ec.deferred, int32(len(deferred))) - - for label, dfs := range deferred { - ec.processDeferredGroup(graphql.DeferredGroup{ - Label: label, - Path: graphql.GetPath(ctx), - FieldSet: dfs, - Context: ctx, - }) - } - - return out -} - -// endregion **************************** object.gotpl **************************** - -// region ***************************** type.gotpl ***************************** - -func (ec *executionContext) unmarshalNAIUseDisclosureType2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAIUseDisclosureType(ctx context.Context, v any) (AIUseDisclosureType, error) { - var res AIUseDisclosureType - err := res.UnmarshalGQL(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNAIUseDisclosureType2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAIUseDisclosureType(ctx context.Context, sel ast.SelectionSet, v AIUseDisclosureType) graphql.Marshaler { - return v -} - -func (ec *executionContext) marshalNAnnouncement2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncement(ctx context.Context, sel ast.SelectionSet, v Announcement) graphql.Marshaler { - return ec._Announcement(ctx, sel, &v) -} - -func (ec *executionContext) marshalNAnnouncement2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementᚄ(ctx context.Context, sel ast.SelectionSet, v []*Announcement) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalNAnnouncement2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncement(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalNAnnouncement2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncement(ctx context.Context, sel ast.SelectionSet, v *Announcement) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._Announcement(ctx, sel, v) -} - -func (ec *executionContext) unmarshalNAnnouncementID2string(ctx context.Context, v any) (string, error) { - res, err := graphql.UnmarshalString(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNAnnouncementID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { - _ = sel - res := graphql.MarshalString(v) - if res == graphql.Null { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - } - return res -} - -func (ec *executionContext) unmarshalNAnnouncementImportance2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementImportance(ctx context.Context, v any) (AnnouncementImportance, error) { - var res AnnouncementImportance - err := res.UnmarshalGQL(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNAnnouncementImportance2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementImportance(ctx context.Context, sel ast.SelectionSet, v AnnouncementImportance) graphql.Marshaler { - return v -} - -func (ec *executionContext) unmarshalNBoolean2bool(ctx context.Context, v any) (bool, error) { - res, err := graphql.UnmarshalBoolean(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNBoolean2bool(ctx context.Context, sel ast.SelectionSet, v bool) graphql.Marshaler { - _ = sel - res := graphql.MarshalBoolean(v) - if res == graphql.Null { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - } - return res -} - -func (ec *executionContext) marshalNCompatibility2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibility(ctx context.Context, sel ast.SelectionSet, v *Compatibility) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._Compatibility(ctx, sel, v) -} - -func (ec *executionContext) unmarshalNCompatibilityInfoInput2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInfoInput(ctx context.Context, v any) (CompatibilityInfoInput, error) { - res, err := ec.unmarshalInputCompatibilityInfoInput(ctx, v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalNCompatibilityInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInput(ctx context.Context, v any) (*CompatibilityInput, error) { - res, err := ec.unmarshalInputCompatibilityInput(ctx, v) - return &res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalNCompatibilityState2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityState(ctx context.Context, v any) (CompatibilityState, error) { - var res CompatibilityState - err := res.UnmarshalGQL(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNCompatibilityState2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityState(ctx context.Context, sel ast.SelectionSet, v CompatibilityState) graphql.Marshaler { - return v -} - -func (ec *executionContext) marshalNControllerCompatibility2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐControllerCompatibility(ctx context.Context, sel ast.SelectionSet, v *ControllerCompatibility) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._ControllerCompatibility(ctx, sel, v) -} - -func (ec *executionContext) unmarshalNControllerCompatibilityInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐControllerCompatibilityInput(ctx context.Context, v any) (*ControllerCompatibilityInput, error) { - res, err := ec.unmarshalInputControllerCompatibilityInput(ctx, v) - return &res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalNControllerCompatibilityState2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐControllerCompatibilityState(ctx context.Context, v any) (ControllerCompatibilityState, error) { - var res ControllerCompatibilityState - err := res.UnmarshalGQL(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNControllerCompatibilityState2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐControllerCompatibilityState(ctx context.Context, sel ast.SelectionSet, v ControllerCompatibilityState) graphql.Marshaler { - return v -} - -func (ec *executionContext) unmarshalNDate2string(ctx context.Context, v any) (string, error) { - res, err := graphql.UnmarshalString(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNDate2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { - _ = sel - res := graphql.MarshalString(v) - if res == graphql.Null { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - } - return res -} - -func (ec *executionContext) marshalNGetGuides2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetGuides(ctx context.Context, sel ast.SelectionSet, v GetGuides) graphql.Marshaler { - return ec._GetGuides(ctx, sel, &v) -} - -func (ec *executionContext) marshalNGetGuides2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetGuides(ctx context.Context, sel ast.SelectionSet, v *GetGuides) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._GetGuides(ctx, sel, v) -} - -func (ec *executionContext) marshalNGetMods2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMods(ctx context.Context, sel ast.SelectionSet, v GetMods) graphql.Marshaler { - return ec._GetMods(ctx, sel, &v) -} - -func (ec *executionContext) marshalNGetMods2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMods(ctx context.Context, sel ast.SelectionSet, v *GetMods) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._GetMods(ctx, sel, v) -} - -func (ec *executionContext) marshalNGetMyMods2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMyMods(ctx context.Context, sel ast.SelectionSet, v GetMyMods) graphql.Marshaler { - return ec._GetMyMods(ctx, sel, &v) -} - -func (ec *executionContext) marshalNGetMyMods2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMyMods(ctx context.Context, sel ast.SelectionSet, v *GetMyMods) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._GetMyMods(ctx, sel, v) -} - -func (ec *executionContext) marshalNGetMyVersions2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMyVersions(ctx context.Context, sel ast.SelectionSet, v GetMyVersions) graphql.Marshaler { - return ec._GetMyVersions(ctx, sel, &v) -} - -func (ec *executionContext) marshalNGetMyVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMyVersions(ctx context.Context, sel ast.SelectionSet, v *GetMyVersions) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._GetMyVersions(ctx, sel, v) -} - -func (ec *executionContext) marshalNGetSMLVersions2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetSMLVersions(ctx context.Context, sel ast.SelectionSet, v GetSMLVersions) graphql.Marshaler { - return ec._GetSMLVersions(ctx, sel, &v) -} - -func (ec *executionContext) marshalNGetSMLVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetSMLVersions(ctx context.Context, sel ast.SelectionSet, v *GetSMLVersions) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._GetSMLVersions(ctx, sel, v) -} - -func (ec *executionContext) marshalNGetVersions2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetVersions(ctx context.Context, sel ast.SelectionSet, v GetVersions) graphql.Marshaler { - return ec._GetVersions(ctx, sel, &v) -} - -func (ec *executionContext) marshalNGetVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetVersions(ctx context.Context, sel ast.SelectionSet, v *GetVersions) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._GetVersions(ctx, sel, v) -} - -func (ec *executionContext) marshalNGroup2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGroupᚄ(ctx context.Context, sel ast.SelectionSet, v []*Group) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalNGroup2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGroup(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalNGroup2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGroup(ctx context.Context, sel ast.SelectionSet, v *Group) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._Group(ctx, sel, v) -} - -func (ec *executionContext) marshalNGuide2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuide(ctx context.Context, sel ast.SelectionSet, v Guide) graphql.Marshaler { - return ec._Guide(ctx, sel, &v) -} - -func (ec *executionContext) marshalNGuide2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuideᚄ(ctx context.Context, sel ast.SelectionSet, v []*Guide) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalNGuide2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuide(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalNGuide2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuide(ctx context.Context, sel ast.SelectionSet, v *Guide) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._Guide(ctx, sel, v) -} - -func (ec *executionContext) unmarshalNGuideID2string(ctx context.Context, v any) (string, error) { - res, err := graphql.UnmarshalString(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNGuideID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { - _ = sel - res := graphql.MarshalString(v) - if res == graphql.Null { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - } - return res -} - -func (ec *executionContext) unmarshalNInt2int(ctx context.Context, v any) (int, error) { - res, err := graphql.UnmarshalInt(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNInt2int(ctx context.Context, sel ast.SelectionSet, v int) graphql.Marshaler { - _ = sel - res := graphql.MarshalInt(v) - if res == graphql.Null { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - } - return res -} - -func (ec *executionContext) marshalNLatestVersions2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐLatestVersions(ctx context.Context, sel ast.SelectionSet, v LatestVersions) graphql.Marshaler { - return ec._LatestVersions(ctx, sel, &v) -} - -func (ec *executionContext) marshalNLatestVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐLatestVersions(ctx context.Context, sel ast.SelectionSet, v *LatestVersions) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._LatestVersions(ctx, sel, v) -} - -func (ec *executionContext) marshalNMod2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx context.Context, sel ast.SelectionSet, v Mod) graphql.Marshaler { - return ec._Mod(ctx, sel, &v) -} - -func (ec *executionContext) marshalNMod2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModᚄ(ctx context.Context, sel ast.SelectionSet, v []*Mod) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalNMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalNMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx context.Context, sel ast.SelectionSet, v *Mod) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._Mod(ctx, sel, v) -} - -func (ec *executionContext) unmarshalNModID2string(ctx context.Context, v any) (string, error) { - res, err := graphql.UnmarshalString(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNModID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { - _ = sel - res := graphql.MarshalString(v) - if res == graphql.Null { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - } - return res -} - -func (ec *executionContext) unmarshalNModID2ᚕstringᚄ(ctx context.Context, v any) ([]string, error) { - var vSlice []any - vSlice = graphql.CoerceList(v) - var err error - res := make([]string, len(vSlice)) - for i := range vSlice { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalNModID2string(ctx, vSlice[i]) - if err != nil { - return nil, err - } - } - return res, nil -} - -func (ec *executionContext) marshalNModID2ᚕstringᚄ(ctx context.Context, sel ast.SelectionSet, v []string) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - for i := range v { - ret[i] = ec.marshalNModID2string(ctx, sel, v[i]) - } - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) unmarshalNModReference2string(ctx context.Context, v any) (string, error) { - res, err := graphql.UnmarshalString(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNModReference2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { - _ = sel - res := graphql.MarshalString(v) - if res == graphql.Null { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - } - return res -} - -func (ec *executionContext) marshalNModVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModVersionᚄ(ctx context.Context, sel ast.SelectionSet, v []*ModVersion) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalNModVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModVersion(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalNModVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModVersion(ctx context.Context, sel ast.SelectionSet, v *ModVersion) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._ModVersion(ctx, sel, v) -} - -func (ec *executionContext) unmarshalNModVersionConstraint2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModVersionConstraintᚄ(ctx context.Context, v any) ([]*ModVersionConstraint, error) { - var vSlice []any - vSlice = graphql.CoerceList(v) - var err error - res := make([]*ModVersionConstraint, len(vSlice)) - for i := range vSlice { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalNModVersionConstraint2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModVersionConstraint(ctx, vSlice[i]) - if err != nil { - return nil, err - } - } - return res, nil -} - -func (ec *executionContext) unmarshalNModVersionConstraint2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModVersionConstraint(ctx context.Context, v any) (*ModVersionConstraint, error) { - res, err := ec.unmarshalInputModVersionConstraint(ctx, v) - return &res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalNNewAnnouncement2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewAnnouncement(ctx context.Context, v any) (NewAnnouncement, error) { - res, err := ec.unmarshalInputNewAnnouncement(ctx, v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalNNewGuide2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewGuide(ctx context.Context, v any) (NewGuide, error) { - res, err := ec.unmarshalInputNewGuide(ctx, v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalNNewMod2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewMod(ctx context.Context, v any) (NewMod, error) { - res, err := ec.unmarshalInputNewMod(ctx, v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalNNewSatisfactoryVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewSatisfactoryVersion(ctx context.Context, v any) (NewSatisfactoryVersion, error) { - res, err := ec.unmarshalInputNewSatisfactoryVersion(ctx, v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalNNewTag2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewTagᚄ(ctx context.Context, v any) ([]*NewTag, error) { - var vSlice []any - vSlice = graphql.CoerceList(v) - var err error - res := make([]*NewTag, len(vSlice)) - for i := range vSlice { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalNNewTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewTag(ctx, vSlice[i]) - if err != nil { - return nil, err - } - } - return res, nil -} - -func (ec *executionContext) unmarshalNNewTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewTag(ctx context.Context, v any) (*NewTag, error) { - res, err := ec.unmarshalInputNewTag(ctx, v) - return &res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalNNewVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewVersion(ctx context.Context, v any) (NewVersion, error) { - res, err := ec.unmarshalInputNewVersion(ctx, v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNOAuthOptions2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOAuthOptions(ctx context.Context, sel ast.SelectionSet, v OAuthOptions) graphql.Marshaler { - return ec._OAuthOptions(ctx, sel, &v) -} - -func (ec *executionContext) marshalNOAuthOptions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOAuthOptions(ctx context.Context, sel ast.SelectionSet, v *OAuthOptions) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._OAuthOptions(ctx, sel, v) -} - -func (ec *executionContext) marshalNSMLVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersionᚄ(ctx context.Context, sel ast.SelectionSet, v []*SMLVersion) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalNSMLVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersion(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalNSMLVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersion(ctx context.Context, sel ast.SelectionSet, v *SMLVersion) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._SMLVersion(ctx, sel, v) -} - -func (ec *executionContext) unmarshalNSMLVersionID2string(ctx context.Context, v any) (string, error) { - res, err := graphql.UnmarshalString(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNSMLVersionID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { - _ = sel - res := graphql.MarshalString(v) - if res == graphql.Null { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - } - return res -} - -func (ec *executionContext) marshalNSMLVersionTarget2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersionTarget(ctx context.Context, sel ast.SelectionSet, v []*SMLVersionTarget) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalOSMLVersionTarget2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersionTarget(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - return ret -} - -func (ec *executionContext) marshalNSatisfactoryVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSatisfactoryVersion(ctx context.Context, sel ast.SelectionSet, v SatisfactoryVersion) graphql.Marshaler { - return ec._SatisfactoryVersion(ctx, sel, &v) -} - -func (ec *executionContext) marshalNSatisfactoryVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSatisfactoryVersionᚄ(ctx context.Context, sel ast.SelectionSet, v []*SatisfactoryVersion) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalNSatisfactoryVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSatisfactoryVersion(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalNSatisfactoryVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSatisfactoryVersion(ctx context.Context, sel ast.SelectionSet, v *SatisfactoryVersion) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._SatisfactoryVersion(ctx, sel, v) -} - -func (ec *executionContext) unmarshalNSatisfactoryVersionID2string(ctx context.Context, v any) (string, error) { - res, err := graphql.UnmarshalString(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNSatisfactoryVersionID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { - _ = sel - res := graphql.MarshalString(v) - if res == graphql.Null { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - } - return res -} - -func (ec *executionContext) unmarshalNString2string(ctx context.Context, v any) (string, error) { - res, err := graphql.UnmarshalString(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNString2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { - _ = sel - res := graphql.MarshalString(v) - if res == graphql.Null { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - } - return res -} - -func (ec *executionContext) unmarshalNString2ᚕstringᚄ(ctx context.Context, v any) ([]string, error) { - var vSlice []any - vSlice = graphql.CoerceList(v) - var err error - res := make([]string, len(vSlice)) - for i := range vSlice { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalNString2string(ctx, vSlice[i]) - if err != nil { - return nil, err - } - } - return res, nil -} - -func (ec *executionContext) marshalNString2ᚕstringᚄ(ctx context.Context, sel ast.SelectionSet, v []string) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - for i := range v { - ret[i] = ec.marshalNString2string(ctx, sel, v[i]) - } - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalNTag2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTag(ctx context.Context, sel ast.SelectionSet, v Tag) graphql.Marshaler { - return ec._Tag(ctx, sel, &v) -} - -func (ec *executionContext) marshalNTag2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTagᚄ(ctx context.Context, sel ast.SelectionSet, v []*Tag) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalNTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTag(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalNTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTag(ctx context.Context, sel ast.SelectionSet, v *Tag) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._Tag(ctx, sel, v) -} - -func (ec *executionContext) unmarshalNTagID2string(ctx context.Context, v any) (string, error) { - res, err := graphql.UnmarshalString(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNTagID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { - _ = sel - res := graphql.MarshalString(v) - if res == graphql.Null { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - } - return res -} - -func (ec *executionContext) unmarshalNTagName2string(ctx context.Context, v any) (string, error) { - res, err := graphql.UnmarshalString(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNTagName2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { - _ = sel - res := graphql.MarshalString(v) - if res == graphql.Null { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - } - return res -} - -func (ec *executionContext) unmarshalNTargetName2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTargetName(ctx context.Context, v any) (TargetName, error) { - var res TargetName - err := res.UnmarshalGQL(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNTargetName2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTargetName(ctx context.Context, sel ast.SelectionSet, v TargetName) graphql.Marshaler { - return v -} - -func (ec *executionContext) unmarshalNUpdateAnnouncement2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateAnnouncement(ctx context.Context, v any) (UpdateAnnouncement, error) { - res, err := ec.unmarshalInputUpdateAnnouncement(ctx, v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalNUpdateGuide2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateGuide(ctx context.Context, v any) (UpdateGuide, error) { - res, err := ec.unmarshalInputUpdateGuide(ctx, v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalNUpdateMod2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateMod(ctx context.Context, v any) (UpdateMod, error) { - res, err := ec.unmarshalInputUpdateMod(ctx, v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalNUpdateSatisfactoryVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateSatisfactoryVersion(ctx context.Context, v any) (UpdateSatisfactoryVersion, error) { - res, err := ec.unmarshalInputUpdateSatisfactoryVersion(ctx, v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalNUpdateUser2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateUser(ctx context.Context, v any) (UpdateUser, error) { - res, err := ec.unmarshalInputUpdateUser(ctx, v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalNUpdateUserMod2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateUserMod(ctx context.Context, v any) (UpdateUserMod, error) { - res, err := ec.unmarshalInputUpdateUserMod(ctx, v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalNUpdateVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateVersion(ctx context.Context, v any) (UpdateVersion, error) { - res, err := ec.unmarshalInputUpdateVersion(ctx, v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalNUpload2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚐUpload(ctx context.Context, v any) (graphql.Upload, error) { - res, err := graphql.UnmarshalUpload(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNUpload2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚐUpload(ctx context.Context, sel ast.SelectionSet, v graphql.Upload) graphql.Marshaler { - _ = sel - res := graphql.MarshalUpload(v) - if res == graphql.Null { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - } - return res -} - -func (ec *executionContext) marshalNUser2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx context.Context, sel ast.SelectionSet, v User) graphql.Marshaler { - return ec._User(ctx, sel, &v) -} - -func (ec *executionContext) marshalNUser2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx context.Context, sel ast.SelectionSet, v []*User) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalOUser2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - return ret -} - -func (ec *executionContext) marshalNUser2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx context.Context, sel ast.SelectionSet, v *User) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._User(ctx, sel, v) -} - -func (ec *executionContext) unmarshalNUserID2string(ctx context.Context, v any) (string, error) { - res, err := graphql.UnmarshalString(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNUserID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { - _ = sel - res := graphql.MarshalString(v) - if res == graphql.Null { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - } - return res -} - -func (ec *executionContext) unmarshalNUserID2ᚕstringᚄ(ctx context.Context, v any) ([]string, error) { - var vSlice []any - vSlice = graphql.CoerceList(v) - var err error - res := make([]string, len(vSlice)) - for i := range vSlice { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalNUserID2string(ctx, vSlice[i]) - if err != nil { - return nil, err - } - } - return res, nil -} - -func (ec *executionContext) marshalNUserID2ᚕstringᚄ(ctx context.Context, sel ast.SelectionSet, v []string) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - for i := range v { - ret[i] = ec.marshalNUserID2string(ctx, sel, v[i]) - } - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalNUserMod2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserModᚄ(ctx context.Context, sel ast.SelectionSet, v []*UserMod) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalNUserMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserMod(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalNUserMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserMod(ctx context.Context, sel ast.SelectionSet, v *UserMod) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._UserMod(ctx, sel, v) -} - -func (ec *executionContext) marshalNUserRoles2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserRoles(ctx context.Context, sel ast.SelectionSet, v UserRoles) graphql.Marshaler { - return ec._UserRoles(ctx, sel, &v) -} - -func (ec *executionContext) marshalNUserRoles2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserRoles(ctx context.Context, sel ast.SelectionSet, v *UserRoles) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._UserRoles(ctx, sel, v) -} - -func (ec *executionContext) marshalNVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx context.Context, sel ast.SelectionSet, v Version) graphql.Marshaler { - return ec._Version(ctx, sel, &v) -} - -func (ec *executionContext) marshalNVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionᚄ(ctx context.Context, sel ast.SelectionSet, v []*Version) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalNVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalNVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx context.Context, sel ast.SelectionSet, v *Version) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._Version(ctx, sel, v) -} - -func (ec *executionContext) marshalNVersionDependency2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionDependencyᚄ(ctx context.Context, sel ast.SelectionSet, v []*VersionDependency) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalNVersionDependency2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionDependency(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalNVersionDependency2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionDependency(ctx context.Context, sel ast.SelectionSet, v *VersionDependency) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._VersionDependency(ctx, sel, v) -} - -func (ec *executionContext) unmarshalNVersionID2string(ctx context.Context, v any) (string, error) { - res, err := graphql.UnmarshalString(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNVersionID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { - _ = sel - res := graphql.MarshalString(v) - if res == graphql.Null { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - } - return res -} - -func (ec *executionContext) unmarshalNVersionStabilities2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionStabilities(ctx context.Context, v any) (VersionStabilities, error) { - var res VersionStabilities - err := res.UnmarshalGQL(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNVersionStabilities2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionStabilities(ctx context.Context, sel ast.SelectionSet, v VersionStabilities) graphql.Marshaler { - return v -} - -func (ec *executionContext) marshalNVersionTarget2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionTarget(ctx context.Context, sel ast.SelectionSet, v []*VersionTarget) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalOVersionTarget2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionTarget(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - return ret -} - -func (ec *executionContext) unmarshalNVirustotalHash2string(ctx context.Context, v any) (string, error) { - res, err := graphql.UnmarshalString(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalNVirustotalHash2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { - _ = sel - res := graphql.MarshalString(v) - if res == graphql.Null { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - } - return res -} - -func (ec *executionContext) marshalNVirustotalResult2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVirustotalResultᚄ(ctx context.Context, sel ast.SelectionSet, v []*VirustotalResult) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalNVirustotalResult2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVirustotalResult(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalNVirustotalResult2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVirustotalResult(ctx context.Context, sel ast.SelectionSet, v *VirustotalResult) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec._VirustotalResult(ctx, sel, v) -} - -func (ec *executionContext) marshalN__Directive2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐDirective(ctx context.Context, sel ast.SelectionSet, v introspection.Directive) graphql.Marshaler { - return ec.___Directive(ctx, sel, &v) -} - -func (ec *executionContext) marshalN__Directive2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐDirectiveᚄ(ctx context.Context, sel ast.SelectionSet, v []introspection.Directive) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalN__Directive2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐDirective(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) unmarshalN__DirectiveLocation2string(ctx context.Context, v any) (string, error) { - res, err := graphql.UnmarshalString(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalN__DirectiveLocation2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { - _ = sel - res := graphql.MarshalString(v) - if res == graphql.Null { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - } - return res -} - -func (ec *executionContext) unmarshalN__DirectiveLocation2ᚕstringᚄ(ctx context.Context, v any) ([]string, error) { - var vSlice []any - vSlice = graphql.CoerceList(v) - var err error - res := make([]string, len(vSlice)) - for i := range vSlice { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalN__DirectiveLocation2string(ctx, vSlice[i]) - if err != nil { - return nil, err - } - } - return res, nil -} - -func (ec *executionContext) marshalN__DirectiveLocation2ᚕstringᚄ(ctx context.Context, sel ast.SelectionSet, v []string) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalN__DirectiveLocation2string(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalN__EnumValue2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐEnumValue(ctx context.Context, sel ast.SelectionSet, v introspection.EnumValue) graphql.Marshaler { - return ec.___EnumValue(ctx, sel, &v) -} - -func (ec *executionContext) marshalN__Field2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐField(ctx context.Context, sel ast.SelectionSet, v introspection.Field) graphql.Marshaler { - return ec.___Field(ctx, sel, &v) -} - -func (ec *executionContext) marshalN__InputValue2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValue(ctx context.Context, sel ast.SelectionSet, v introspection.InputValue) graphql.Marshaler { - return ec.___InputValue(ctx, sel, &v) -} - -func (ec *executionContext) marshalN__InputValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValueᚄ(ctx context.Context, sel ast.SelectionSet, v []introspection.InputValue) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalN__InputValue2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValue(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalN__Type2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx context.Context, sel ast.SelectionSet, v introspection.Type) graphql.Marshaler { - return ec.___Type(ctx, sel, &v) -} - -func (ec *executionContext) marshalN__Type2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐTypeᚄ(ctx context.Context, sel ast.SelectionSet, v []introspection.Type) graphql.Marshaler { - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalN__Type2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalN__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx context.Context, sel ast.SelectionSet, v *introspection.Type) graphql.Marshaler { - if v == nil { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - return graphql.Null - } - return ec.___Type(ctx, sel, v) -} - -func (ec *executionContext) unmarshalN__TypeKind2string(ctx context.Context, v any) (string, error) { - res, err := graphql.UnmarshalString(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalN__TypeKind2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { - _ = sel - res := graphql.MarshalString(v) - if res == graphql.Null { - if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { - ec.Errorf(ctx, "the requested element is null which the schema does not allow") - } - } - return res -} - -func (ec *executionContext) marshalOAIUseDisclosureInfo2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAIUseDisclosureInfo(ctx context.Context, sel ast.SelectionSet, v *AIUseDisclosureInfo) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec._AIUseDisclosureInfo(ctx, sel, v) -} - -func (ec *executionContext) unmarshalOAIUseDisclosureInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAIUseDisclosureInput(ctx context.Context, v any) (*AIUseDisclosureInput, error) { - if v == nil { - return nil, nil - } - res, err := ec.unmarshalInputAIUseDisclosureInput(ctx, v) - return &res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalOAnnouncement2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncement(ctx context.Context, sel ast.SelectionSet, v *Announcement) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec._Announcement(ctx, sel, v) -} - -func (ec *executionContext) unmarshalOAnnouncementImportance2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementImportance(ctx context.Context, v any) (*AnnouncementImportance, error) { - if v == nil { - return nil, nil - } - var res = new(AnnouncementImportance) - err := res.UnmarshalGQL(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalOAnnouncementImportance2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementImportance(ctx context.Context, sel ast.SelectionSet, v *AnnouncementImportance) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return v -} - -func (ec *executionContext) unmarshalOBoolean2bool(ctx context.Context, v any) (bool, error) { - res, err := graphql.UnmarshalBoolean(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalOBoolean2bool(ctx context.Context, sel ast.SelectionSet, v bool) graphql.Marshaler { - _ = sel - _ = ctx - res := graphql.MarshalBoolean(v) - return res -} - -func (ec *executionContext) unmarshalOBoolean2ᚖbool(ctx context.Context, v any) (*bool, error) { - if v == nil { - return nil, nil - } - res, err := graphql.UnmarshalBoolean(v) - return &res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalOBoolean2ᚖbool(ctx context.Context, sel ast.SelectionSet, v *bool) graphql.Marshaler { - if v == nil { - return graphql.Null - } - _ = sel - _ = ctx - res := graphql.MarshalBoolean(*v) - return res -} - -func (ec *executionContext) marshalOCompatibilityInfo2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInfo(ctx context.Context, sel ast.SelectionSet, v *CompatibilityInfo) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec._CompatibilityInfo(ctx, sel, v) -} - -func (ec *executionContext) unmarshalOCompatibilityInfoInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInfoInput(ctx context.Context, v any) (*CompatibilityInfoInput, error) { - if v == nil { - return nil, nil - } - res, err := ec.unmarshalInputCompatibilityInfoInput(ctx, v) - return &res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalOCreateVersionResponse2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCreateVersionResponse(ctx context.Context, sel ast.SelectionSet, v *CreateVersionResponse) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec._CreateVersionResponse(ctx, sel, v) -} - -func (ec *executionContext) unmarshalODate2ᚖstring(ctx context.Context, v any) (*string, error) { - if v == nil { - return nil, nil - } - res, err := graphql.UnmarshalString(v) - return &res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalODate2ᚖstring(ctx context.Context, sel ast.SelectionSet, v *string) graphql.Marshaler { - if v == nil { - return graphql.Null - } - _ = sel - _ = ctx - res := graphql.MarshalString(*v) - return res -} - -func (ec *executionContext) marshalOGuide2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuide(ctx context.Context, sel ast.SelectionSet, v *Guide) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec._Guide(ctx, sel, v) -} - -func (ec *executionContext) unmarshalOGuideFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuideFields(ctx context.Context, v any) (*GuideFields, error) { - if v == nil { - return nil, nil - } - var res = new(GuideFields) - err := res.UnmarshalGQL(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalOGuideFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuideFields(ctx context.Context, sel ast.SelectionSet, v *GuideFields) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return v -} - -func (ec *executionContext) unmarshalOGuideFilter2map(ctx context.Context, v any) (map[string]any, error) { - if v == nil { - return nil, nil - } - res, err := ec.unmarshalInputGuideFilter(ctx, v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalOInt2ᚖint(ctx context.Context, v any) (*int, error) { - if v == nil { - return nil, nil - } - res, err := graphql.UnmarshalInt(v) - return &res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalOInt2ᚖint(ctx context.Context, sel ast.SelectionSet, v *int) graphql.Marshaler { - if v == nil { - return graphql.Null - } - _ = sel - _ = ctx - res := graphql.MarshalInt(*v) - return res -} - -func (ec *executionContext) marshalOMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx context.Context, sel ast.SelectionSet, v *Mod) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec._Mod(ctx, sel, v) -} - -func (ec *executionContext) unmarshalOModFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModFields(ctx context.Context, v any) (*ModFields, error) { - if v == nil { - return nil, nil - } - var res = new(ModFields) - err := res.UnmarshalGQL(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalOModFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModFields(ctx context.Context, sel ast.SelectionSet, v *ModFields) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return v -} - -func (ec *executionContext) unmarshalOModFilter2map(ctx context.Context, v any) (map[string]any, error) { - if v == nil { - return nil, nil - } - res, err := ec.unmarshalInputModFilter(ctx, v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalOModReference2ᚖstring(ctx context.Context, v any) (*string, error) { - if v == nil { - return nil, nil - } - res, err := graphql.UnmarshalString(v) - return &res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalOModReference2ᚖstring(ctx context.Context, sel ast.SelectionSet, v *string) graphql.Marshaler { - if v == nil { - return graphql.Null - } - _ = sel - _ = ctx - res := graphql.MarshalString(*v) - return res -} - -func (ec *executionContext) unmarshalOOrder2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOrder(ctx context.Context, v any) (*Order, error) { - if v == nil { - return nil, nil - } - var res = new(Order) - err := res.UnmarshalGQL(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalOOrder2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOrder(ctx context.Context, sel ast.SelectionSet, v *Order) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return v -} - -func (ec *executionContext) marshalOSMLVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersion(ctx context.Context, sel ast.SelectionSet, v *SMLVersion) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec._SMLVersion(ctx, sel, v) -} - -func (ec *executionContext) unmarshalOSMLVersionFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersionFields(ctx context.Context, v any) (*SMLVersionFields, error) { - if v == nil { - return nil, nil - } - var res = new(SMLVersionFields) - err := res.UnmarshalGQL(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalOSMLVersionFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersionFields(ctx context.Context, sel ast.SelectionSet, v *SMLVersionFields) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return v -} - -func (ec *executionContext) unmarshalOSMLVersionFilter2map(ctx context.Context, v any) (map[string]any, error) { - if v == nil { - return nil, nil - } - res, err := ec.unmarshalInputSMLVersionFilter(ctx, v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalOSMLVersionTarget2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersionTarget(ctx context.Context, sel ast.SelectionSet, v *SMLVersionTarget) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec._SMLVersionTarget(ctx, sel, v) -} - -func (ec *executionContext) marshalOSatisfactoryVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSatisfactoryVersion(ctx context.Context, sel ast.SelectionSet, v *SatisfactoryVersion) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec._SatisfactoryVersion(ctx, sel, v) -} - -func (ec *executionContext) unmarshalOString2ᚕstringᚄ(ctx context.Context, v any) ([]string, error) { - if v == nil { - return nil, nil - } - var vSlice []any - vSlice = graphql.CoerceList(v) - var err error - res := make([]string, len(vSlice)) - for i := range vSlice { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalNString2string(ctx, vSlice[i]) - if err != nil { - return nil, err - } - } - return res, nil -} - -func (ec *executionContext) marshalOString2ᚕstringᚄ(ctx context.Context, sel ast.SelectionSet, v []string) graphql.Marshaler { - if v == nil { - return graphql.Null - } - ret := make(graphql.Array, len(v)) - for i := range v { - ret[i] = ec.marshalNString2string(ctx, sel, v[i]) - } - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) unmarshalOString2ᚖstring(ctx context.Context, v any) (*string, error) { - if v == nil { - return nil, nil - } - res, err := graphql.UnmarshalString(v) - return &res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalOString2ᚖstring(ctx context.Context, sel ast.SelectionSet, v *string) graphql.Marshaler { - if v == nil { - return graphql.Null - } - _ = sel - _ = ctx - res := graphql.MarshalString(*v) - return res -} - -func (ec *executionContext) marshalOTag2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTagᚄ(ctx context.Context, sel ast.SelectionSet, v []*Tag) graphql.Marshaler { - if v == nil { - return graphql.Null - } - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalNTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTag(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalOTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTag(ctx context.Context, sel ast.SelectionSet, v *Tag) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec._Tag(ctx, sel, v) -} - -func (ec *executionContext) unmarshalOTagFilter2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTagFilter(ctx context.Context, v any) (*TagFilter, error) { - if v == nil { - return nil, nil - } - res, err := ec.unmarshalInputTagFilter(ctx, v) - return &res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalOTagID2ᚕstringᚄ(ctx context.Context, v any) ([]string, error) { - if v == nil { - return nil, nil - } - var vSlice []any - vSlice = graphql.CoerceList(v) - var err error - res := make([]string, len(vSlice)) - for i := range vSlice { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalNTagID2string(ctx, vSlice[i]) - if err != nil { - return nil, err - } - } - return res, nil -} - -func (ec *executionContext) marshalOTagID2ᚕstringᚄ(ctx context.Context, sel ast.SelectionSet, v []string) graphql.Marshaler { - if v == nil { - return graphql.Null - } - ret := make(graphql.Array, len(v)) - for i := range v { - ret[i] = ec.marshalNTagID2string(ctx, sel, v[i]) - } - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) unmarshalOUpdateUserMod2ᚕgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateUserModᚄ(ctx context.Context, v any) ([]UpdateUserMod, error) { - if v == nil { - return nil, nil - } - var vSlice []any - vSlice = graphql.CoerceList(v) - var err error - res := make([]UpdateUserMod, len(vSlice)) - for i := range vSlice { - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) - res[i], err = ec.unmarshalNUpdateUserMod2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateUserMod(ctx, vSlice[i]) - if err != nil { - return nil, err - } - } - return res, nil -} - -func (ec *executionContext) unmarshalOUpload2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚐUpload(ctx context.Context, v any) (*graphql.Upload, error) { - if v == nil { - return nil, nil - } - res, err := graphql.UnmarshalUpload(v) - return &res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalOUpload2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚐUpload(ctx context.Context, sel ast.SelectionSet, v *graphql.Upload) graphql.Marshaler { - if v == nil { - return graphql.Null - } - _ = sel - _ = ctx - res := graphql.MarshalUpload(*v) - return res -} - -func (ec *executionContext) marshalOUser2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx context.Context, sel ast.SelectionSet, v *User) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec._User(ctx, sel, v) -} - -func (ec *executionContext) marshalOUserSession2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserSession(ctx context.Context, sel ast.SelectionSet, v *UserSession) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec._UserSession(ctx, sel, v) -} - -func (ec *executionContext) marshalOVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx context.Context, sel ast.SelectionSet, v *Version) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec._Version(ctx, sel, v) -} - -func (ec *executionContext) unmarshalOVersionFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionFields(ctx context.Context, v any) (*VersionFields, error) { - if v == nil { - return nil, nil - } - var res = new(VersionFields) - err := res.UnmarshalGQL(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalOVersionFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionFields(ctx context.Context, sel ast.SelectionSet, v *VersionFields) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return v -} - -func (ec *executionContext) unmarshalOVersionFilter2map(ctx context.Context, v any) (map[string]any, error) { - if v == nil { - return nil, nil - } - res, err := ec.unmarshalInputVersionFilter(ctx, v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) unmarshalOVersionStabilities2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionStabilities(ctx context.Context, v any) (*VersionStabilities, error) { - if v == nil { - return nil, nil - } - var res = new(VersionStabilities) - err := res.UnmarshalGQL(v) - return res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalOVersionStabilities2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionStabilities(ctx context.Context, sel ast.SelectionSet, v *VersionStabilities) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return v -} - -func (ec *executionContext) marshalOVersionTarget2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionTarget(ctx context.Context, sel ast.SelectionSet, v *VersionTarget) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec._VersionTarget(ctx, sel, v) -} - -func (ec *executionContext) unmarshalOVirustotalID2ᚖstring(ctx context.Context, v any) (*string, error) { - if v == nil { - return nil, nil - } - res, err := graphql.UnmarshalString(v) - return &res, graphql.ErrorOnPath(ctx, err) -} - -func (ec *executionContext) marshalOVirustotalID2ᚖstring(ctx context.Context, sel ast.SelectionSet, v *string) graphql.Marshaler { - if v == nil { - return graphql.Null - } - _ = sel - _ = ctx - res := graphql.MarshalString(*v) - return res -} - -func (ec *executionContext) marshalO__EnumValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐEnumValueᚄ(ctx context.Context, sel ast.SelectionSet, v []introspection.EnumValue) graphql.Marshaler { - if v == nil { - return graphql.Null - } - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalN__EnumValue2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐEnumValue(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalO__Field2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐFieldᚄ(ctx context.Context, sel ast.SelectionSet, v []introspection.Field) graphql.Marshaler { - if v == nil { - return graphql.Null - } - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalN__Field2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐField(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalO__InputValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValueᚄ(ctx context.Context, sel ast.SelectionSet, v []introspection.InputValue) graphql.Marshaler { - if v == nil { - return graphql.Null - } - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalN__InputValue2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValue(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalO__Schema2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐSchema(ctx context.Context, sel ast.SelectionSet, v *introspection.Schema) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec.___Schema(ctx, sel, v) -} - -func (ec *executionContext) marshalO__Type2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐTypeᚄ(ctx context.Context, sel ast.SelectionSet, v []introspection.Type) graphql.Marshaler { - if v == nil { - return graphql.Null - } - ret := make(graphql.Array, len(v)) - var wg sync.WaitGroup - isLen1 := len(v) == 1 - if !isLen1 { - wg.Add(len(v)) - } - for i := range v { - i := i - fc := &graphql.FieldContext{ - Index: &i, - Result: &v[i], - } - ctx := graphql.WithFieldContext(ctx, fc) - f := func(i int) { - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = nil - } - }() - if !isLen1 { - defer wg.Done() - } - ret[i] = ec.marshalN__Type2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, sel, v[i]) - } - if isLen1 { - f(i) - } else { - go f(i) - } - - } - wg.Wait() - - for _, e := range ret { - if e == graphql.Null { - return graphql.Null - } - } - - return ret -} - -func (ec *executionContext) marshalO__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx context.Context, sel ast.SelectionSet, v *introspection.Type) graphql.Marshaler { - if v == nil { - return graphql.Null - } - return ec.___Type(ctx, sel, v) -} - -// endregion ***************************** type.gotpl ***************************** diff --git a/generated/models_gen.go b/generated/models_gen.go deleted file mode 100644 index 375c5b77..00000000 --- a/generated/models_gen.go +++ /dev/null @@ -1,1013 +0,0 @@ -// Code generated by github.com/99designs/gqlgen, DO NOT EDIT. - -package generated - -import ( - "bytes" - "fmt" - "io" - "strconv" - - "github.com/99designs/gqlgen/graphql" -) - -type AIUseDisclosureInfo struct { - DisclosureType AIUseDisclosureType `json:"disclosure_type"` - DisclosureString *string `json:"disclosure_string,omitempty"` -} - -type AIUseDisclosureInput struct { - DisclosureType AIUseDisclosureType `json:"disclosure_type"` - DisclosureString *string `json:"disclosure_string,omitempty"` -} - -type Announcement struct { - ID string `json:"id"` - Message string `json:"message"` - Importance AnnouncementImportance `json:"importance"` -} - -type Compatibility struct { - State CompatibilityState `json:"state"` - Note *string `json:"note,omitempty"` -} - -type CompatibilityInfo struct { - Ea *Compatibility `json:"EA"` - Exp *Compatibility `json:"EXP"` - Controller *ControllerCompatibility `json:"Controller"` -} - -type CompatibilityInfoInput struct { - Ea *CompatibilityInput `json:"EA"` - Exp *CompatibilityInput `json:"EXP"` - Controller *ControllerCompatibilityInput `json:"Controller"` -} - -type CompatibilityInput struct { - State CompatibilityState `json:"state"` - Note *string `json:"note,omitempty"` -} - -type ControllerCompatibility struct { - State ControllerCompatibilityState `json:"state"` - Note *string `json:"note,omitempty"` -} - -type ControllerCompatibilityInput struct { - State ControllerCompatibilityState `json:"state"` - Note *string `json:"note,omitempty"` -} - -type CreateVersionResponse struct { - AutoApproved bool `json:"auto_approved"` - Version *Version `json:"version,omitempty"` -} - -type GetGuides struct { - Guides []*Guide `json:"guides"` - Count int `json:"count"` -} - -type GetMods struct { - Mods []*Mod `json:"mods"` - Count int `json:"count"` -} - -type GetMyMods struct { - Mods []*Mod `json:"mods"` - Count int `json:"count"` -} - -type GetMyVersions struct { - Versions []*Version `json:"versions"` - Count int `json:"count"` -} - -type GetSMLVersions struct { - SmlVersions []*SMLVersion `json:"sml_versions"` - Count int `json:"count"` -} - -type GetVersions struct { - Versions []*Version `json:"versions"` - Count int `json:"count"` -} - -type Group struct { - ID string `json:"id"` - Name string `json:"name"` -} - -type Guide struct { - ID string `json:"id"` - Name string `json:"name"` - ShortDescription string `json:"short_description"` - Guide string `json:"guide"` - Views int `json:"views"` - UserID string `json:"user_id"` - UpdatedAt string `json:"updated_at"` - CreatedAt string `json:"created_at"` - Tags []*Tag `json:"tags"` - User *User `json:"user"` -} - -type LatestVersions struct { - Alpha *Version `json:"alpha,omitempty"` - Beta *Version `json:"beta,omitempty"` - Release *Version `json:"release,omitempty"` -} - -type Mod struct { - ID string `json:"id"` - Name string `json:"name"` - ShortDescription string `json:"short_description"` - FullDescription *string `json:"full_description,omitempty"` - Logo *string `json:"logo,omitempty"` - LogoThumbhash *string `json:"logo_thumbhash,omitempty"` - SourceURL *string `json:"source_url,omitempty"` - CreatorID string `json:"creator_id"` - Approved bool `json:"approved"` - Views int `json:"views"` - Downloads int `json:"downloads"` - Hotness int `json:"hotness"` - Popularity int `json:"popularity"` - UpdatedAt string `json:"updated_at"` - CreatedAt string `json:"created_at"` - LastVersionDate *string `json:"last_version_date,omitempty"` - ModReference string `json:"mod_reference"` - Hidden bool `json:"hidden"` - Tags []*Tag `json:"tags,omitempty"` - Compatibility *CompatibilityInfo `json:"compatibility,omitempty"` - ToggleNetworkUse bool `json:"toggle_network_use"` - NetworkUseDisclosure *string `json:"network_use_disclosure,omitempty"` - AiUseDisclosure *AIUseDisclosureInfo `json:"ai_use_disclosure,omitempty"` - ToggleExplicitContent bool `json:"toggle_explicit_content"` - Authors []*UserMod `json:"authors"` - Version *Version `json:"version,omitempty"` - Versions []*Version `json:"versions"` - LatestVersions *LatestVersions `json:"latestVersions"` -} - -type ModVersion struct { - ID string `json:"id"` - ModReference string `json:"mod_reference"` - Versions []*Version `json:"versions"` -} - -type ModVersionConstraint struct { - ModIDOrReference string `json:"modIdOrReference"` - Version string `json:"version"` -} - -type Mutation struct { -} - -type NewAnnouncement struct { - Message string `json:"message"` - Importance AnnouncementImportance `json:"importance"` -} - -type NewGuide struct { - Name string `json:"name"` - ShortDescription string `json:"short_description"` - Guide string `json:"guide"` - TagIDs []string `json:"tagIDs,omitempty"` -} - -type NewSatisfactoryVersion struct { - Version int `json:"version"` - EngineVersion string `json:"engine_version"` -} - -type NewTag struct { - Name string `json:"name"` - Description string `json:"description"` -} - -type NewVersion struct { - Changelog string `json:"changelog"` - Stability VersionStabilities `json:"stability"` -} - -type OAuthOptions struct { - Github string `json:"github"` - Google string `json:"google"` - Facebook string `json:"facebook"` -} - -type Query struct { -} - -type SMLVersion struct { - ID string `json:"id"` - Version string `json:"version"` - SatisfactoryVersion int `json:"satisfactory_version"` - Stability VersionStabilities `json:"stability"` - Link string `json:"link"` - Targets []*SMLVersionTarget `json:"targets"` - Changelog string `json:"changelog"` - Date string `json:"date"` - BootstrapVersion *string `json:"bootstrap_version,omitempty"` - EngineVersion string `json:"engine_version"` - UpdatedAt string `json:"updated_at"` - CreatedAt string `json:"created_at"` -} - -type SMLVersionTarget struct { - VersionID string `json:"VersionID"` - TargetName TargetName `json:"targetName"` - Link string `json:"link"` -} - -type SatisfactoryVersion struct { - ID string `json:"id"` - Version int `json:"version"` - EngineVersion string `json:"engine_version"` -} - -type Tag struct { - ID string `json:"id"` - Name string `json:"name"` - Description string `json:"description"` -} - -type TagFilter struct { - Limit *int `json:"limit,omitempty"` - Offset *int `json:"offset,omitempty"` - Order *Order `json:"order,omitempty"` - Search *string `json:"search,omitempty"` - Ids []string `json:"ids,omitempty"` -} - -type UpdateAnnouncement struct { - Message *string `json:"message,omitempty"` - Importance *AnnouncementImportance `json:"importance,omitempty"` -} - -type UpdateGuide struct { - Name *string `json:"name,omitempty"` - ShortDescription *string `json:"short_description,omitempty"` - Guide *string `json:"guide,omitempty"` - TagIDs []string `json:"tagIDs,omitempty"` -} - -type UpdateSatisfactoryVersion struct { - Version *int `json:"version,omitempty"` - EngineVersion *string `json:"engine_version,omitempty"` -} - -type UpdateUser struct { - Avatar *graphql.Upload `json:"avatar,omitempty"` - Groups []string `json:"groups,omitempty"` - Username *string `json:"username,omitempty"` -} - -type UpdateUserMod struct { - UserID string `json:"user_id"` - Role string `json:"role"` -} - -type UpdateVersion struct { - Changelog *string `json:"changelog,omitempty"` - Stability *VersionStabilities `json:"stability,omitempty"` -} - -type User struct { - ID string `json:"id"` - Email *string `json:"email,omitempty"` - Username string `json:"username"` - Avatar *string `json:"avatar,omitempty"` - AvatarThumbhash *string `json:"avatar_thumbhash,omitempty"` - CreatedAt string `json:"created_at"` - GithubID *string `json:"github_id,omitempty"` - GoogleID *string `json:"google_id,omitempty"` - FacebookID *string `json:"facebook_id,omitempty"` - Roles *UserRoles `json:"roles"` - Groups []*Group `json:"groups"` - Mods []*UserMod `json:"mods"` - Guides []*Guide `json:"guides"` -} - -type UserMod struct { - UserID string `json:"user_id"` - ModID string `json:"mod_id"` - Role string `json:"role"` - User *User `json:"user"` - Mod *Mod `json:"mod"` -} - -type UserRoles struct { - ApproveMods bool `json:"approveMods"` - ApproveVersions bool `json:"approveVersions"` - DeleteContent bool `json:"deleteContent"` - EditContent bool `json:"editContent"` - EditUsers bool `json:"editUsers"` - EditSatisfactoryVersions bool `json:"editSatisfactoryVersions"` - EditBootstrapVersions bool `json:"editBootstrapVersions"` - EditAnyModCompatibility bool `json:"editAnyModCompatibility"` -} - -type UserSession struct { - Token string `json:"token"` -} - -type Version struct { - ID string `json:"id"` - ModID string `json:"mod_id"` - Version string `json:"version"` - SmlVersion string `json:"sml_version"` - GameVersion string `json:"game_version"` - RequiredOnRemote bool `json:"required_on_remote"` - Changelog string `json:"changelog"` - Downloads int `json:"downloads"` - Stability VersionStabilities `json:"stability"` - Approved bool `json:"approved"` - UpdatedAt string `json:"updated_at"` - CreatedAt string `json:"created_at"` - Link string `json:"link"` - Targets []*VersionTarget `json:"targets"` - Metadata *string `json:"metadata,omitempty"` - Size *int `json:"size,omitempty"` - Hash *string `json:"hash,omitempty"` - Mod *Mod `json:"mod"` - Dependencies []*VersionDependency `json:"dependencies"` - VirustotalResults []*VirustotalResult `json:"virustotal_results"` -} - -type VersionDependency struct { - VersionID string `json:"version_id"` - ModID string `json:"mod_id"` - Condition string `json:"condition"` - Optional bool `json:"optional"` - ModReference string `json:"mod_reference"` - Mod *Mod `json:"mod,omitempty"` - Version *Version `json:"version,omitempty"` -} - -type VersionTarget struct { - VersionID string `json:"VersionID"` - TargetName TargetName `json:"targetName"` - Link string `json:"link"` - Size *int `json:"size,omitempty"` - Hash *string `json:"hash,omitempty"` -} - -type VirustotalResult struct { - ID *string `json:"id,omitempty"` - Hash string `json:"hash"` - Safe bool `json:"safe"` - FileName string `json:"file_name"` - VersionID string `json:"version_id"` - CreatedAt string `json:"created_at"` - UpdatedAt *string `json:"updated_at,omitempty"` -} - -type AIUseDisclosureType string - -const ( - AIUseDisclosureTypeNoAiUsage AIUseDisclosureType = "no_ai_usage" - AIUseDisclosureTypeAiUsage AIUseDisclosureType = "ai_usage" - AIUseDisclosureTypeRuntimeAiUsage AIUseDisclosureType = "runtime_ai_usage" -) - -var AllAIUseDisclosureType = []AIUseDisclosureType{ - AIUseDisclosureTypeNoAiUsage, - AIUseDisclosureTypeAiUsage, - AIUseDisclosureTypeRuntimeAiUsage, -} - -func (e AIUseDisclosureType) IsValid() bool { - switch e { - case AIUseDisclosureTypeNoAiUsage, AIUseDisclosureTypeAiUsage, AIUseDisclosureTypeRuntimeAiUsage: - return true - } - return false -} - -func (e AIUseDisclosureType) String() string { - return string(e) -} - -func (e *AIUseDisclosureType) UnmarshalGQL(v any) error { - str, ok := v.(string) - if !ok { - return fmt.Errorf("enums must be strings") - } - - *e = AIUseDisclosureType(str) - if !e.IsValid() { - return fmt.Errorf("%s is not a valid AIUseDisclosureType", str) - } - return nil -} - -func (e AIUseDisclosureType) MarshalGQL(w io.Writer) { - fmt.Fprint(w, strconv.Quote(e.String())) -} - -func (e *AIUseDisclosureType) UnmarshalJSON(b []byte) error { - s, err := strconv.Unquote(string(b)) - if err != nil { - return err - } - return e.UnmarshalGQL(s) -} - -func (e AIUseDisclosureType) MarshalJSON() ([]byte, error) { - var buf bytes.Buffer - e.MarshalGQL(&buf) - return buf.Bytes(), nil -} - -type AnnouncementImportance string - -const ( - AnnouncementImportanceFix AnnouncementImportance = "Fix" - AnnouncementImportanceInfo AnnouncementImportance = "Info" - AnnouncementImportanceWarning AnnouncementImportance = "Warning" - AnnouncementImportanceAlert AnnouncementImportance = "Alert" -) - -var AllAnnouncementImportance = []AnnouncementImportance{ - AnnouncementImportanceFix, - AnnouncementImportanceInfo, - AnnouncementImportanceWarning, - AnnouncementImportanceAlert, -} - -func (e AnnouncementImportance) IsValid() bool { - switch e { - case AnnouncementImportanceFix, AnnouncementImportanceInfo, AnnouncementImportanceWarning, AnnouncementImportanceAlert: - return true - } - return false -} - -func (e AnnouncementImportance) String() string { - return string(e) -} - -func (e *AnnouncementImportance) UnmarshalGQL(v any) error { - str, ok := v.(string) - if !ok { - return fmt.Errorf("enums must be strings") - } - - *e = AnnouncementImportance(str) - if !e.IsValid() { - return fmt.Errorf("%s is not a valid AnnouncementImportance", str) - } - return nil -} - -func (e AnnouncementImportance) MarshalGQL(w io.Writer) { - fmt.Fprint(w, strconv.Quote(e.String())) -} - -func (e *AnnouncementImportance) UnmarshalJSON(b []byte) error { - s, err := strconv.Unquote(string(b)) - if err != nil { - return err - } - return e.UnmarshalGQL(s) -} - -func (e AnnouncementImportance) MarshalJSON() ([]byte, error) { - var buf bytes.Buffer - e.MarshalGQL(&buf) - return buf.Bytes(), nil -} - -type CompatibilityState string - -const ( - CompatibilityStateWorks CompatibilityState = "Works" - CompatibilityStateDamaged CompatibilityState = "Damaged" - CompatibilityStateBroken CompatibilityState = "Broken" -) - -var AllCompatibilityState = []CompatibilityState{ - CompatibilityStateWorks, - CompatibilityStateDamaged, - CompatibilityStateBroken, -} - -func (e CompatibilityState) IsValid() bool { - switch e { - case CompatibilityStateWorks, CompatibilityStateDamaged, CompatibilityStateBroken: - return true - } - return false -} - -func (e CompatibilityState) String() string { - return string(e) -} - -func (e *CompatibilityState) UnmarshalGQL(v any) error { - str, ok := v.(string) - if !ok { - return fmt.Errorf("enums must be strings") - } - - *e = CompatibilityState(str) - if !e.IsValid() { - return fmt.Errorf("%s is not a valid CompatibilityState", str) - } - return nil -} - -func (e CompatibilityState) MarshalGQL(w io.Writer) { - fmt.Fprint(w, strconv.Quote(e.String())) -} - -func (e *CompatibilityState) UnmarshalJSON(b []byte) error { - s, err := strconv.Unquote(string(b)) - if err != nil { - return err - } - return e.UnmarshalGQL(s) -} - -func (e CompatibilityState) MarshalJSON() ([]byte, error) { - var buf bytes.Buffer - e.MarshalGQL(&buf) - return buf.Bytes(), nil -} - -type ControllerCompatibilityState string - -const ( - ControllerCompatibilityStateUntested ControllerCompatibilityState = "Untested" - ControllerCompatibilityStateUnsupported ControllerCompatibilityState = "Unsupported" - ControllerCompatibilityStatePartial ControllerCompatibilityState = "Partial" - ControllerCompatibilityStateImplicit ControllerCompatibilityState = "Implicit" - ControllerCompatibilityStateSupported ControllerCompatibilityState = "Supported" -) - -var AllControllerCompatibilityState = []ControllerCompatibilityState{ - ControllerCompatibilityStateUntested, - ControllerCompatibilityStateUnsupported, - ControllerCompatibilityStatePartial, - ControllerCompatibilityStateImplicit, - ControllerCompatibilityStateSupported, -} - -func (e ControllerCompatibilityState) IsValid() bool { - switch e { - case ControllerCompatibilityStateUntested, ControllerCompatibilityStateUnsupported, ControllerCompatibilityStatePartial, ControllerCompatibilityStateImplicit, ControllerCompatibilityStateSupported: - return true - } - return false -} - -func (e ControllerCompatibilityState) String() string { - return string(e) -} - -func (e *ControllerCompatibilityState) UnmarshalGQL(v any) error { - str, ok := v.(string) - if !ok { - return fmt.Errorf("enums must be strings") - } - - *e = ControllerCompatibilityState(str) - if !e.IsValid() { - return fmt.Errorf("%s is not a valid ControllerCompatibilityState", str) - } - return nil -} - -func (e ControllerCompatibilityState) MarshalGQL(w io.Writer) { - fmt.Fprint(w, strconv.Quote(e.String())) -} - -func (e *ControllerCompatibilityState) UnmarshalJSON(b []byte) error { - s, err := strconv.Unquote(string(b)) - if err != nil { - return err - } - return e.UnmarshalGQL(s) -} - -func (e ControllerCompatibilityState) MarshalJSON() ([]byte, error) { - var buf bytes.Buffer - e.MarshalGQL(&buf) - return buf.Bytes(), nil -} - -type GuideFields string - -const ( - GuideFieldsName GuideFields = "name" - GuideFieldsCreatedAt GuideFields = "created_at" - GuideFieldsUpdatedAt GuideFields = "updated_at" - GuideFieldsViews GuideFields = "views" -) - -var AllGuideFields = []GuideFields{ - GuideFieldsName, - GuideFieldsCreatedAt, - GuideFieldsUpdatedAt, - GuideFieldsViews, -} - -func (e GuideFields) IsValid() bool { - switch e { - case GuideFieldsName, GuideFieldsCreatedAt, GuideFieldsUpdatedAt, GuideFieldsViews: - return true - } - return false -} - -func (e GuideFields) String() string { - return string(e) -} - -func (e *GuideFields) UnmarshalGQL(v any) error { - str, ok := v.(string) - if !ok { - return fmt.Errorf("enums must be strings") - } - - *e = GuideFields(str) - if !e.IsValid() { - return fmt.Errorf("%s is not a valid GuideFields", str) - } - return nil -} - -func (e GuideFields) MarshalGQL(w io.Writer) { - fmt.Fprint(w, strconv.Quote(e.String())) -} - -func (e *GuideFields) UnmarshalJSON(b []byte) error { - s, err := strconv.Unquote(string(b)) - if err != nil { - return err - } - return e.UnmarshalGQL(s) -} - -func (e GuideFields) MarshalJSON() ([]byte, error) { - var buf bytes.Buffer - e.MarshalGQL(&buf) - return buf.Bytes(), nil -} - -type ModFields string - -const ( - ModFieldsCreatedAt ModFields = "created_at" - ModFieldsUpdatedAt ModFields = "updated_at" - ModFieldsName ModFields = "name" - ModFieldsViews ModFields = "views" - ModFieldsDownloads ModFields = "downloads" - ModFieldsHotness ModFields = "hotness" - ModFieldsPopularity ModFields = "popularity" - ModFieldsLastVersionDate ModFields = "last_version_date" - ModFieldsSearch ModFields = "search" -) - -var AllModFields = []ModFields{ - ModFieldsCreatedAt, - ModFieldsUpdatedAt, - ModFieldsName, - ModFieldsViews, - ModFieldsDownloads, - ModFieldsHotness, - ModFieldsPopularity, - ModFieldsLastVersionDate, - ModFieldsSearch, -} - -func (e ModFields) IsValid() bool { - switch e { - case ModFieldsCreatedAt, ModFieldsUpdatedAt, ModFieldsName, ModFieldsViews, ModFieldsDownloads, ModFieldsHotness, ModFieldsPopularity, ModFieldsLastVersionDate, ModFieldsSearch: - return true - } - return false -} - -func (e ModFields) String() string { - return string(e) -} - -func (e *ModFields) UnmarshalGQL(v any) error { - str, ok := v.(string) - if !ok { - return fmt.Errorf("enums must be strings") - } - - *e = ModFields(str) - if !e.IsValid() { - return fmt.Errorf("%s is not a valid ModFields", str) - } - return nil -} - -func (e ModFields) MarshalGQL(w io.Writer) { - fmt.Fprint(w, strconv.Quote(e.String())) -} - -func (e *ModFields) UnmarshalJSON(b []byte) error { - s, err := strconv.Unquote(string(b)) - if err != nil { - return err - } - return e.UnmarshalGQL(s) -} - -func (e ModFields) MarshalJSON() ([]byte, error) { - var buf bytes.Buffer - e.MarshalGQL(&buf) - return buf.Bytes(), nil -} - -type Order string - -const ( - OrderAsc Order = "asc" - OrderDesc Order = "desc" -) - -var AllOrder = []Order{ - OrderAsc, - OrderDesc, -} - -func (e Order) IsValid() bool { - switch e { - case OrderAsc, OrderDesc: - return true - } - return false -} - -func (e Order) String() string { - return string(e) -} - -func (e *Order) UnmarshalGQL(v any) error { - str, ok := v.(string) - if !ok { - return fmt.Errorf("enums must be strings") - } - - *e = Order(str) - if !e.IsValid() { - return fmt.Errorf("%s is not a valid Order", str) - } - return nil -} - -func (e Order) MarshalGQL(w io.Writer) { - fmt.Fprint(w, strconv.Quote(e.String())) -} - -func (e *Order) UnmarshalJSON(b []byte) error { - s, err := strconv.Unquote(string(b)) - if err != nil { - return err - } - return e.UnmarshalGQL(s) -} - -func (e Order) MarshalJSON() ([]byte, error) { - var buf bytes.Buffer - e.MarshalGQL(&buf) - return buf.Bytes(), nil -} - -type SMLVersionFields string - -const ( - SMLVersionFieldsName SMLVersionFields = "name" - SMLVersionFieldsCreatedAt SMLVersionFields = "created_at" - SMLVersionFieldsUpdatedAt SMLVersionFields = "updated_at" - SMLVersionFieldsSatisfactoryVersion SMLVersionFields = "satisfactory_version" - SMLVersionFieldsDate SMLVersionFields = "date" -) - -var AllSMLVersionFields = []SMLVersionFields{ - SMLVersionFieldsName, - SMLVersionFieldsCreatedAt, - SMLVersionFieldsUpdatedAt, - SMLVersionFieldsSatisfactoryVersion, - SMLVersionFieldsDate, -} - -func (e SMLVersionFields) IsValid() bool { - switch e { - case SMLVersionFieldsName, SMLVersionFieldsCreatedAt, SMLVersionFieldsUpdatedAt, SMLVersionFieldsSatisfactoryVersion, SMLVersionFieldsDate: - return true - } - return false -} - -func (e SMLVersionFields) String() string { - return string(e) -} - -func (e *SMLVersionFields) UnmarshalGQL(v any) error { - str, ok := v.(string) - if !ok { - return fmt.Errorf("enums must be strings") - } - - *e = SMLVersionFields(str) - if !e.IsValid() { - return fmt.Errorf("%s is not a valid SMLVersionFields", str) - } - return nil -} - -func (e SMLVersionFields) MarshalGQL(w io.Writer) { - fmt.Fprint(w, strconv.Quote(e.String())) -} - -func (e *SMLVersionFields) UnmarshalJSON(b []byte) error { - s, err := strconv.Unquote(string(b)) - if err != nil { - return err - } - return e.UnmarshalGQL(s) -} - -func (e SMLVersionFields) MarshalJSON() ([]byte, error) { - var buf bytes.Buffer - e.MarshalGQL(&buf) - return buf.Bytes(), nil -} - -type TargetName string - -const ( - TargetNameWindows TargetName = "Windows" - TargetNameWindowsServer TargetName = "WindowsServer" - TargetNameLinuxServer TargetName = "LinuxServer" -) - -var AllTargetName = []TargetName{ - TargetNameWindows, - TargetNameWindowsServer, - TargetNameLinuxServer, -} - -func (e TargetName) IsValid() bool { - switch e { - case TargetNameWindows, TargetNameWindowsServer, TargetNameLinuxServer: - return true - } - return false -} - -func (e TargetName) String() string { - return string(e) -} - -func (e *TargetName) UnmarshalGQL(v any) error { - str, ok := v.(string) - if !ok { - return fmt.Errorf("enums must be strings") - } - - *e = TargetName(str) - if !e.IsValid() { - return fmt.Errorf("%s is not a valid TargetName", str) - } - return nil -} - -func (e TargetName) MarshalGQL(w io.Writer) { - fmt.Fprint(w, strconv.Quote(e.String())) -} - -func (e *TargetName) UnmarshalJSON(b []byte) error { - s, err := strconv.Unquote(string(b)) - if err != nil { - return err - } - return e.UnmarshalGQL(s) -} - -func (e TargetName) MarshalJSON() ([]byte, error) { - var buf bytes.Buffer - e.MarshalGQL(&buf) - return buf.Bytes(), nil -} - -type VersionFields string - -const ( - VersionFieldsCreatedAt VersionFields = "created_at" - VersionFieldsUpdatedAt VersionFields = "updated_at" - VersionFieldsDownloads VersionFields = "downloads" -) - -var AllVersionFields = []VersionFields{ - VersionFieldsCreatedAt, - VersionFieldsUpdatedAt, - VersionFieldsDownloads, -} - -func (e VersionFields) IsValid() bool { - switch e { - case VersionFieldsCreatedAt, VersionFieldsUpdatedAt, VersionFieldsDownloads: - return true - } - return false -} - -func (e VersionFields) String() string { - return string(e) -} - -func (e *VersionFields) UnmarshalGQL(v any) error { - str, ok := v.(string) - if !ok { - return fmt.Errorf("enums must be strings") - } - - *e = VersionFields(str) - if !e.IsValid() { - return fmt.Errorf("%s is not a valid VersionFields", str) - } - return nil -} - -func (e VersionFields) MarshalGQL(w io.Writer) { - fmt.Fprint(w, strconv.Quote(e.String())) -} - -func (e *VersionFields) UnmarshalJSON(b []byte) error { - s, err := strconv.Unquote(string(b)) - if err != nil { - return err - } - return e.UnmarshalGQL(s) -} - -func (e VersionFields) MarshalJSON() ([]byte, error) { - var buf bytes.Buffer - e.MarshalGQL(&buf) - return buf.Bytes(), nil -} - -type VersionStabilities string - -const ( - VersionStabilitiesAlpha VersionStabilities = "alpha" - VersionStabilitiesBeta VersionStabilities = "beta" - VersionStabilitiesRelease VersionStabilities = "release" -) - -var AllVersionStabilities = []VersionStabilities{ - VersionStabilitiesAlpha, - VersionStabilitiesBeta, - VersionStabilitiesRelease, -} - -func (e VersionStabilities) IsValid() bool { - switch e { - case VersionStabilitiesAlpha, VersionStabilitiesBeta, VersionStabilitiesRelease: - return true - } - return false -} - -func (e VersionStabilities) String() string { - return string(e) -} - -func (e *VersionStabilities) UnmarshalGQL(v any) error { - str, ok := v.(string) - if !ok { - return fmt.Errorf("enums must be strings") - } - - *e = VersionStabilities(str) - if !e.IsValid() { - return fmt.Errorf("%s is not a valid VersionStabilities", str) - } - return nil -} - -func (e VersionStabilities) MarshalGQL(w io.Writer) { - fmt.Fprint(w, strconv.Quote(e.String())) -} - -func (e *VersionStabilities) UnmarshalJSON(b []byte) error { - s, err := strconv.Unquote(string(b)) - if err != nil { - return err - } - return e.UnmarshalGQL(s) -} - -func (e VersionStabilities) MarshalJSON() ([]byte, error) { - var buf bytes.Buffer - e.MarshalGQL(&buf) - return buf.Bytes(), nil -} diff --git a/gql/resolver_mods.go b/gql/resolver_mods.go index 4da7211c..5fd2421c 100644 --- a/gql/resolver_mods.go +++ b/gql/resolver_mods.go @@ -81,7 +81,6 @@ func (r *mutationResolver) CreateMod(ctx context.Context, newMod generated.NewMo SetINNF(newMod.Hidden, dbMod.SetHidden) SetINNF(newMod.ToggleNetworkUse, dbMod.SetToggleNetworkUse) SetINNF(newMod.ToggleExplicitContent, dbMod.SetToggleExplicitContent) - SetAIDisclosureINNF(newMod.AiUseDisclosure, dbMod.SetAiUseDisclosure) user, _, err := db.UserFromGQLContext(ctx) if err != nil { diff --git a/gql/resolver_versions.go b/gql/resolver_versions.go index db94f86a..89d61458 100644 --- a/gql/resolver_versions.go +++ b/gql/resolver_versions.go @@ -51,6 +51,14 @@ func (r *mutationResolver) CreateVersion(ctx context.Context, modID string) (str return "", errors.New("you must update your mod reference on the site to match your mod_reference in your data.json") } + if mod.AiUseDisclosure == nil { + return "", errors.New("you must update AI use disclosure on the site before uploading a version") + } + + if mod.AiUseDisclosure.DisclosureType != "no_ai_usage" && mod.AiUseDisclosure.DisclosureString == "" { + return "", errors.New("you must provide a description for AI use before uploading a version") + } + uploadID := util.GenerateUniqueID() _, _ = storage.StartUploadMultipartMod(ctx, mod.ID, mod.Name, uploadID) diff --git a/tests/ai_use_disclosure_test.go b/tests/ai_use_disclosure_test.go new file mode 100644 index 00000000..0d69eb31 --- /dev/null +++ b/tests/ai_use_disclosure_test.go @@ -0,0 +1,89 @@ +package tests + +import ( + "testing" + + "github.com/MarvinJWendt/testza" + + "github.com/satisfactorymodding/smr-api/config" + "github.com/satisfactorymodding/smr-api/db" + "github.com/satisfactorymodding/smr-api/generated" +) + +func init() { + config.SetConfigDir("../") + db.EnableDebug() +} + +func TestAiDisclosure(t *testing.T) { + ctx, client, stop := setup() + defer stop() + + token, _, err := makeUser(ctx) + testza.AssertNoError(t, err) + + createRequest := authRequest(`mutation ($mod_reference: ModReference!) { + createMod(mod: { + name: "Rate Limit Test Mod", + short_description: "Testing rate limiting functionality", + full_description: "Lorem ipsum dolor sit amet", + mod_reference: $mod_reference + }) { + id + name + mod_reference + } + }`, token) + createRequest.Var("mod_reference", "newMod") + + var response struct { + CreateMod generated.Mod + } + testza.AssertNoError(t, err) + testza.AssertNotNil(t, response.CreateMod) + + disclosureRequest := authRequest(`mutation ($mod_reference: ModReference!, $ai_use_disclosure: AIUseDisclosureInput!) { + updateMod(mod: { + name: "disclosure test", + ai_use_disclosure: $ai_use_disclosure, + }) { + ai_use_disclosure { + disclosure_type + disclosure_string + } + } + }`, token) + var disclosureString string = "This mod uses AI for testing purposes" + disclosureRequest.Var("mod_reference", "newMod") + disclosureRequest.Var("ai_use_disclosure", generated.AIUseDisclosureInput{ + DisclosureType: "ai_usage", + DisclosureString: &disclosureString}) + + var createResponse struct { + CreateMod generated.Mod + } + err = client.Run(ctx, disclosureRequest, &createResponse) + testza.AssertNotNil(t, err) + + failedUpdate := authRequest(`mutation ($mod_reference: ModReference!, $ai_use_disclosure: AIUseDisclosureInput!) { + updateMod(mod: { + name: "disclosure test", + ai_use_disclosure: $ai_use_disclosure, + }) { + ai_use_disclosure { + disclosure_type + disclosure_string + } + } + }`, token) + disclosureRequest.Var("mod_reference", "newMod") + disclosureRequest.Var("ai_use_disclosure", nil) + // Should not update since input is nil + var failedResponse struct { + CreateMod generated.Mod + } + err = client.Run(ctx, failedUpdate, &failedResponse) + testza.AssertNotNil(t, err) + testza.AssertEqual(t, failedResponse.CreateMod.AiUseDisclosure.DisclosureType, "ai_usage") + testza.AssertEqual(t, failedResponse.CreateMod.AiUseDisclosure.DisclosureString, disclosureString) +} From 37e21a98564071c5f6f3386851b1c827624994ea Mon Sep 17 00:00:00 2001 From: rhit-silkaijr Date: Fri, 3 Apr 2026 16:01:27 -0400 Subject: [PATCH 052/100] feat: network disclosure required for version upload --- db/schema/mod.go | 2 +- generated/conv/mod.go | 6 +- generated/ent/internal/schema.go | 2 +- generated/ent/mod.go | 11 +- generated/ent/mod_create.go | 2 +- generated/ent/mutation.go | 2 +- generated/generated.go | 29201 +++++++++++++++++++++++++++++ generated/models_gen.go | 1013 + gql/resolver_mods.go | 6 +- gql/resolver_versions.go | 6 +- 10 files changed, 30232 insertions(+), 19 deletions(-) create mode 100644 generated/generated.go create mode 100644 generated/models_gen.go diff --git a/db/schema/mod.go b/db/schema/mod.go index a7e8a599..e7013923 100644 --- a/db/schema/mod.go +++ b/db/schema/mod.go @@ -41,7 +41,7 @@ func (Mod) Fields() []ent.Field { field.Bool("hidden").Default(false), field.JSON("compatibility", &util.CompatibilityInfo{}).Optional(), field.Bool("toggle_network_use").Default(false), - field.String("network_use_disclosure").Optional().Nillable(), + field.String("network_use_disclosure").Optional(), field.JSON("ai_use_disclosure", &util.AIUseDisclosureInfo{}).Optional(), field.Bool("toggle_explicit_content").Default(false), } diff --git a/generated/conv/mod.go b/generated/conv/mod.go index 4aa761f9..33dca9bc 100755 --- a/generated/conv/mod.go +++ b/generated/conv/mod.go @@ -47,10 +47,8 @@ func (c *ModImpl) Convert(source *ent.Mod) *generated.Mod { } generatedMod.Compatibility = c.pUtilCompatibilityInfoToPGeneratedCompatibilityInfo((*source).Compatibility) generatedMod.ToggleNetworkUse = (*source).ToggleNetworkUse - if (*source).NetworkUseDisclosure != nil { - xstring := *(*source).NetworkUseDisclosure - generatedMod.NetworkUseDisclosure = &xstring - } + pString5 := (*source).NetworkUseDisclosure + generatedMod.NetworkUseDisclosure = &pString5 generatedMod.AiUseDisclosure = c.pUtilAIUseDisclosureInfoToPGeneratedAIUseDisclosureInfo((*source).AiUseDisclosure) generatedMod.ToggleExplicitContent = (*source).ToggleExplicitContent pGeneratedMod = &generatedMod diff --git a/generated/ent/internal/schema.go b/generated/ent/internal/schema.go index 08bc167b..207977e3 100644 --- a/generated/ent/internal/schema.go +++ b/generated/ent/internal/schema.go @@ -6,4 +6,4 @@ // Package internal holds a loadable version of the latest schema. package internal -const Schema = "{\"Schema\":\"github.com/satisfactorymodding/smr-api/db/schema\",\"Package\":\"github.com/satisfactorymodding/smr-api/generated/ent\",\"Schemas\":[{\"name\":\"Announcement\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"message\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"importance\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Guide\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"guides\",\"unique\":true,\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"}}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"guide\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":2,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"GuideTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guide\",\"type\":\"Guide\",\"field\":\"guide_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"guide_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"guide_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"Mod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"versions\",\"type\":\"Version\"},{\"name\":\"authors\",\"type\":\"User\",\"ref_name\":\"mods\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"},\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"}},{\"name\":\"dependents\",\"type\":\"Version\",\"ref_name\":\"dependencies\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"full_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"source_url\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"creator_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"popularity\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"last_version_date\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hidden\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"compatibility\",\"type\":{\"Type\":3,\"Ident\":\"*util.CompatibilityInfo\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":true,\"RType\":{\"Name\":\"CompatibilityInfo\",\"Ident\":\"util.CompatibilityInfo\",\"Kind\":22,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{}}},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_network_use\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"network_use_disclosure\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"nillable\":true,\"optional\":true,\"position\":{\"Index\":18,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"ai_use_disclosure\",\"type\":{\"Type\":3,\"Ident\":\"*util.AIUseDisclosureInfo\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":true,\"RType\":{\"Name\":\"AIUseDisclosureInfo\",\"Ident\":\"util.AIUseDisclosureInfo\",\"Kind\":22,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{}}},\"optional\":true,\"position\":{\"Index\":19,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_explicit_content\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":20,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"last_version_date\"]},{\"unique\":true,\"fields\":[\"mod_reference\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"ModTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"mod_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"SatisfactoryVersion\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"unique\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"engine_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"default\":true,\"default_value\":\"4.26\",\"default_kind\":24,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}]},{\"name\":\"Tag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mods\",\"type\":\"Mod\",\"ref_name\":\"tags\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"},\"inverse\":true},{\"name\":\"guides\",\"type\":\"Guide\",\"ref_name\":\"tags\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":24,\"unique\":true,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"optional\":true,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"User\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guides\",\"type\":\"Guide\"},{\"name\":\"sessions\",\"type\":\"UserSession\",\"storage_key\":{\"Table\":\"\",\"Symbols\":null,\"Columns\":[\"user_id\"]}},{\"name\":\"mods\",\"type\":\"Mod\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"}},{\"name\":\"groups\",\"type\":\"UserGroup\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"email\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":256,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"username\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"joined_from\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"banned\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"rank\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":1,\"default_kind\":2,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"github_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"optional\":true,\"validators\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"google_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"optional\":true,\"validators\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"facebook_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"optional\":true,\"validators\":1,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"email\"]},{\"unique\":true,\"fields\":[\"github_id\"]},{\"unique\":true,\"fields\":[\"google_id\"]},{\"unique\":true,\"fields\":[\"facebook_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserGroup\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"groups\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"group_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"user_id\",\"group_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserMod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"role\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"user_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"UserSession\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"ref_name\":\"sessions\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"token\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"user_agent\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"token\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Version\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"ref_name\":\"versions\",\"unique\":true,\"inverse\":true,\"required\":true},{\"name\":\"dependencies\",\"type\":\"Mod\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"}},{\"name\":\"targets\",\"type\":\"VersionTarget\"},{\"name\":\"virustotal_results\",\"type\":\"VirustotalResult\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"game_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"required_on_remote\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":true,\"default_kind\":1,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"changelog\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"stability\",\"type\":{\"Type\":6,\"Ident\":\"util.Stability\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":false,\"RType\":{\"Name\":\"Stability\",\"Ident\":\"util.Stability\",\"Kind\":24,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{\"Values\":{\"In\":[],\"Out\":[{\"Name\":\"\",\"Ident\":\"[]string\",\"Kind\":23,\"PkgPath\":\"\",\"Methods\":null}]}}}},\"enums\":[{\"N\":\"release\",\"V\":\"release\"},{\"N\":\"beta\",\"V\":\"beta\"},{\"N\":\"alpha\",\"V\":\"alpha\"}],\"default\":true,\"default_value\":\"release\",\"default_kind\":24,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"metadata\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_major\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_minor\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_patch\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"optional\":true,\"validators\":2,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"approved\"]},{\"fields\":[\"denied\"]},{\"fields\":[\"mod_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"VersionDependency\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"condition\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"optional\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"annotations\":{\"Fields\":{\"ID\":[\"version_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"VersionTarget\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"targets\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"target_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"unique\":true,\"fields\":[\"version_id\",\"target_name\"]}]},{\"name\":\"VirustotalResult\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"virustotal_results\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"safe\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":2,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"file_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":2,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"safe\"]},{\"unique\":true,\"fields\":[\"hash\",\"version_id\"]},{\"fields\":[\"file_name\"]}]}],\"Features\":[\"sql/modifier\",\"intercept\",\"schema/snapshot\",\"sql/execquery\",\"sql/upsert\"]}" +const Schema = "{\"Schema\":\"github.com/satisfactorymodding/smr-api/db/schema\",\"Package\":\"github.com/satisfactorymodding/smr-api/generated/ent\",\"Schemas\":[{\"name\":\"Announcement\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"message\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"importance\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Guide\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"guides\",\"unique\":true,\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"}}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"guide\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":2,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"GuideTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guide\",\"type\":\"Guide\",\"field\":\"guide_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"guide_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"guide_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"Mod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"versions\",\"type\":\"Version\"},{\"name\":\"authors\",\"type\":\"User\",\"ref_name\":\"mods\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"},\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"}},{\"name\":\"dependents\",\"type\":\"Version\",\"ref_name\":\"dependencies\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"full_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"source_url\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"creator_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"popularity\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"last_version_date\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hidden\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"compatibility\",\"type\":{\"Type\":3,\"Ident\":\"*util.CompatibilityInfo\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":true,\"RType\":{\"Name\":\"CompatibilityInfo\",\"Ident\":\"util.CompatibilityInfo\",\"Kind\":22,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{}}},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_network_use\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"network_use_disclosure\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":18,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"ai_use_disclosure\",\"type\":{\"Type\":3,\"Ident\":\"*util.AIUseDisclosureInfo\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":true,\"RType\":{\"Name\":\"AIUseDisclosureInfo\",\"Ident\":\"util.AIUseDisclosureInfo\",\"Kind\":22,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{}}},\"optional\":true,\"position\":{\"Index\":19,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_explicit_content\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":20,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"last_version_date\"]},{\"unique\":true,\"fields\":[\"mod_reference\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"ModTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"mod_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"SatisfactoryVersion\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"unique\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"engine_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"default\":true,\"default_value\":\"4.26\",\"default_kind\":24,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}]},{\"name\":\"Tag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mods\",\"type\":\"Mod\",\"ref_name\":\"tags\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"},\"inverse\":true},{\"name\":\"guides\",\"type\":\"Guide\",\"ref_name\":\"tags\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":24,\"unique\":true,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"optional\":true,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"User\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guides\",\"type\":\"Guide\"},{\"name\":\"sessions\",\"type\":\"UserSession\",\"storage_key\":{\"Table\":\"\",\"Symbols\":null,\"Columns\":[\"user_id\"]}},{\"name\":\"mods\",\"type\":\"Mod\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"}},{\"name\":\"groups\",\"type\":\"UserGroup\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"email\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":256,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"username\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"joined_from\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"banned\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"rank\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":1,\"default_kind\":2,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"github_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"optional\":true,\"validators\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"google_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"optional\":true,\"validators\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"facebook_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"optional\":true,\"validators\":1,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"email\"]},{\"unique\":true,\"fields\":[\"github_id\"]},{\"unique\":true,\"fields\":[\"google_id\"]},{\"unique\":true,\"fields\":[\"facebook_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserGroup\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"groups\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"group_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"user_id\",\"group_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserMod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"role\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"user_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"UserSession\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"ref_name\":\"sessions\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"token\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"user_agent\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"token\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Version\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"ref_name\":\"versions\",\"unique\":true,\"inverse\":true,\"required\":true},{\"name\":\"dependencies\",\"type\":\"Mod\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"}},{\"name\":\"targets\",\"type\":\"VersionTarget\"},{\"name\":\"virustotal_results\",\"type\":\"VirustotalResult\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"game_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"required_on_remote\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":true,\"default_kind\":1,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"changelog\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"stability\",\"type\":{\"Type\":6,\"Ident\":\"util.Stability\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":false,\"RType\":{\"Name\":\"Stability\",\"Ident\":\"util.Stability\",\"Kind\":24,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{\"Values\":{\"In\":[],\"Out\":[{\"Name\":\"\",\"Ident\":\"[]string\",\"Kind\":23,\"PkgPath\":\"\",\"Methods\":null}]}}}},\"enums\":[{\"N\":\"release\",\"V\":\"release\"},{\"N\":\"beta\",\"V\":\"beta\"},{\"N\":\"alpha\",\"V\":\"alpha\"}],\"default\":true,\"default_value\":\"release\",\"default_kind\":24,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"metadata\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_major\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_minor\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_patch\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"optional\":true,\"validators\":2,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"approved\"]},{\"fields\":[\"denied\"]},{\"fields\":[\"mod_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"VersionDependency\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"condition\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"optional\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"annotations\":{\"Fields\":{\"ID\":[\"version_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"VersionTarget\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"targets\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"target_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"unique\":true,\"fields\":[\"version_id\",\"target_name\"]}]},{\"name\":\"VirustotalResult\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"virustotal_results\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"safe\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":2,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"file_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":2,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"safe\"]},{\"unique\":true,\"fields\":[\"hash\",\"version_id\"]},{\"fields\":[\"file_name\"]}]}],\"Features\":[\"sql/modifier\",\"intercept\",\"schema/snapshot\",\"sql/execquery\",\"sql/upsert\"]}" diff --git a/generated/ent/mod.go b/generated/ent/mod.go index acad741a..d39011ff 100644 --- a/generated/ent/mod.go +++ b/generated/ent/mod.go @@ -62,7 +62,7 @@ type Mod struct { // ToggleNetworkUse holds the value of the "toggle_network_use" field. ToggleNetworkUse bool `json:"toggle_network_use,omitempty"` // NetworkUseDisclosure holds the value of the "network_use_disclosure" field. - NetworkUseDisclosure *string `json:"network_use_disclosure,omitempty"` + NetworkUseDisclosure string `json:"network_use_disclosure,omitempty"` // AiUseDisclosure holds the value of the "ai_use_disclosure" field. AiUseDisclosure *util.AIUseDisclosureInfo `json:"ai_use_disclosure,omitempty"` // ToggleExplicitContent holds the value of the "toggle_explicit_content" field. @@ -325,8 +325,7 @@ func (m *Mod) assignValues(columns []string, values []any) error { if value, ok := values[i].(*sql.NullString); !ok { return fmt.Errorf("unexpected type %T for field network_use_disclosure", values[i]) } else if value.Valid { - m.NetworkUseDisclosure = new(string) - *m.NetworkUseDisclosure = value.String + m.NetworkUseDisclosure = value.String } case mod.FieldAiUseDisclosure: if value, ok := values[i].(*[]byte); !ok { @@ -476,10 +475,8 @@ func (m *Mod) String() string { builder.WriteString("toggle_network_use=") builder.WriteString(fmt.Sprintf("%v", m.ToggleNetworkUse)) builder.WriteString(", ") - if v := m.NetworkUseDisclosure; v != nil { - builder.WriteString("network_use_disclosure=") - builder.WriteString(*v) - } + builder.WriteString("network_use_disclosure=") + builder.WriteString(m.NetworkUseDisclosure) builder.WriteString(", ") builder.WriteString("ai_use_disclosure=") builder.WriteString(fmt.Sprintf("%v", m.AiUseDisclosure)) diff --git a/generated/ent/mod_create.go b/generated/ent/mod_create.go index 2182606f..8572cbe9 100644 --- a/generated/ent/mod_create.go +++ b/generated/ent/mod_create.go @@ -665,7 +665,7 @@ func (mc *ModCreate) createSpec() (*Mod, *sqlgraph.CreateSpec) { } if value, ok := mc.mutation.NetworkUseDisclosure(); ok { _spec.SetField(mod.FieldNetworkUseDisclosure, field.TypeString, value) - _node.NetworkUseDisclosure = &value + _node.NetworkUseDisclosure = value } if value, ok := mc.mutation.AiUseDisclosure(); ok { _spec.SetField(mod.FieldAiUseDisclosure, field.TypeJSON, value) diff --git a/generated/ent/mutation.go b/generated/ent/mutation.go index cf0701b7..34033380 100644 --- a/generated/ent/mutation.go +++ b/generated/ent/mutation.go @@ -3018,7 +3018,7 @@ func (m *ModMutation) NetworkUseDisclosure() (r string, exists bool) { // OldNetworkUseDisclosure returns the old "network_use_disclosure" field's value of the Mod entity. // If the Mod object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. -func (m *ModMutation) OldNetworkUseDisclosure(ctx context.Context) (v *string, err error) { +func (m *ModMutation) OldNetworkUseDisclosure(ctx context.Context) (v string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldNetworkUseDisclosure is only allowed on UpdateOne operations") } diff --git a/generated/generated.go b/generated/generated.go new file mode 100644 index 00000000..409635c2 --- /dev/null +++ b/generated/generated.go @@ -0,0 +1,29201 @@ +// Code generated by github.com/99designs/gqlgen, DO NOT EDIT. + +package generated + +import ( + "bytes" + "context" + "errors" + "fmt" + "strconv" + "sync" + "sync/atomic" + + "github.com/99designs/gqlgen/graphql" + "github.com/99designs/gqlgen/graphql/introspection" + gqlparser "github.com/vektah/gqlparser/v2" + "github.com/vektah/gqlparser/v2/ast" +) + +// region ************************** generated!.gotpl ************************** + +// NewExecutableSchema creates an ExecutableSchema from the ResolverRoot interface. +func NewExecutableSchema(cfg Config) graphql.ExecutableSchema { + return &executableSchema{ + schema: cfg.Schema, + resolvers: cfg.Resolvers, + directives: cfg.Directives, + complexity: cfg.Complexity, + } +} + +type Config struct { + Schema *ast.Schema + Resolvers ResolverRoot + Directives DirectiveRoot + Complexity ComplexityRoot +} + +type ResolverRoot interface { + GetGuides() GetGuidesResolver + GetMods() GetModsResolver + GetMyMods() GetMyModsResolver + GetMyVersions() GetMyVersionsResolver + GetSMLVersions() GetSMLVersionsResolver + GetVersions() GetVersionsResolver + Guide() GuideResolver + Mod() ModResolver + Mutation() MutationResolver + Query() QueryResolver + SMLVersion() SMLVersionResolver + SMLVersionTarget() SMLVersionTargetResolver + User() UserResolver + UserMod() UserModResolver + Version() VersionResolver + VersionDependency() VersionDependencyResolver + VersionTarget() VersionTargetResolver +} + +type DirectiveRoot struct { + CanApproveMods func(ctx context.Context, obj any, next graphql.Resolver) (res any, err error) + CanApproveVersions func(ctx context.Context, obj any, next graphql.Resolver) (res any, err error) + CanEditAnnouncements func(ctx context.Context, obj any, next graphql.Resolver) (res any, err error) + CanEditGuide func(ctx context.Context, obj any, next graphql.Resolver, field string) (res any, err error) + CanEditMod func(ctx context.Context, obj any, next graphql.Resolver, field string) (res any, err error) + CanEditModCompatibility func(ctx context.Context, obj any, next graphql.Resolver, field *string) (res any, err error) + CanEditSatisfactoryVersions func(ctx context.Context, obj any, next graphql.Resolver) (res any, err error) + CanEditUser func(ctx context.Context, obj any, next graphql.Resolver, field string, object bool) (res any, err error) + CanEditUsers func(ctx context.Context, obj any, next graphql.Resolver) (res any, err error) + CanEditVersion func(ctx context.Context, obj any, next graphql.Resolver, field string) (res any, err error) + CanManageTags func(ctx context.Context, obj any, next graphql.Resolver) (res any, err error) + IsLoggedIn func(ctx context.Context, obj any, next graphql.Resolver) (res any, err error) + IsNotLoggedIn func(ctx context.Context, obj any, next graphql.Resolver) (res any, err error) +} + +type ComplexityRoot struct { + AIUseDisclosureInfo struct { + DisclosureString func(childComplexity int) int + DisclosureType func(childComplexity int) int + } + + Announcement struct { + ID func(childComplexity int) int + Importance func(childComplexity int) int + Message func(childComplexity int) int + } + + Compatibility struct { + Note func(childComplexity int) int + State func(childComplexity int) int + } + + CompatibilityInfo struct { + Controller func(childComplexity int) int + Ea func(childComplexity int) int + Exp func(childComplexity int) int + } + + ControllerCompatibility struct { + Note func(childComplexity int) int + State func(childComplexity int) int + } + + CreateVersionResponse struct { + AutoApproved func(childComplexity int) int + Version func(childComplexity int) int + } + + GetGuides struct { + Count func(childComplexity int) int + Guides func(childComplexity int) int + } + + GetMods struct { + Count func(childComplexity int) int + Mods func(childComplexity int) int + } + + GetMyMods struct { + Count func(childComplexity int) int + Mods func(childComplexity int) int + } + + GetMyVersions struct { + Count func(childComplexity int) int + Versions func(childComplexity int) int + } + + GetSMLVersions struct { + Count func(childComplexity int) int + SmlVersions func(childComplexity int) int + } + + GetVersions struct { + Count func(childComplexity int) int + Versions func(childComplexity int) int + } + + Group struct { + ID func(childComplexity int) int + Name func(childComplexity int) int + } + + Guide struct { + CreatedAt func(childComplexity int) int + Guide func(childComplexity int) int + ID func(childComplexity int) int + Name func(childComplexity int) int + ShortDescription func(childComplexity int) int + Tags func(childComplexity int) int + UpdatedAt func(childComplexity int) int + User func(childComplexity int) int + UserID func(childComplexity int) int + Views func(childComplexity int) int + } + + LatestVersions struct { + Alpha func(childComplexity int) int + Beta func(childComplexity int) int + Release func(childComplexity int) int + } + + Mod struct { + AiUseDisclosure func(childComplexity int) int + Approved func(childComplexity int) int + Authors func(childComplexity int) int + Compatibility func(childComplexity int) int + CreatedAt func(childComplexity int) int + CreatorID func(childComplexity int) int + Downloads func(childComplexity int) int + FullDescription func(childComplexity int) int + Hidden func(childComplexity int) int + Hotness func(childComplexity int) int + ID func(childComplexity int) int + LastVersionDate func(childComplexity int) int + LatestVersions func(childComplexity int) int + Logo func(childComplexity int) int + LogoThumbhash func(childComplexity int) int + ModReference func(childComplexity int) int + Name func(childComplexity int) int + NetworkUseDisclosure func(childComplexity int) int + Popularity func(childComplexity int) int + ShortDescription func(childComplexity int) int + SourceURL func(childComplexity int) int + Tags func(childComplexity int) int + ToggleExplicitContent func(childComplexity int) int + ToggleNetworkUse func(childComplexity int) int + UpdatedAt func(childComplexity int) int + Version func(childComplexity int, version string) int + Versions func(childComplexity int, filter map[string]interface{}) int + Views func(childComplexity int) int + } + + ModVersion struct { + ID func(childComplexity int) int + ModReference func(childComplexity int) int + Versions func(childComplexity int) int + } + + Mutation struct { + ApproveMod func(childComplexity int, modID string) int + ApproveVersion func(childComplexity int, versionID string) int + CreateAnnouncement func(childComplexity int, announcement NewAnnouncement) int + CreateGuide func(childComplexity int, guide NewGuide) int + CreateMod func(childComplexity int, mod NewMod) int + CreateMultipleTags func(childComplexity int, tagNames []*NewTag) int + CreateSatisfactoryVersion func(childComplexity int, input NewSatisfactoryVersion) int + CreateTag func(childComplexity int, tagName string, description string) int + CreateVersion func(childComplexity int, modID string) int + DeleteAnnouncement func(childComplexity int, announcementID string) int + DeleteGuide func(childComplexity int, guideID string) int + DeleteMod func(childComplexity int, modID string) int + DeleteSatisfactoryVersion func(childComplexity int, id string) int + DeleteTag func(childComplexity int, tagID string) int + DeleteVersion func(childComplexity int, versionID string) int + DenyMod func(childComplexity int, modID string) int + DenyVersion func(childComplexity int, versionID string) int + DiscourseSso func(childComplexity int, sso string, sig string) int + FinalizeCreateVersion func(childComplexity int, modID string, versionID string, version NewVersion) int + Logout func(childComplexity int) int + OAuthFacebook func(childComplexity int, code string, state string) int + OAuthGithub func(childComplexity int, code string, state string) int + OAuthGoogle func(childComplexity int, code string, state string) int + UpdateAnnouncement func(childComplexity int, announcementID string, announcement UpdateAnnouncement) int + UpdateGuide func(childComplexity int, guideID string, guide UpdateGuide) int + UpdateMod func(childComplexity int, modID string, mod UpdateMod) int + UpdateModCompatibility func(childComplexity int, modID string, compatibility CompatibilityInfoInput) int + UpdateMultipleModCompatibilities func(childComplexity int, modIDs []string, compatibility CompatibilityInfoInput) int + UpdateSatisfactoryVersion func(childComplexity int, id string, input UpdateSatisfactoryVersion) int + UpdateTag func(childComplexity int, tagID string, newName string, description string) int + UpdateUser func(childComplexity int, userID string, input UpdateUser) int + UpdateVersion func(childComplexity int, versionID string, version UpdateVersion) int + UploadVersionPart func(childComplexity int, modID string, versionID string, part int, file graphql.Upload) int + } + + OAuthOptions struct { + Facebook func(childComplexity int) int + Github func(childComplexity int) int + Google func(childComplexity int) int + } + + Query struct { + CheckVersionUploadState func(childComplexity int, modID string, versionID string) int + GetAnnouncement func(childComplexity int, announcementID string) int + GetAnnouncements func(childComplexity int) int + GetAnnouncementsByImportance func(childComplexity int, importance AnnouncementImportance) int + GetGuide func(childComplexity int, guideID string) int + GetGuides func(childComplexity int, filter map[string]interface{}) int + GetMe func(childComplexity int) int + GetMod func(childComplexity int, modID string) int + GetModAssetList func(childComplexity int, modReference string) int + GetModByIDOrReference func(childComplexity int, modIDOrReference string) int + GetModByReference func(childComplexity int, modReference string) int + GetMods func(childComplexity int, filter map[string]interface{}) int + GetMyMods func(childComplexity int, filter map[string]interface{}) int + GetMyUnapprovedMods func(childComplexity int, filter map[string]interface{}) int + GetMyUnapprovedVersions func(childComplexity int, filter map[string]interface{}) int + GetMyVersions func(childComplexity int, filter map[string]interface{}) int + GetOAuthOptions func(childComplexity int, callbackURL string) int + GetSMLVersion func(childComplexity int, smlVersionID string) int + GetSMLVersions func(childComplexity int, filter map[string]interface{}) int + GetSatisfactoryVersion func(childComplexity int, id string) int + GetSatisfactoryVersions func(childComplexity int) int + GetTag func(childComplexity int, tagID string) int + GetTags func(childComplexity int, filter *TagFilter) int + GetUnapprovedMods func(childComplexity int, filter map[string]interface{}) int + GetUnapprovedVersions func(childComplexity int, filter map[string]interface{}) int + GetUser func(childComplexity int, userID string) int + GetUsers func(childComplexity int, userIds []string) int + GetVersion func(childComplexity int, versionID string) int + GetVersions func(childComplexity int, filter map[string]interface{}) int + ResolveModVersions func(childComplexity int, filter []*ModVersionConstraint) int + } + + SMLVersion struct { + BootstrapVersion func(childComplexity int) int + Changelog func(childComplexity int) int + CreatedAt func(childComplexity int) int + Date func(childComplexity int) int + EngineVersion func(childComplexity int) int + ID func(childComplexity int) int + Link func(childComplexity int) int + SatisfactoryVersion func(childComplexity int) int + Stability func(childComplexity int) int + Targets func(childComplexity int) int + UpdatedAt func(childComplexity int) int + Version func(childComplexity int) int + } + + SMLVersionTarget struct { + Link func(childComplexity int) int + TargetName func(childComplexity int) int + VersionID func(childComplexity int) int + } + + SatisfactoryVersion struct { + EngineVersion func(childComplexity int) int + ID func(childComplexity int) int + Version func(childComplexity int) int + } + + Tag struct { + Description func(childComplexity int) int + ID func(childComplexity int) int + Name func(childComplexity int) int + } + + User struct { + Avatar func(childComplexity int) int + AvatarThumbhash func(childComplexity int) int + CreatedAt func(childComplexity int) int + Email func(childComplexity int) int + FacebookID func(childComplexity int) int + GithubID func(childComplexity int) int + GoogleID func(childComplexity int) int + Groups func(childComplexity int) int + Guides func(childComplexity int) int + ID func(childComplexity int) int + Mods func(childComplexity int) int + Roles func(childComplexity int) int + Username func(childComplexity int) int + } + + UserMod struct { + Mod func(childComplexity int) int + ModID func(childComplexity int) int + Role func(childComplexity int) int + User func(childComplexity int) int + UserID func(childComplexity int) int + } + + UserRoles struct { + ApproveMods func(childComplexity int) int + ApproveVersions func(childComplexity int) int + DeleteContent func(childComplexity int) int + EditAnyModCompatibility func(childComplexity int) int + EditBootstrapVersions func(childComplexity int) int + EditContent func(childComplexity int) int + EditSatisfactoryVersions func(childComplexity int) int + EditUsers func(childComplexity int) int + } + + UserSession struct { + Token func(childComplexity int) int + } + + Version struct { + Approved func(childComplexity int) int + Changelog func(childComplexity int) int + CreatedAt func(childComplexity int) int + Dependencies func(childComplexity int) int + Downloads func(childComplexity int) int + GameVersion func(childComplexity int) int + Hash func(childComplexity int) int + ID func(childComplexity int) int + Link func(childComplexity int) int + Metadata func(childComplexity int) int + Mod func(childComplexity int) int + ModID func(childComplexity int) int + RequiredOnRemote func(childComplexity int) int + Size func(childComplexity int) int + SmlVersion func(childComplexity int) int + Stability func(childComplexity int) int + Targets func(childComplexity int) int + UpdatedAt func(childComplexity int) int + Version func(childComplexity int) int + VirustotalResults func(childComplexity int) int + } + + VersionDependency struct { + Condition func(childComplexity int) int + Mod func(childComplexity int) int + ModID func(childComplexity int) int + ModReference func(childComplexity int) int + Optional func(childComplexity int) int + Version func(childComplexity int) int + VersionID func(childComplexity int) int + } + + VersionTarget struct { + Hash func(childComplexity int) int + Link func(childComplexity int) int + Size func(childComplexity int) int + TargetName func(childComplexity int) int + VersionID func(childComplexity int) int + } + + VirustotalResult struct { + CreatedAt func(childComplexity int) int + FileName func(childComplexity int) int + Hash func(childComplexity int) int + ID func(childComplexity int) int + Safe func(childComplexity int) int + UpdatedAt func(childComplexity int) int + VersionID func(childComplexity int) int + } +} + +type GetGuidesResolver interface { + Guides(ctx context.Context, obj *GetGuides) ([]*Guide, error) + Count(ctx context.Context, obj *GetGuides) (int, error) +} +type GetModsResolver interface { + Mods(ctx context.Context, obj *GetMods) ([]*Mod, error) + Count(ctx context.Context, obj *GetMods) (int, error) +} +type GetMyModsResolver interface { + Mods(ctx context.Context, obj *GetMyMods) ([]*Mod, error) + Count(ctx context.Context, obj *GetMyMods) (int, error) +} +type GetMyVersionsResolver interface { + Versions(ctx context.Context, obj *GetMyVersions) ([]*Version, error) + Count(ctx context.Context, obj *GetMyVersions) (int, error) +} +type GetSMLVersionsResolver interface { + SmlVersions(ctx context.Context, obj *GetSMLVersions) ([]*SMLVersion, error) + Count(ctx context.Context, obj *GetSMLVersions) (int, error) +} +type GetVersionsResolver interface { + Versions(ctx context.Context, obj *GetVersions) ([]*Version, error) + Count(ctx context.Context, obj *GetVersions) (int, error) +} +type GuideResolver interface { + User(ctx context.Context, obj *Guide) (*User, error) +} +type ModResolver interface { + Authors(ctx context.Context, obj *Mod) ([]*UserMod, error) + Version(ctx context.Context, obj *Mod, version string) (*Version, error) + Versions(ctx context.Context, obj *Mod, filter map[string]interface{}) ([]*Version, error) + LatestVersions(ctx context.Context, obj *Mod) (*LatestVersions, error) +} +type MutationResolver interface { + DiscourseSso(ctx context.Context, sso string, sig string) (*string, error) + CreateAnnouncement(ctx context.Context, announcement NewAnnouncement) (*Announcement, error) + UpdateAnnouncement(ctx context.Context, announcementID string, announcement UpdateAnnouncement) (*Announcement, error) + DeleteAnnouncement(ctx context.Context, announcementID string) (bool, error) + UpdateModCompatibility(ctx context.Context, modID string, compatibility CompatibilityInfoInput) (bool, error) + UpdateMultipleModCompatibilities(ctx context.Context, modIDs []string, compatibility CompatibilityInfoInput) (bool, error) + CreateGuide(ctx context.Context, guide NewGuide) (*Guide, error) + UpdateGuide(ctx context.Context, guideID string, guide UpdateGuide) (*Guide, error) + DeleteGuide(ctx context.Context, guideID string) (bool, error) + CreateMod(ctx context.Context, mod NewMod) (*Mod, error) + UpdateMod(ctx context.Context, modID string, mod UpdateMod) (*Mod, error) + DeleteMod(ctx context.Context, modID string) (bool, error) + ApproveMod(ctx context.Context, modID string) (bool, error) + DenyMod(ctx context.Context, modID string) (bool, error) + CreateSatisfactoryVersion(ctx context.Context, input NewSatisfactoryVersion) (*SatisfactoryVersion, error) + UpdateSatisfactoryVersion(ctx context.Context, id string, input UpdateSatisfactoryVersion) (*SatisfactoryVersion, error) + DeleteSatisfactoryVersion(ctx context.Context, id string) (bool, error) + CreateTag(ctx context.Context, tagName string, description string) (*Tag, error) + CreateMultipleTags(ctx context.Context, tagNames []*NewTag) ([]*Tag, error) + UpdateTag(ctx context.Context, tagID string, newName string, description string) (*Tag, error) + DeleteTag(ctx context.Context, tagID string) (bool, error) + UpdateUser(ctx context.Context, userID string, input UpdateUser) (*User, error) + Logout(ctx context.Context) (bool, error) + OAuthGithub(ctx context.Context, code string, state string) (*UserSession, error) + OAuthGoogle(ctx context.Context, code string, state string) (*UserSession, error) + OAuthFacebook(ctx context.Context, code string, state string) (*UserSession, error) + CreateVersion(ctx context.Context, modID string) (string, error) + UploadVersionPart(ctx context.Context, modID string, versionID string, part int, file graphql.Upload) (bool, error) + FinalizeCreateVersion(ctx context.Context, modID string, versionID string, version NewVersion) (bool, error) + UpdateVersion(ctx context.Context, versionID string, version UpdateVersion) (*Version, error) + DeleteVersion(ctx context.Context, versionID string) (bool, error) + ApproveVersion(ctx context.Context, versionID string) (bool, error) + DenyVersion(ctx context.Context, versionID string) (bool, error) +} +type QueryResolver interface { + GetOAuthOptions(ctx context.Context, callbackURL string) (*OAuthOptions, error) + GetAnnouncement(ctx context.Context, announcementID string) (*Announcement, error) + GetAnnouncements(ctx context.Context) ([]*Announcement, error) + GetAnnouncementsByImportance(ctx context.Context, importance AnnouncementImportance) ([]*Announcement, error) + GetGuide(ctx context.Context, guideID string) (*Guide, error) + GetGuides(ctx context.Context, filter map[string]interface{}) (*GetGuides, error) + GetMod(ctx context.Context, modID string) (*Mod, error) + GetModByReference(ctx context.Context, modReference string) (*Mod, error) + GetModByIDOrReference(ctx context.Context, modIDOrReference string) (*Mod, error) + GetMods(ctx context.Context, filter map[string]interface{}) (*GetMods, error) + GetUnapprovedMods(ctx context.Context, filter map[string]interface{}) (*GetMods, error) + GetMyMods(ctx context.Context, filter map[string]interface{}) (*GetMyMods, error) + GetMyUnapprovedMods(ctx context.Context, filter map[string]interface{}) (*GetMyMods, error) + ResolveModVersions(ctx context.Context, filter []*ModVersionConstraint) ([]*ModVersion, error) + GetModAssetList(ctx context.Context, modReference string) ([]string, error) + GetSatisfactoryVersions(ctx context.Context) ([]*SatisfactoryVersion, error) + GetSatisfactoryVersion(ctx context.Context, id string) (*SatisfactoryVersion, error) + GetSMLVersion(ctx context.Context, smlVersionID string) (*SMLVersion, error) + GetSMLVersions(ctx context.Context, filter map[string]interface{}) (*GetSMLVersions, error) + GetTag(ctx context.Context, tagID string) (*Tag, error) + GetTags(ctx context.Context, filter *TagFilter) ([]*Tag, error) + GetMe(ctx context.Context) (*User, error) + GetUser(ctx context.Context, userID string) (*User, error) + GetUsers(ctx context.Context, userIds []string) ([]*User, error) + GetVersion(ctx context.Context, versionID string) (*Version, error) + GetVersions(ctx context.Context, filter map[string]interface{}) (*GetVersions, error) + GetUnapprovedVersions(ctx context.Context, filter map[string]interface{}) (*GetVersions, error) + CheckVersionUploadState(ctx context.Context, modID string, versionID string) (*CreateVersionResponse, error) + GetMyVersions(ctx context.Context, filter map[string]interface{}) (*GetMyVersions, error) + GetMyUnapprovedVersions(ctx context.Context, filter map[string]interface{}) (*GetMyVersions, error) +} +type SMLVersionResolver interface { + Link(ctx context.Context, obj *SMLVersion) (string, error) + + BootstrapVersion(ctx context.Context, obj *SMLVersion) (*string, error) + EngineVersion(ctx context.Context, obj *SMLVersion) (string, error) +} +type SMLVersionTargetResolver interface { + Link(ctx context.Context, obj *SMLVersionTarget) (string, error) +} +type UserResolver interface { + Roles(ctx context.Context, obj *User) (*UserRoles, error) + Groups(ctx context.Context, obj *User) ([]*Group, error) + Mods(ctx context.Context, obj *User) ([]*UserMod, error) + Guides(ctx context.Context, obj *User) ([]*Guide, error) +} +type UserModResolver interface { + User(ctx context.Context, obj *UserMod) (*User, error) + Mod(ctx context.Context, obj *UserMod) (*Mod, error) +} +type VersionResolver interface { + SmlVersion(ctx context.Context, obj *Version) (string, error) + + Link(ctx context.Context, obj *Version) (string, error) + + Size(ctx context.Context, obj *Version) (*int, error) + Hash(ctx context.Context, obj *Version) (*string, error) + Mod(ctx context.Context, obj *Version) (*Mod, error) + Dependencies(ctx context.Context, obj *Version) ([]*VersionDependency, error) + VirustotalResults(ctx context.Context, obj *Version) ([]*VirustotalResult, error) +} +type VersionDependencyResolver interface { + Mod(ctx context.Context, obj *VersionDependency) (*Mod, error) +} +type VersionTargetResolver interface { + Link(ctx context.Context, obj *VersionTarget) (string, error) +} + +type executableSchema struct { + schema *ast.Schema + resolvers ResolverRoot + directives DirectiveRoot + complexity ComplexityRoot +} + +func (e *executableSchema) Schema() *ast.Schema { + if e.schema != nil { + return e.schema + } + return parsedSchema +} + +func (e *executableSchema) Complexity(ctx context.Context, typeName, field string, childComplexity int, rawArgs map[string]any) (int, bool) { + ec := executionContext{nil, e, 0, 0, nil} + _ = ec + switch typeName + "." + field { + + case "AIUseDisclosureInfo.disclosure_string": + if e.complexity.AIUseDisclosureInfo.DisclosureString == nil { + break + } + + return e.complexity.AIUseDisclosureInfo.DisclosureString(childComplexity), true + + case "AIUseDisclosureInfo.disclosure_type": + if e.complexity.AIUseDisclosureInfo.DisclosureType == nil { + break + } + + return e.complexity.AIUseDisclosureInfo.DisclosureType(childComplexity), true + + case "Announcement.id": + if e.complexity.Announcement.ID == nil { + break + } + + return e.complexity.Announcement.ID(childComplexity), true + + case "Announcement.importance": + if e.complexity.Announcement.Importance == nil { + break + } + + return e.complexity.Announcement.Importance(childComplexity), true + + case "Announcement.message": + if e.complexity.Announcement.Message == nil { + break + } + + return e.complexity.Announcement.Message(childComplexity), true + + case "Compatibility.note": + if e.complexity.Compatibility.Note == nil { + break + } + + return e.complexity.Compatibility.Note(childComplexity), true + + case "Compatibility.state": + if e.complexity.Compatibility.State == nil { + break + } + + return e.complexity.Compatibility.State(childComplexity), true + + case "CompatibilityInfo.Controller": + if e.complexity.CompatibilityInfo.Controller == nil { + break + } + + return e.complexity.CompatibilityInfo.Controller(childComplexity), true + + case "CompatibilityInfo.EA": + if e.complexity.CompatibilityInfo.Ea == nil { + break + } + + return e.complexity.CompatibilityInfo.Ea(childComplexity), true + + case "CompatibilityInfo.EXP": + if e.complexity.CompatibilityInfo.Exp == nil { + break + } + + return e.complexity.CompatibilityInfo.Exp(childComplexity), true + + case "ControllerCompatibility.note": + if e.complexity.ControllerCompatibility.Note == nil { + break + } + + return e.complexity.ControllerCompatibility.Note(childComplexity), true + + case "ControllerCompatibility.state": + if e.complexity.ControllerCompatibility.State == nil { + break + } + + return e.complexity.ControllerCompatibility.State(childComplexity), true + + case "CreateVersionResponse.auto_approved": + if e.complexity.CreateVersionResponse.AutoApproved == nil { + break + } + + return e.complexity.CreateVersionResponse.AutoApproved(childComplexity), true + + case "CreateVersionResponse.version": + if e.complexity.CreateVersionResponse.Version == nil { + break + } + + return e.complexity.CreateVersionResponse.Version(childComplexity), true + + case "GetGuides.count": + if e.complexity.GetGuides.Count == nil { + break + } + + return e.complexity.GetGuides.Count(childComplexity), true + + case "GetGuides.guides": + if e.complexity.GetGuides.Guides == nil { + break + } + + return e.complexity.GetGuides.Guides(childComplexity), true + + case "GetMods.count": + if e.complexity.GetMods.Count == nil { + break + } + + return e.complexity.GetMods.Count(childComplexity), true + + case "GetMods.mods": + if e.complexity.GetMods.Mods == nil { + break + } + + return e.complexity.GetMods.Mods(childComplexity), true + + case "GetMyMods.count": + if e.complexity.GetMyMods.Count == nil { + break + } + + return e.complexity.GetMyMods.Count(childComplexity), true + + case "GetMyMods.mods": + if e.complexity.GetMyMods.Mods == nil { + break + } + + return e.complexity.GetMyMods.Mods(childComplexity), true + + case "GetMyVersions.count": + if e.complexity.GetMyVersions.Count == nil { + break + } + + return e.complexity.GetMyVersions.Count(childComplexity), true + + case "GetMyVersions.versions": + if e.complexity.GetMyVersions.Versions == nil { + break + } + + return e.complexity.GetMyVersions.Versions(childComplexity), true + + case "GetSMLVersions.count": + if e.complexity.GetSMLVersions.Count == nil { + break + } + + return e.complexity.GetSMLVersions.Count(childComplexity), true + + case "GetSMLVersions.sml_versions": + if e.complexity.GetSMLVersions.SmlVersions == nil { + break + } + + return e.complexity.GetSMLVersions.SmlVersions(childComplexity), true + + case "GetVersions.count": + if e.complexity.GetVersions.Count == nil { + break + } + + return e.complexity.GetVersions.Count(childComplexity), true + + case "GetVersions.versions": + if e.complexity.GetVersions.Versions == nil { + break + } + + return e.complexity.GetVersions.Versions(childComplexity), true + + case "Group.id": + if e.complexity.Group.ID == nil { + break + } + + return e.complexity.Group.ID(childComplexity), true + + case "Group.name": + if e.complexity.Group.Name == nil { + break + } + + return e.complexity.Group.Name(childComplexity), true + + case "Guide.created_at": + if e.complexity.Guide.CreatedAt == nil { + break + } + + return e.complexity.Guide.CreatedAt(childComplexity), true + + case "Guide.guide": + if e.complexity.Guide.Guide == nil { + break + } + + return e.complexity.Guide.Guide(childComplexity), true + + case "Guide.id": + if e.complexity.Guide.ID == nil { + break + } + + return e.complexity.Guide.ID(childComplexity), true + + case "Guide.name": + if e.complexity.Guide.Name == nil { + break + } + + return e.complexity.Guide.Name(childComplexity), true + + case "Guide.short_description": + if e.complexity.Guide.ShortDescription == nil { + break + } + + return e.complexity.Guide.ShortDescription(childComplexity), true + + case "Guide.tags": + if e.complexity.Guide.Tags == nil { + break + } + + return e.complexity.Guide.Tags(childComplexity), true + + case "Guide.updated_at": + if e.complexity.Guide.UpdatedAt == nil { + break + } + + return e.complexity.Guide.UpdatedAt(childComplexity), true + + case "Guide.user": + if e.complexity.Guide.User == nil { + break + } + + return e.complexity.Guide.User(childComplexity), true + + case "Guide.user_id": + if e.complexity.Guide.UserID == nil { + break + } + + return e.complexity.Guide.UserID(childComplexity), true + + case "Guide.views": + if e.complexity.Guide.Views == nil { + break + } + + return e.complexity.Guide.Views(childComplexity), true + + case "LatestVersions.alpha": + if e.complexity.LatestVersions.Alpha == nil { + break + } + + return e.complexity.LatestVersions.Alpha(childComplexity), true + + case "LatestVersions.beta": + if e.complexity.LatestVersions.Beta == nil { + break + } + + return e.complexity.LatestVersions.Beta(childComplexity), true + + case "LatestVersions.release": + if e.complexity.LatestVersions.Release == nil { + break + } + + return e.complexity.LatestVersions.Release(childComplexity), true + + case "Mod.ai_use_disclosure": + if e.complexity.Mod.AiUseDisclosure == nil { + break + } + + return e.complexity.Mod.AiUseDisclosure(childComplexity), true + + case "Mod.approved": + if e.complexity.Mod.Approved == nil { + break + } + + return e.complexity.Mod.Approved(childComplexity), true + + case "Mod.authors": + if e.complexity.Mod.Authors == nil { + break + } + + return e.complexity.Mod.Authors(childComplexity), true + + case "Mod.compatibility": + if e.complexity.Mod.Compatibility == nil { + break + } + + return e.complexity.Mod.Compatibility(childComplexity), true + + case "Mod.created_at": + if e.complexity.Mod.CreatedAt == nil { + break + } + + return e.complexity.Mod.CreatedAt(childComplexity), true + + case "Mod.creator_id": + if e.complexity.Mod.CreatorID == nil { + break + } + + return e.complexity.Mod.CreatorID(childComplexity), true + + case "Mod.downloads": + if e.complexity.Mod.Downloads == nil { + break + } + + return e.complexity.Mod.Downloads(childComplexity), true + + case "Mod.full_description": + if e.complexity.Mod.FullDescription == nil { + break + } + + return e.complexity.Mod.FullDescription(childComplexity), true + + case "Mod.hidden": + if e.complexity.Mod.Hidden == nil { + break + } + + return e.complexity.Mod.Hidden(childComplexity), true + + case "Mod.hotness": + if e.complexity.Mod.Hotness == nil { + break + } + + return e.complexity.Mod.Hotness(childComplexity), true + + case "Mod.id": + if e.complexity.Mod.ID == nil { + break + } + + return e.complexity.Mod.ID(childComplexity), true + + case "Mod.last_version_date": + if e.complexity.Mod.LastVersionDate == nil { + break + } + + return e.complexity.Mod.LastVersionDate(childComplexity), true + + case "Mod.latestVersions": + if e.complexity.Mod.LatestVersions == nil { + break + } + + return e.complexity.Mod.LatestVersions(childComplexity), true + + case "Mod.logo": + if e.complexity.Mod.Logo == nil { + break + } + + return e.complexity.Mod.Logo(childComplexity), true + + case "Mod.logo_thumbhash": + if e.complexity.Mod.LogoThumbhash == nil { + break + } + + return e.complexity.Mod.LogoThumbhash(childComplexity), true + + case "Mod.mod_reference": + if e.complexity.Mod.ModReference == nil { + break + } + + return e.complexity.Mod.ModReference(childComplexity), true + + case "Mod.name": + if e.complexity.Mod.Name == nil { + break + } + + return e.complexity.Mod.Name(childComplexity), true + + case "Mod.network_use_disclosure": + if e.complexity.Mod.NetworkUseDisclosure == nil { + break + } + + return e.complexity.Mod.NetworkUseDisclosure(childComplexity), true + + case "Mod.popularity": + if e.complexity.Mod.Popularity == nil { + break + } + + return e.complexity.Mod.Popularity(childComplexity), true + + case "Mod.short_description": + if e.complexity.Mod.ShortDescription == nil { + break + } + + return e.complexity.Mod.ShortDescription(childComplexity), true + + case "Mod.source_url": + if e.complexity.Mod.SourceURL == nil { + break + } + + return e.complexity.Mod.SourceURL(childComplexity), true + + case "Mod.tags": + if e.complexity.Mod.Tags == nil { + break + } + + return e.complexity.Mod.Tags(childComplexity), true + + case "Mod.toggle_explicit_content": + if e.complexity.Mod.ToggleExplicitContent == nil { + break + } + + return e.complexity.Mod.ToggleExplicitContent(childComplexity), true + + case "Mod.toggle_network_use": + if e.complexity.Mod.ToggleNetworkUse == nil { + break + } + + return e.complexity.Mod.ToggleNetworkUse(childComplexity), true + + case "Mod.updated_at": + if e.complexity.Mod.UpdatedAt == nil { + break + } + + return e.complexity.Mod.UpdatedAt(childComplexity), true + + case "Mod.version": + if e.complexity.Mod.Version == nil { + break + } + + args, err := ec.field_Mod_version_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mod.Version(childComplexity, args["version"].(string)), true + + case "Mod.versions": + if e.complexity.Mod.Versions == nil { + break + } + + args, err := ec.field_Mod_versions_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mod.Versions(childComplexity, args["filter"].(map[string]interface{})), true + + case "Mod.views": + if e.complexity.Mod.Views == nil { + break + } + + return e.complexity.Mod.Views(childComplexity), true + + case "ModVersion.id": + if e.complexity.ModVersion.ID == nil { + break + } + + return e.complexity.ModVersion.ID(childComplexity), true + + case "ModVersion.mod_reference": + if e.complexity.ModVersion.ModReference == nil { + break + } + + return e.complexity.ModVersion.ModReference(childComplexity), true + + case "ModVersion.versions": + if e.complexity.ModVersion.Versions == nil { + break + } + + return e.complexity.ModVersion.Versions(childComplexity), true + + case "Mutation.approveMod": + if e.complexity.Mutation.ApproveMod == nil { + break + } + + args, err := ec.field_Mutation_approveMod_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.ApproveMod(childComplexity, args["modId"].(string)), true + + case "Mutation.approveVersion": + if e.complexity.Mutation.ApproveVersion == nil { + break + } + + args, err := ec.field_Mutation_approveVersion_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.ApproveVersion(childComplexity, args["versionId"].(string)), true + + case "Mutation.createAnnouncement": + if e.complexity.Mutation.CreateAnnouncement == nil { + break + } + + args, err := ec.field_Mutation_createAnnouncement_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.CreateAnnouncement(childComplexity, args["announcement"].(NewAnnouncement)), true + + case "Mutation.createGuide": + if e.complexity.Mutation.CreateGuide == nil { + break + } + + args, err := ec.field_Mutation_createGuide_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.CreateGuide(childComplexity, args["guide"].(NewGuide)), true + + case "Mutation.createMod": + if e.complexity.Mutation.CreateMod == nil { + break + } + + args, err := ec.field_Mutation_createMod_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.CreateMod(childComplexity, args["mod"].(NewMod)), true + + case "Mutation.createMultipleTags": + if e.complexity.Mutation.CreateMultipleTags == nil { + break + } + + args, err := ec.field_Mutation_createMultipleTags_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.CreateMultipleTags(childComplexity, args["tagNames"].([]*NewTag)), true + + case "Mutation.createSatisfactoryVersion": + if e.complexity.Mutation.CreateSatisfactoryVersion == nil { + break + } + + args, err := ec.field_Mutation_createSatisfactoryVersion_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.CreateSatisfactoryVersion(childComplexity, args["input"].(NewSatisfactoryVersion)), true + + case "Mutation.createTag": + if e.complexity.Mutation.CreateTag == nil { + break + } + + args, err := ec.field_Mutation_createTag_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.CreateTag(childComplexity, args["tagName"].(string), args["description"].(string)), true + + case "Mutation.createVersion": + if e.complexity.Mutation.CreateVersion == nil { + break + } + + args, err := ec.field_Mutation_createVersion_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.CreateVersion(childComplexity, args["modId"].(string)), true + + case "Mutation.deleteAnnouncement": + if e.complexity.Mutation.DeleteAnnouncement == nil { + break + } + + args, err := ec.field_Mutation_deleteAnnouncement_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.DeleteAnnouncement(childComplexity, args["announcementId"].(string)), true + + case "Mutation.deleteGuide": + if e.complexity.Mutation.DeleteGuide == nil { + break + } + + args, err := ec.field_Mutation_deleteGuide_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.DeleteGuide(childComplexity, args["guideId"].(string)), true + + case "Mutation.deleteMod": + if e.complexity.Mutation.DeleteMod == nil { + break + } + + args, err := ec.field_Mutation_deleteMod_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.DeleteMod(childComplexity, args["modId"].(string)), true + + case "Mutation.deleteSatisfactoryVersion": + if e.complexity.Mutation.DeleteSatisfactoryVersion == nil { + break + } + + args, err := ec.field_Mutation_deleteSatisfactoryVersion_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.DeleteSatisfactoryVersion(childComplexity, args["id"].(string)), true + + case "Mutation.deleteTag": + if e.complexity.Mutation.DeleteTag == nil { + break + } + + args, err := ec.field_Mutation_deleteTag_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.DeleteTag(childComplexity, args["tagID"].(string)), true + + case "Mutation.deleteVersion": + if e.complexity.Mutation.DeleteVersion == nil { + break + } + + args, err := ec.field_Mutation_deleteVersion_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.DeleteVersion(childComplexity, args["versionId"].(string)), true + + case "Mutation.denyMod": + if e.complexity.Mutation.DenyMod == nil { + break + } + + args, err := ec.field_Mutation_denyMod_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.DenyMod(childComplexity, args["modId"].(string)), true + + case "Mutation.denyVersion": + if e.complexity.Mutation.DenyVersion == nil { + break + } + + args, err := ec.field_Mutation_denyVersion_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.DenyVersion(childComplexity, args["versionId"].(string)), true + + case "Mutation.discourseSSO": + if e.complexity.Mutation.DiscourseSso == nil { + break + } + + args, err := ec.field_Mutation_discourseSSO_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.DiscourseSso(childComplexity, args["sso"].(string), args["sig"].(string)), true + + case "Mutation.finalizeCreateVersion": + if e.complexity.Mutation.FinalizeCreateVersion == nil { + break + } + + args, err := ec.field_Mutation_finalizeCreateVersion_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.FinalizeCreateVersion(childComplexity, args["modId"].(string), args["versionId"].(string), args["version"].(NewVersion)), true + + case "Mutation.logout": + if e.complexity.Mutation.Logout == nil { + break + } + + return e.complexity.Mutation.Logout(childComplexity), true + + case "Mutation.oAuthFacebook": + if e.complexity.Mutation.OAuthFacebook == nil { + break + } + + args, err := ec.field_Mutation_oAuthFacebook_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.OAuthFacebook(childComplexity, args["code"].(string), args["state"].(string)), true + + case "Mutation.oAuthGithub": + if e.complexity.Mutation.OAuthGithub == nil { + break + } + + args, err := ec.field_Mutation_oAuthGithub_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.OAuthGithub(childComplexity, args["code"].(string), args["state"].(string)), true + + case "Mutation.oAuthGoogle": + if e.complexity.Mutation.OAuthGoogle == nil { + break + } + + args, err := ec.field_Mutation_oAuthGoogle_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.OAuthGoogle(childComplexity, args["code"].(string), args["state"].(string)), true + + case "Mutation.updateAnnouncement": + if e.complexity.Mutation.UpdateAnnouncement == nil { + break + } + + args, err := ec.field_Mutation_updateAnnouncement_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.UpdateAnnouncement(childComplexity, args["announcementId"].(string), args["announcement"].(UpdateAnnouncement)), true + + case "Mutation.updateGuide": + if e.complexity.Mutation.UpdateGuide == nil { + break + } + + args, err := ec.field_Mutation_updateGuide_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.UpdateGuide(childComplexity, args["guideId"].(string), args["guide"].(UpdateGuide)), true + + case "Mutation.updateMod": + if e.complexity.Mutation.UpdateMod == nil { + break + } + + args, err := ec.field_Mutation_updateMod_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.UpdateMod(childComplexity, args["modId"].(string), args["mod"].(UpdateMod)), true + + case "Mutation.updateModCompatibility": + if e.complexity.Mutation.UpdateModCompatibility == nil { + break + } + + args, err := ec.field_Mutation_updateModCompatibility_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.UpdateModCompatibility(childComplexity, args["modId"].(string), args["compatibility"].(CompatibilityInfoInput)), true + + case "Mutation.updateMultipleModCompatibilities": + if e.complexity.Mutation.UpdateMultipleModCompatibilities == nil { + break + } + + args, err := ec.field_Mutation_updateMultipleModCompatibilities_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.UpdateMultipleModCompatibilities(childComplexity, args["modIDs"].([]string), args["compatibility"].(CompatibilityInfoInput)), true + + case "Mutation.updateSatisfactoryVersion": + if e.complexity.Mutation.UpdateSatisfactoryVersion == nil { + break + } + + args, err := ec.field_Mutation_updateSatisfactoryVersion_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.UpdateSatisfactoryVersion(childComplexity, args["id"].(string), args["input"].(UpdateSatisfactoryVersion)), true + + case "Mutation.updateTag": + if e.complexity.Mutation.UpdateTag == nil { + break + } + + args, err := ec.field_Mutation_updateTag_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.UpdateTag(childComplexity, args["tagID"].(string), args["NewName"].(string), args["description"].(string)), true + + case "Mutation.updateUser": + if e.complexity.Mutation.UpdateUser == nil { + break + } + + args, err := ec.field_Mutation_updateUser_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.UpdateUser(childComplexity, args["userId"].(string), args["input"].(UpdateUser)), true + + case "Mutation.updateVersion": + if e.complexity.Mutation.UpdateVersion == nil { + break + } + + args, err := ec.field_Mutation_updateVersion_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.UpdateVersion(childComplexity, args["versionId"].(string), args["version"].(UpdateVersion)), true + + case "Mutation.uploadVersionPart": + if e.complexity.Mutation.UploadVersionPart == nil { + break + } + + args, err := ec.field_Mutation_uploadVersionPart_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Mutation.UploadVersionPart(childComplexity, args["modId"].(string), args["versionId"].(string), args["part"].(int), args["file"].(graphql.Upload)), true + + case "OAuthOptions.facebook": + if e.complexity.OAuthOptions.Facebook == nil { + break + } + + return e.complexity.OAuthOptions.Facebook(childComplexity), true + + case "OAuthOptions.github": + if e.complexity.OAuthOptions.Github == nil { + break + } + + return e.complexity.OAuthOptions.Github(childComplexity), true + + case "OAuthOptions.google": + if e.complexity.OAuthOptions.Google == nil { + break + } + + return e.complexity.OAuthOptions.Google(childComplexity), true + + case "Query.checkVersionUploadState": + if e.complexity.Query.CheckVersionUploadState == nil { + break + } + + args, err := ec.field_Query_checkVersionUploadState_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.CheckVersionUploadState(childComplexity, args["modId"].(string), args["versionId"].(string)), true + + case "Query.getAnnouncement": + if e.complexity.Query.GetAnnouncement == nil { + break + } + + args, err := ec.field_Query_getAnnouncement_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetAnnouncement(childComplexity, args["announcementId"].(string)), true + + case "Query.getAnnouncements": + if e.complexity.Query.GetAnnouncements == nil { + break + } + + return e.complexity.Query.GetAnnouncements(childComplexity), true + + case "Query.getAnnouncementsByImportance": + if e.complexity.Query.GetAnnouncementsByImportance == nil { + break + } + + args, err := ec.field_Query_getAnnouncementsByImportance_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetAnnouncementsByImportance(childComplexity, args["importance"].(AnnouncementImportance)), true + + case "Query.getGuide": + if e.complexity.Query.GetGuide == nil { + break + } + + args, err := ec.field_Query_getGuide_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetGuide(childComplexity, args["guideId"].(string)), true + + case "Query.getGuides": + if e.complexity.Query.GetGuides == nil { + break + } + + args, err := ec.field_Query_getGuides_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetGuides(childComplexity, args["filter"].(map[string]interface{})), true + + case "Query.getMe": + if e.complexity.Query.GetMe == nil { + break + } + + return e.complexity.Query.GetMe(childComplexity), true + + case "Query.getMod": + if e.complexity.Query.GetMod == nil { + break + } + + args, err := ec.field_Query_getMod_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetMod(childComplexity, args["modId"].(string)), true + + case "Query.getModAssetList": + if e.complexity.Query.GetModAssetList == nil { + break + } + + args, err := ec.field_Query_getModAssetList_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetModAssetList(childComplexity, args["modReference"].(string)), true + + case "Query.getModByIdOrReference": + if e.complexity.Query.GetModByIDOrReference == nil { + break + } + + args, err := ec.field_Query_getModByIdOrReference_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetModByIDOrReference(childComplexity, args["modIdOrReference"].(string)), true + + case "Query.getModByReference": + if e.complexity.Query.GetModByReference == nil { + break + } + + args, err := ec.field_Query_getModByReference_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetModByReference(childComplexity, args["modReference"].(string)), true + + case "Query.getMods": + if e.complexity.Query.GetMods == nil { + break + } + + args, err := ec.field_Query_getMods_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetMods(childComplexity, args["filter"].(map[string]interface{})), true + + case "Query.getMyMods": + if e.complexity.Query.GetMyMods == nil { + break + } + + args, err := ec.field_Query_getMyMods_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetMyMods(childComplexity, args["filter"].(map[string]interface{})), true + + case "Query.getMyUnapprovedMods": + if e.complexity.Query.GetMyUnapprovedMods == nil { + break + } + + args, err := ec.field_Query_getMyUnapprovedMods_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetMyUnapprovedMods(childComplexity, args["filter"].(map[string]interface{})), true + + case "Query.getMyUnapprovedVersions": + if e.complexity.Query.GetMyUnapprovedVersions == nil { + break + } + + args, err := ec.field_Query_getMyUnapprovedVersions_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetMyUnapprovedVersions(childComplexity, args["filter"].(map[string]interface{})), true + + case "Query.getMyVersions": + if e.complexity.Query.GetMyVersions == nil { + break + } + + args, err := ec.field_Query_getMyVersions_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetMyVersions(childComplexity, args["filter"].(map[string]interface{})), true + + case "Query.getOAuthOptions": + if e.complexity.Query.GetOAuthOptions == nil { + break + } + + args, err := ec.field_Query_getOAuthOptions_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetOAuthOptions(childComplexity, args["callback_url"].(string)), true + + case "Query.getSMLVersion": + if e.complexity.Query.GetSMLVersion == nil { + break + } + + args, err := ec.field_Query_getSMLVersion_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetSMLVersion(childComplexity, args["smlVersionID"].(string)), true + + case "Query.getSMLVersions": + if e.complexity.Query.GetSMLVersions == nil { + break + } + + args, err := ec.field_Query_getSMLVersions_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetSMLVersions(childComplexity, args["filter"].(map[string]interface{})), true + + case "Query.getSatisfactoryVersion": + if e.complexity.Query.GetSatisfactoryVersion == nil { + break + } + + args, err := ec.field_Query_getSatisfactoryVersion_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetSatisfactoryVersion(childComplexity, args["id"].(string)), true + + case "Query.getSatisfactoryVersions": + if e.complexity.Query.GetSatisfactoryVersions == nil { + break + } + + return e.complexity.Query.GetSatisfactoryVersions(childComplexity), true + + case "Query.getTag": + if e.complexity.Query.GetTag == nil { + break + } + + args, err := ec.field_Query_getTag_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetTag(childComplexity, args["tagID"].(string)), true + + case "Query.getTags": + if e.complexity.Query.GetTags == nil { + break + } + + args, err := ec.field_Query_getTags_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetTags(childComplexity, args["filter"].(*TagFilter)), true + + case "Query.getUnapprovedMods": + if e.complexity.Query.GetUnapprovedMods == nil { + break + } + + args, err := ec.field_Query_getUnapprovedMods_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetUnapprovedMods(childComplexity, args["filter"].(map[string]interface{})), true + + case "Query.getUnapprovedVersions": + if e.complexity.Query.GetUnapprovedVersions == nil { + break + } + + args, err := ec.field_Query_getUnapprovedVersions_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetUnapprovedVersions(childComplexity, args["filter"].(map[string]interface{})), true + + case "Query.getUser": + if e.complexity.Query.GetUser == nil { + break + } + + args, err := ec.field_Query_getUser_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetUser(childComplexity, args["userId"].(string)), true + + case "Query.getUsers": + if e.complexity.Query.GetUsers == nil { + break + } + + args, err := ec.field_Query_getUsers_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetUsers(childComplexity, args["userIds"].([]string)), true + + case "Query.getVersion": + if e.complexity.Query.GetVersion == nil { + break + } + + args, err := ec.field_Query_getVersion_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetVersion(childComplexity, args["versionId"].(string)), true + + case "Query.getVersions": + if e.complexity.Query.GetVersions == nil { + break + } + + args, err := ec.field_Query_getVersions_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.GetVersions(childComplexity, args["filter"].(map[string]interface{})), true + + case "Query.resolveModVersions": + if e.complexity.Query.ResolveModVersions == nil { + break + } + + args, err := ec.field_Query_resolveModVersions_args(ctx, rawArgs) + if err != nil { + return 0, false + } + + return e.complexity.Query.ResolveModVersions(childComplexity, args["filter"].([]*ModVersionConstraint)), true + + case "SMLVersion.bootstrap_version": + if e.complexity.SMLVersion.BootstrapVersion == nil { + break + } + + return e.complexity.SMLVersion.BootstrapVersion(childComplexity), true + + case "SMLVersion.changelog": + if e.complexity.SMLVersion.Changelog == nil { + break + } + + return e.complexity.SMLVersion.Changelog(childComplexity), true + + case "SMLVersion.created_at": + if e.complexity.SMLVersion.CreatedAt == nil { + break + } + + return e.complexity.SMLVersion.CreatedAt(childComplexity), true + + case "SMLVersion.date": + if e.complexity.SMLVersion.Date == nil { + break + } + + return e.complexity.SMLVersion.Date(childComplexity), true + + case "SMLVersion.engine_version": + if e.complexity.SMLVersion.EngineVersion == nil { + break + } + + return e.complexity.SMLVersion.EngineVersion(childComplexity), true + + case "SMLVersion.id": + if e.complexity.SMLVersion.ID == nil { + break + } + + return e.complexity.SMLVersion.ID(childComplexity), true + + case "SMLVersion.link": + if e.complexity.SMLVersion.Link == nil { + break + } + + return e.complexity.SMLVersion.Link(childComplexity), true + + case "SMLVersion.satisfactory_version": + if e.complexity.SMLVersion.SatisfactoryVersion == nil { + break + } + + return e.complexity.SMLVersion.SatisfactoryVersion(childComplexity), true + + case "SMLVersion.stability": + if e.complexity.SMLVersion.Stability == nil { + break + } + + return e.complexity.SMLVersion.Stability(childComplexity), true + + case "SMLVersion.targets": + if e.complexity.SMLVersion.Targets == nil { + break + } + + return e.complexity.SMLVersion.Targets(childComplexity), true + + case "SMLVersion.updated_at": + if e.complexity.SMLVersion.UpdatedAt == nil { + break + } + + return e.complexity.SMLVersion.UpdatedAt(childComplexity), true + + case "SMLVersion.version": + if e.complexity.SMLVersion.Version == nil { + break + } + + return e.complexity.SMLVersion.Version(childComplexity), true + + case "SMLVersionTarget.link": + if e.complexity.SMLVersionTarget.Link == nil { + break + } + + return e.complexity.SMLVersionTarget.Link(childComplexity), true + + case "SMLVersionTarget.targetName": + if e.complexity.SMLVersionTarget.TargetName == nil { + break + } + + return e.complexity.SMLVersionTarget.TargetName(childComplexity), true + + case "SMLVersionTarget.VersionID": + if e.complexity.SMLVersionTarget.VersionID == nil { + break + } + + return e.complexity.SMLVersionTarget.VersionID(childComplexity), true + + case "SatisfactoryVersion.engine_version": + if e.complexity.SatisfactoryVersion.EngineVersion == nil { + break + } + + return e.complexity.SatisfactoryVersion.EngineVersion(childComplexity), true + + case "SatisfactoryVersion.id": + if e.complexity.SatisfactoryVersion.ID == nil { + break + } + + return e.complexity.SatisfactoryVersion.ID(childComplexity), true + + case "SatisfactoryVersion.version": + if e.complexity.SatisfactoryVersion.Version == nil { + break + } + + return e.complexity.SatisfactoryVersion.Version(childComplexity), true + + case "Tag.description": + if e.complexity.Tag.Description == nil { + break + } + + return e.complexity.Tag.Description(childComplexity), true + + case "Tag.id": + if e.complexity.Tag.ID == nil { + break + } + + return e.complexity.Tag.ID(childComplexity), true + + case "Tag.name": + if e.complexity.Tag.Name == nil { + break + } + + return e.complexity.Tag.Name(childComplexity), true + + case "User.avatar": + if e.complexity.User.Avatar == nil { + break + } + + return e.complexity.User.Avatar(childComplexity), true + + case "User.avatar_thumbhash": + if e.complexity.User.AvatarThumbhash == nil { + break + } + + return e.complexity.User.AvatarThumbhash(childComplexity), true + + case "User.created_at": + if e.complexity.User.CreatedAt == nil { + break + } + + return e.complexity.User.CreatedAt(childComplexity), true + + case "User.email": + if e.complexity.User.Email == nil { + break + } + + return e.complexity.User.Email(childComplexity), true + + case "User.facebook_id": + if e.complexity.User.FacebookID == nil { + break + } + + return e.complexity.User.FacebookID(childComplexity), true + + case "User.github_id": + if e.complexity.User.GithubID == nil { + break + } + + return e.complexity.User.GithubID(childComplexity), true + + case "User.google_id": + if e.complexity.User.GoogleID == nil { + break + } + + return e.complexity.User.GoogleID(childComplexity), true + + case "User.groups": + if e.complexity.User.Groups == nil { + break + } + + return e.complexity.User.Groups(childComplexity), true + + case "User.guides": + if e.complexity.User.Guides == nil { + break + } + + return e.complexity.User.Guides(childComplexity), true + + case "User.id": + if e.complexity.User.ID == nil { + break + } + + return e.complexity.User.ID(childComplexity), true + + case "User.mods": + if e.complexity.User.Mods == nil { + break + } + + return e.complexity.User.Mods(childComplexity), true + + case "User.roles": + if e.complexity.User.Roles == nil { + break + } + + return e.complexity.User.Roles(childComplexity), true + + case "User.username": + if e.complexity.User.Username == nil { + break + } + + return e.complexity.User.Username(childComplexity), true + + case "UserMod.mod": + if e.complexity.UserMod.Mod == nil { + break + } + + return e.complexity.UserMod.Mod(childComplexity), true + + case "UserMod.mod_id": + if e.complexity.UserMod.ModID == nil { + break + } + + return e.complexity.UserMod.ModID(childComplexity), true + + case "UserMod.role": + if e.complexity.UserMod.Role == nil { + break + } + + return e.complexity.UserMod.Role(childComplexity), true + + case "UserMod.user": + if e.complexity.UserMod.User == nil { + break + } + + return e.complexity.UserMod.User(childComplexity), true + + case "UserMod.user_id": + if e.complexity.UserMod.UserID == nil { + break + } + + return e.complexity.UserMod.UserID(childComplexity), true + + case "UserRoles.approveMods": + if e.complexity.UserRoles.ApproveMods == nil { + break + } + + return e.complexity.UserRoles.ApproveMods(childComplexity), true + + case "UserRoles.approveVersions": + if e.complexity.UserRoles.ApproveVersions == nil { + break + } + + return e.complexity.UserRoles.ApproveVersions(childComplexity), true + + case "UserRoles.deleteContent": + if e.complexity.UserRoles.DeleteContent == nil { + break + } + + return e.complexity.UserRoles.DeleteContent(childComplexity), true + + case "UserRoles.editAnyModCompatibility": + if e.complexity.UserRoles.EditAnyModCompatibility == nil { + break + } + + return e.complexity.UserRoles.EditAnyModCompatibility(childComplexity), true + + case "UserRoles.editBootstrapVersions": + if e.complexity.UserRoles.EditBootstrapVersions == nil { + break + } + + return e.complexity.UserRoles.EditBootstrapVersions(childComplexity), true + + case "UserRoles.editContent": + if e.complexity.UserRoles.EditContent == nil { + break + } + + return e.complexity.UserRoles.EditContent(childComplexity), true + + case "UserRoles.editSatisfactoryVersions": + if e.complexity.UserRoles.EditSatisfactoryVersions == nil { + break + } + + return e.complexity.UserRoles.EditSatisfactoryVersions(childComplexity), true + + case "UserRoles.editUsers": + if e.complexity.UserRoles.EditUsers == nil { + break + } + + return e.complexity.UserRoles.EditUsers(childComplexity), true + + case "UserSession.token": + if e.complexity.UserSession.Token == nil { + break + } + + return e.complexity.UserSession.Token(childComplexity), true + + case "Version.approved": + if e.complexity.Version.Approved == nil { + break + } + + return e.complexity.Version.Approved(childComplexity), true + + case "Version.changelog": + if e.complexity.Version.Changelog == nil { + break + } + + return e.complexity.Version.Changelog(childComplexity), true + + case "Version.created_at": + if e.complexity.Version.CreatedAt == nil { + break + } + + return e.complexity.Version.CreatedAt(childComplexity), true + + case "Version.dependencies": + if e.complexity.Version.Dependencies == nil { + break + } + + return e.complexity.Version.Dependencies(childComplexity), true + + case "Version.downloads": + if e.complexity.Version.Downloads == nil { + break + } + + return e.complexity.Version.Downloads(childComplexity), true + + case "Version.game_version": + if e.complexity.Version.GameVersion == nil { + break + } + + return e.complexity.Version.GameVersion(childComplexity), true + + case "Version.hash": + if e.complexity.Version.Hash == nil { + break + } + + return e.complexity.Version.Hash(childComplexity), true + + case "Version.id": + if e.complexity.Version.ID == nil { + break + } + + return e.complexity.Version.ID(childComplexity), true + + case "Version.link": + if e.complexity.Version.Link == nil { + break + } + + return e.complexity.Version.Link(childComplexity), true + + case "Version.metadata": + if e.complexity.Version.Metadata == nil { + break + } + + return e.complexity.Version.Metadata(childComplexity), true + + case "Version.mod": + if e.complexity.Version.Mod == nil { + break + } + + return e.complexity.Version.Mod(childComplexity), true + + case "Version.mod_id": + if e.complexity.Version.ModID == nil { + break + } + + return e.complexity.Version.ModID(childComplexity), true + + case "Version.required_on_remote": + if e.complexity.Version.RequiredOnRemote == nil { + break + } + + return e.complexity.Version.RequiredOnRemote(childComplexity), true + + case "Version.size": + if e.complexity.Version.Size == nil { + break + } + + return e.complexity.Version.Size(childComplexity), true + + case "Version.sml_version": + if e.complexity.Version.SmlVersion == nil { + break + } + + return e.complexity.Version.SmlVersion(childComplexity), true + + case "Version.stability": + if e.complexity.Version.Stability == nil { + break + } + + return e.complexity.Version.Stability(childComplexity), true + + case "Version.targets": + if e.complexity.Version.Targets == nil { + break + } + + return e.complexity.Version.Targets(childComplexity), true + + case "Version.updated_at": + if e.complexity.Version.UpdatedAt == nil { + break + } + + return e.complexity.Version.UpdatedAt(childComplexity), true + + case "Version.version": + if e.complexity.Version.Version == nil { + break + } + + return e.complexity.Version.Version(childComplexity), true + + case "Version.virustotal_results": + if e.complexity.Version.VirustotalResults == nil { + break + } + + return e.complexity.Version.VirustotalResults(childComplexity), true + + case "VersionDependency.condition": + if e.complexity.VersionDependency.Condition == nil { + break + } + + return e.complexity.VersionDependency.Condition(childComplexity), true + + case "VersionDependency.mod": + if e.complexity.VersionDependency.Mod == nil { + break + } + + return e.complexity.VersionDependency.Mod(childComplexity), true + + case "VersionDependency.mod_id": + if e.complexity.VersionDependency.ModID == nil { + break + } + + return e.complexity.VersionDependency.ModID(childComplexity), true + + case "VersionDependency.mod_reference": + if e.complexity.VersionDependency.ModReference == nil { + break + } + + return e.complexity.VersionDependency.ModReference(childComplexity), true + + case "VersionDependency.optional": + if e.complexity.VersionDependency.Optional == nil { + break + } + + return e.complexity.VersionDependency.Optional(childComplexity), true + + case "VersionDependency.version": + if e.complexity.VersionDependency.Version == nil { + break + } + + return e.complexity.VersionDependency.Version(childComplexity), true + + case "VersionDependency.version_id": + if e.complexity.VersionDependency.VersionID == nil { + break + } + + return e.complexity.VersionDependency.VersionID(childComplexity), true + + case "VersionTarget.hash": + if e.complexity.VersionTarget.Hash == nil { + break + } + + return e.complexity.VersionTarget.Hash(childComplexity), true + + case "VersionTarget.link": + if e.complexity.VersionTarget.Link == nil { + break + } + + return e.complexity.VersionTarget.Link(childComplexity), true + + case "VersionTarget.size": + if e.complexity.VersionTarget.Size == nil { + break + } + + return e.complexity.VersionTarget.Size(childComplexity), true + + case "VersionTarget.targetName": + if e.complexity.VersionTarget.TargetName == nil { + break + } + + return e.complexity.VersionTarget.TargetName(childComplexity), true + + case "VersionTarget.VersionID": + if e.complexity.VersionTarget.VersionID == nil { + break + } + + return e.complexity.VersionTarget.VersionID(childComplexity), true + + case "VirustotalResult.created_at": + if e.complexity.VirustotalResult.CreatedAt == nil { + break + } + + return e.complexity.VirustotalResult.CreatedAt(childComplexity), true + + case "VirustotalResult.file_name": + if e.complexity.VirustotalResult.FileName == nil { + break + } + + return e.complexity.VirustotalResult.FileName(childComplexity), true + + case "VirustotalResult.hash": + if e.complexity.VirustotalResult.Hash == nil { + break + } + + return e.complexity.VirustotalResult.Hash(childComplexity), true + + case "VirustotalResult.id": + if e.complexity.VirustotalResult.ID == nil { + break + } + + return e.complexity.VirustotalResult.ID(childComplexity), true + + case "VirustotalResult.safe": + if e.complexity.VirustotalResult.Safe == nil { + break + } + + return e.complexity.VirustotalResult.Safe(childComplexity), true + + case "VirustotalResult.updated_at": + if e.complexity.VirustotalResult.UpdatedAt == nil { + break + } + + return e.complexity.VirustotalResult.UpdatedAt(childComplexity), true + + case "VirustotalResult.version_id": + if e.complexity.VirustotalResult.VersionID == nil { + break + } + + return e.complexity.VirustotalResult.VersionID(childComplexity), true + + } + return 0, false +} + +func (e *executableSchema) Exec(ctx context.Context) graphql.ResponseHandler { + opCtx := graphql.GetOperationContext(ctx) + ec := executionContext{opCtx, e, 0, 0, make(chan graphql.DeferredResult)} + inputUnmarshalMap := graphql.BuildUnmarshalerMap( + ec.unmarshalInputAIUseDisclosureInput, + ec.unmarshalInputCompatibilityInfoInput, + ec.unmarshalInputCompatibilityInput, + ec.unmarshalInputControllerCompatibilityInput, + ec.unmarshalInputGuideFilter, + ec.unmarshalInputModFilter, + ec.unmarshalInputModVersionConstraint, + ec.unmarshalInputNewAnnouncement, + ec.unmarshalInputNewGuide, + ec.unmarshalInputNewMod, + ec.unmarshalInputNewSatisfactoryVersion, + ec.unmarshalInputNewTag, + ec.unmarshalInputNewVersion, + ec.unmarshalInputSMLVersionFilter, + ec.unmarshalInputTagFilter, + ec.unmarshalInputUpdateAnnouncement, + ec.unmarshalInputUpdateGuide, + ec.unmarshalInputUpdateMod, + ec.unmarshalInputUpdateSatisfactoryVersion, + ec.unmarshalInputUpdateUser, + ec.unmarshalInputUpdateUserMod, + ec.unmarshalInputUpdateVersion, + ec.unmarshalInputVersionFilter, + ) + first := true + + switch opCtx.Operation.Operation { + case ast.Query: + return func(ctx context.Context) *graphql.Response { + var response graphql.Response + var data graphql.Marshaler + if first { + first = false + ctx = graphql.WithUnmarshalerMap(ctx, inputUnmarshalMap) + data = ec._Query(ctx, opCtx.Operation.SelectionSet) + } else { + if atomic.LoadInt32(&ec.pendingDeferred) > 0 { + result := <-ec.deferredResults + atomic.AddInt32(&ec.pendingDeferred, -1) + data = result.Result + response.Path = result.Path + response.Label = result.Label + response.Errors = result.Errors + } else { + return nil + } + } + var buf bytes.Buffer + data.MarshalGQL(&buf) + response.Data = buf.Bytes() + if atomic.LoadInt32(&ec.deferred) > 0 { + hasNext := atomic.LoadInt32(&ec.pendingDeferred) > 0 + response.HasNext = &hasNext + } + + return &response + } + case ast.Mutation: + return func(ctx context.Context) *graphql.Response { + if !first { + return nil + } + first = false + ctx = graphql.WithUnmarshalerMap(ctx, inputUnmarshalMap) + data := ec._Mutation(ctx, opCtx.Operation.SelectionSet) + var buf bytes.Buffer + data.MarshalGQL(&buf) + + return &graphql.Response{ + Data: buf.Bytes(), + } + } + + default: + return graphql.OneShot(graphql.ErrorResponse(ctx, "unsupported GraphQL operation")) + } +} + +type executionContext struct { + *graphql.OperationContext + *executableSchema + deferred int32 + pendingDeferred int32 + deferredResults chan graphql.DeferredResult +} + +func (ec *executionContext) processDeferredGroup(dg graphql.DeferredGroup) { + atomic.AddInt32(&ec.pendingDeferred, 1) + go func() { + ctx := graphql.WithFreshResponseContext(dg.Context) + dg.FieldSet.Dispatch(ctx) + ds := graphql.DeferredResult{ + Path: dg.Path, + Label: dg.Label, + Result: dg.FieldSet, + Errors: graphql.GetErrors(ctx), + } + // null fields should bubble up + if dg.FieldSet.Invalids > 0 { + ds.Result = graphql.Null + } + ec.deferredResults <- ds + }() +} + +func (ec *executionContext) introspectSchema() (*introspection.Schema, error) { + if ec.DisableIntrospection { + return nil, errors.New("introspection disabled") + } + return introspection.WrapSchema(ec.Schema()), nil +} + +func (ec *executionContext) introspectType(name string) (*introspection.Type, error) { + if ec.DisableIntrospection { + return nil, errors.New("introspection disabled") + } + return introspection.WrapTypeFromDef(ec.Schema(), ec.Schema().Types[name]), nil +} + +var sources = []*ast.Source{ + {Name: "../schemas/announcements.graphql", Input: `### Types + +scalar AnnouncementID + +enum AnnouncementImportance { + Fix + Info + Warning + Alert +} + +type Announcement { + id: AnnouncementID! + message: String! + importance: AnnouncementImportance! +} + +### Inputs + +input NewAnnouncement { + message: String! + importance: AnnouncementImportance! +} + +input UpdateAnnouncement { + message: String + importance: AnnouncementImportance +} + +### Queries + +extend type Query { + getAnnouncement(announcementId: AnnouncementID!): Announcement + getAnnouncements: [Announcement!]! + getAnnouncementsByImportance(importance: AnnouncementImportance!): [Announcement!]! +} + +### Mutations + +extend type Mutation { + createAnnouncement(announcement: NewAnnouncement!): Announcement @canEditAnnouncements @isLoggedIn + updateAnnouncement(announcementId: AnnouncementID!, announcement: UpdateAnnouncement!): Announcement! @canEditAnnouncements @isLoggedIn + deleteAnnouncement(announcementId: AnnouncementID!): Boolean! @canEditAnnouncements @isLoggedIn +}`, BuiltIn: false}, + {Name: "../schemas/base.graphql", Input: `scalar Upload + +scalar Date + +enum Order { + asc + desc +} + +type OAuthOptions { + github: String! + google: String! + facebook: String! +} + +type Query { + getOAuthOptions(callback_url: String!): OAuthOptions! +} + +type Mutation { + discourseSSO(sso: String!, sig: String!): String @isLoggedIn +} +`, BuiltIn: false}, + {Name: "../schemas/compatibility.graphql", Input: `enum CompatibilityState { + Works + Damaged + Broken +} + +type Compatibility { + state: CompatibilityState! + note: String +} + +input CompatibilityInput { + state: CompatibilityState! + note: String +} + +enum ControllerCompatibilityState { + Untested + Unsupported + Partial + Implicit + Supported +} + +type ControllerCompatibility { + state: ControllerCompatibilityState! + note: String +} + +input ControllerCompatibilityInput { + state: ControllerCompatibilityState! + note: String +} + +type CompatibilityInfo { + EA: Compatibility! + EXP: Compatibility! + Controller: ControllerCompatibility! +} + +input CompatibilityInfoInput { + EA: CompatibilityInput! + EXP: CompatibilityInput! + Controller: ControllerCompatibilityInput! +} + +extend type Mutation { + updateModCompatibility(modId: ModID!, compatibility: CompatibilityInfoInput!): Boolean! @canEditModCompatibility(field: "modId") @isLoggedIn + updateMultipleModCompatibilities(modIDs: [ModID!]!, compatibility: CompatibilityInfoInput!): Boolean! @canEditModCompatibility @isLoggedIn +} +`, BuiltIn: false}, + {Name: "../schemas/directives.graphql", Input: `directive @isLoggedIn on FIELD_DEFINITION | INPUT_FIELD_DEFINITION +directive @isNotLoggedIn on FIELD_DEFINITION | INPUT_FIELD_DEFINITION + +directive @canEditMod(field: String!) on FIELD_DEFINITION +directive @canEditVersion(field: String!) on FIELD_DEFINITION +directive @canEditUser(field: String!, object: Boolean!) on FIELD_DEFINITION +directive @canEditGuide(field: String!) on FIELD_DEFINITION +directive @canEditModCompatibility(field: String) on FIELD_DEFINITION + +directive @canApproveMods on FIELD_DEFINITION | INPUT_FIELD_DEFINITION +directive @canApproveVersions on FIELD_DEFINITION | INPUT_FIELD_DEFINITION +directive @canEditUsers on FIELD_DEFINITION | INPUT_FIELD_DEFINITION +directive @canEditSatisfactoryVersions on FIELD_DEFINITION | INPUT_FIELD_DEFINITION +directive @canEditAnnouncements on FIELD_DEFINITION | INPUT_FIELD_DEFINITION +directive @canManageTags on FIELD_DEFINITION | INPUT_FIELD_DEFINITION +`, BuiltIn: false}, + {Name: "../schemas/guide.graphql", Input: `### Types + +scalar GuideID + +enum GuideFields { + name + created_at + updated_at + views +} + +type Guide { + id: GuideID! + name: String! + short_description: String! + guide: String! + views: Int! + user_id: UserID! + updated_at: Date! + created_at: Date! + tags: [Tag!]! + + user: User! +} + +type GetGuides { + guides: [Guide!]! + count: Int! +} + +### Inputs + +input NewGuide { + name: String! + short_description: String! + guide: String! + tagIDs: [TagID!] +} + +input UpdateGuide { + name: String + short_description: String + guide: String + tagIDs: [TagID!] +} + +input GuideFilter { + limit: Int + offset: Int + order_by: GuideFields + order: Order + search: String + ids: [String!] + tagIDs: [TagID!] +} + +### Queries + +extend type Query { + getGuide(guideId: GuideID!): Guide + getGuides(filter: GuideFilter): GetGuides! +} + +### Mutations + +extend type Mutation { + createGuide(guide: NewGuide!): Guide @isLoggedIn + updateGuide(guideId: GuideID!, guide: UpdateGuide!): Guide! @canEditGuide(field: "guideId") @isLoggedIn + deleteGuide(guideId: GuideID!): Boolean! @canEditGuide(field: "guideId") @isLoggedIn +}`, BuiltIn: false}, + {Name: "../schemas/mod.graphql", Input: `### Types + +scalar ModID +scalar ModReference + +enum ModFields { + created_at + updated_at + name + views + downloads + hotness + popularity + last_version_date + search +} + +enum AIUseDisclosureType { + no_ai_usage + ai_usage + runtime_ai_usage +} + +type Mod { + id: ModID! + name: String! + short_description: String! + full_description: String + logo: String + logo_thumbhash: String + source_url: String + creator_id: UserID! + approved: Boolean! + views: Int! + downloads: Int! + hotness: Int! + popularity: Int! + updated_at: Date! + created_at: Date! + last_version_date: Date + mod_reference: ModReference! + hidden: Boolean! + tags: [Tag!] + compatibility: CompatibilityInfo + toggle_network_use: Boolean! + network_use_disclosure: String + ai_use_disclosure: AIUseDisclosureInfo + toggle_explicit_content: Boolean! + + authors: [UserMod!]! + version(version: String!): Version + versions(filter: VersionFilter): [Version!]! + latestVersions: LatestVersions! +} + +type GetMods { + mods: [Mod!]! + count: Int! +} + +type GetMyMods { + mods: [Mod!]! + count: Int! +} + +type ModVersion { + id: ModID! + mod_reference: ModReference! + versions: [Version!]! +} + +type AIUseDisclosureInfo { + disclosure_type: AIUseDisclosureType! + disclosure_string: String +} + +### Inputs + +input ModFilter { + limit: Int + offset: Int + order_by: ModFields + order: Order + search: String + ids: [String!] + references: [String!] + hidden: Boolean + tagIDs: [TagID!] +} + +input NewMod { + name: String! + short_description: String! + full_description: String + logo: Upload + source_url: String + mod_reference: ModReference! + hidden: Boolean + tagIDs: [TagID!] + toggle_network_use: Boolean + toggle_explicit_content: Boolean + ai_use_disclosure: AIUseDisclosureInput +} + +input UpdateMod { + name: String + short_description: String + full_description: String + logo: Upload + source_url: String + mod_reference: ModReference + authors: [UpdateUserMod!] + hidden: Boolean + tagIDs: [TagID!] + compatibility: CompatibilityInfoInput + toggle_network_use: Boolean + network_use_disclosure: String + ai_use_disclosure: AIUseDisclosureInput + toggle_explicit_content: Boolean +} + +input UpdateUserMod { + user_id: UserID! + role: String! +} + +input ModVersionConstraint { + modIdOrReference: String! + version: String! +} + +input AIUseDisclosureInput { + disclosure_type: AIUseDisclosureType! + disclosure_string: String +} + +### Queries + +extend type Query { + getMod(modId: ModID!): Mod + getModByReference(modReference: ModReference!): Mod + getModByIdOrReference(modIdOrReference: String!): Mod + getMods(filter: ModFilter): GetMods! + getUnapprovedMods(filter: ModFilter): GetMods! @canApproveMods @isLoggedIn + + getMyMods(filter: ModFilter): GetMyMods! @isLoggedIn + getMyUnapprovedMods(filter: ModFilter): GetMyMods! @isLoggedIn + + resolveModVersions(filter: [ModVersionConstraint!]!): [ModVersion!]! + + getModAssetList(modReference: ModID!): [String!]! +} + +### Mutations + +extend type Mutation { + createMod(mod: NewMod!): Mod @isLoggedIn + updateMod(modId: ModID!, mod: UpdateMod!): Mod! @canEditMod(field: "modId") @isLoggedIn + deleteMod(modId: ModID!): Boolean! @canEditMod(field: "modId") @isLoggedIn + + approveMod(modId: ModID!): Boolean! @canApproveMods @isLoggedIn + denyMod(modId: ModID!): Boolean! @canApproveMods @isLoggedIn +}`, BuiltIn: false}, + {Name: "../schemas/satisfactory_version.graphql", Input: `### Types + +scalar SatisfactoryVersionID + +type SatisfactoryVersion { + id: SatisfactoryVersionID! + version: Int! + engine_version: String! +} + +### Inputs + +input NewSatisfactoryVersion { + version: Int! + engine_version: String! +} + +input UpdateSatisfactoryVersion { + version: Int + engine_version: String +} + +### Queries + +extend type Query { + getSatisfactoryVersions: [SatisfactoryVersion!]! + getSatisfactoryVersion(id: SatisfactoryVersionID!): SatisfactoryVersion +} + +### Mutations + +extend type Mutation { + createSatisfactoryVersion(input: NewSatisfactoryVersion!): SatisfactoryVersion! @isLoggedIn @canEditSatisfactoryVersions + updateSatisfactoryVersion(id: SatisfactoryVersionID!, input: UpdateSatisfactoryVersion!): SatisfactoryVersion! @isLoggedIn @canEditSatisfactoryVersions + deleteSatisfactoryVersion(id: SatisfactoryVersionID!): Boolean! @isLoggedIn @canEditSatisfactoryVersions +} +`, BuiltIn: false}, + {Name: "../schemas/sml_version.graphql", Input: `### Types + +scalar SMLVersionID + +type SMLVersion { + id: SMLVersionID! + version: String! + satisfactory_version: Int! + stability: VersionStabilities! + link: String! + targets: [SMLVersionTarget]! + changelog: String! + date: Date! + bootstrap_version: String + engine_version: String! + + updated_at: Date! + created_at: Date! +} + +type SMLVersionTarget { + VersionID: SMLVersionID! + targetName: TargetName! + link: String! +} + +type GetSMLVersions { + sml_versions: [SMLVersion!]! + count: Int! +} + +enum SMLVersionFields { + name + created_at + updated_at + satisfactory_version + date +} + +### Inputs + +input SMLVersionFilter { + limit: Int + offset: Int + order_by: SMLVersionFields + order: Order + search: String + ids: [String!] +} + +### Queries + +extend type Query { + getSMLVersion(smlVersionID: SMLVersionID!): SMLVersion @deprecated(reason: "SML is now a mod") + getSMLVersions(filter: SMLVersionFilter): GetSMLVersions! @deprecated(reason: "SML is now a mod") +} + +### Mutations + +`, BuiltIn: false}, + {Name: "../schemas/tags.graphql", Input: `scalar TagID +scalar TagName + +type Tag { + id: TagID! + name: TagName! + description: String! +} + +input NewTag { + name: TagName! + description: String! +} + +input TagFilter { + limit: Int + offset: Int + order: Order + search: String + ids: [TagID!] +} + +extend type Query { + getTag(tagID: TagID!): Tag + getTags(filter: TagFilter): [Tag!]! +} + +### Mutations + +extend type Mutation { + createTag(tagName: TagName!, description: String!): Tag @canManageTags @isLoggedIn + createMultipleTags(tagNames: [NewTag!]!): [Tag!]! @canManageTags @isLoggedIn + updateTag(tagID: TagID!, NewName: TagName!, description: String!): Tag! @canManageTags @isLoggedIn + deleteTag(tagID: TagID!): Boolean! @canManageTags @isLoggedIn +}`, BuiltIn: false}, + {Name: "../schemas/user.graphql", Input: `### Types + +scalar UserID + +type UserRoles { + approveMods: Boolean! + approveVersions: Boolean! + deleteContent: Boolean! + editContent: Boolean! + editUsers: Boolean! + editSatisfactoryVersions: Boolean! + editBootstrapVersions: Boolean! + editAnyModCompatibility: Boolean! +} + +type Group { + id: String! + name: String! +} + +type User { + id: UserID! + email: String @canEditUser(field: "ID", object: true) @isLoggedIn + username: String! + avatar: String + avatar_thumbhash: String + created_at: Date! + + github_id: String @canEditUser(field: "ID", object: true) @isLoggedIn + google_id: String @canEditUser(field: "ID", object: true) @isLoggedIn + facebook_id: String @canEditUser(field: "ID", object: true) @isLoggedIn + + roles: UserRoles! @canEditUser(field: "ID", object: true) @isLoggedIn + groups: [Group!]! @canEditUser(field: "ID", object: true) @isLoggedIn + + mods: [UserMod!]! + guides: [Guide!]! +} + +type UserSession { + token: String! +} + +type UserMod { + user_id: UserID! + mod_id: ModID! + role: String! + + user: User! + mod: Mod! +} + +### Inputs + +input UpdateUser { + avatar: Upload + groups: [String!] @canEditUsers @isLoggedIn + username: String +} + +### Queries + +extend type Query { + getMe: User @isLoggedIn + getUser(userId: UserID!): User + getUsers(userIds: [UserID!]!): [User]! +} + +### Mutations + +extend type Mutation { + updateUser(userId: UserID!, input: UpdateUser!): User! @canEditUser(field: "userId", object: false) @isLoggedIn + logout: Boolean! @isLoggedIn + + oAuthGithub(code: String!, state: String!): UserSession @isNotLoggedIn + oAuthGoogle(code: String!, state: String!): UserSession @isNotLoggedIn + oAuthFacebook(code: String!, state: String!): UserSession @isNotLoggedIn +}`, BuiltIn: false}, + {Name: "../schemas/version.graphql", Input: `### Types + +scalar VersionID + +type LatestVersions { + alpha: Version + beta: Version + release: Version +} + +enum VersionFields { + created_at + updated_at + downloads +} + +enum VersionStabilities { + alpha + beta + release +} + +type Version { + id: VersionID! + mod_id: ModID! + version: String! + sml_version: String! + game_version: String! + required_on_remote: Boolean! + changelog: String! + downloads: Int! + stability: VersionStabilities! + approved: Boolean! + updated_at: Date! + created_at: Date! + link: String! + targets: [VersionTarget]! + metadata: String + size: Int + hash: String + + mod: Mod! + dependencies: [VersionDependency!]! + virustotal_results: [VirustotalResult!]! +} + +type VersionTarget { + VersionID: VersionID! + targetName: TargetName! + link: String! + size: Int + hash: String +} + +type CreateVersionResponse { + auto_approved: Boolean! + version: Version +} + +type GetVersions { + versions: [Version!]! + count: Int! +} + +type GetMyVersions { + versions: [Version!]! + count: Int! +} + +type VersionDependency { + version_id: VersionID! + mod_id: ModID! @deprecated(reason: "soon will return actual mod id instead of reference. use mod_reference field instead!") + condition: String! + optional: Boolean! + mod_reference: String! + + mod: Mod + version: Version +} + +### Inputs + +input VersionFilter { + limit: Int + offset: Int + order_by: VersionFields + order: Order + search: String + ids: [String!] +} + +input NewVersion { + changelog: String! + stability: VersionStabilities! +} + +input UpdateVersion { + changelog: String + stability: VersionStabilities +} + +### Queries + +extend type Query { + getVersion(versionId: VersionID!): Version + getVersions(filter: VersionFilter): GetVersions! + getUnapprovedVersions(filter: VersionFilter): GetVersions! @canApproveVersions @isLoggedIn + + checkVersionUploadState(modId: ModID!, versionId: VersionID!): CreateVersionResponse @canEditMod(field: "modId") @isLoggedIn + + getMyVersions(filter: VersionFilter): GetMyVersions! @isLoggedIn + getMyUnapprovedVersions(filter: VersionFilter): GetMyVersions! @isLoggedIn +} + +### Mutations + +extend type Mutation { + createVersion(modId: ModID!): VersionID! @canEditMod(field: "modId") @isLoggedIn + uploadVersionPart(modId: ModID!, versionId: VersionID!, part: Int!, file: Upload!): Boolean! @canEditMod(field: "modId") @isLoggedIn + finalizeCreateVersion(modId: ModID!, versionId: VersionID!, version: NewVersion!): Boolean! @canEditMod(field: "modId") @isLoggedIn + + updateVersion(versionId: VersionID!, version: UpdateVersion!): Version! @canEditVersion(field: "versionId") @isLoggedIn + deleteVersion(versionId: VersionID!): Boolean! @canEditVersion(field: "versionId") @isLoggedIn + + approveVersion(versionId: VersionID!): Boolean! @canApproveVersions @isLoggedIn + denyVersion(versionId: VersionID!): Boolean! @canApproveVersions @isLoggedIn +}`, BuiltIn: false}, + {Name: "../schemas/version_target.graphql", Input: `enum TargetName { + Windows, + WindowsServer, + LinuxServer +}`, BuiltIn: false}, + {Name: "../schemas/virustotal_results.graphql", Input: `### Types + +scalar VirustotalHash +scalar VirustotalID + +type VirustotalResult { + id: VirustotalID + hash: VirustotalHash! + safe: Boolean! + file_name: String! + version_id: String! + created_at: Date! + updated_at: Date +} +`, BuiltIn: false}, +} +var parsedSchema = gqlparser.MustLoadSchema(sources...) + +// endregion ************************** generated!.gotpl ************************** + +// region ***************************** args.gotpl ***************************** + +func (ec *executionContext) dir_canEditGuide_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.dir_canEditGuide_argsField(ctx, rawArgs) + if err != nil { + return nil, err + } + args["field"] = arg0 + return args, nil +} +func (ec *executionContext) dir_canEditGuide_argsField( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["field"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("field")) + if tmp, ok := rawArgs["field"]; ok { + return ec.unmarshalNString2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) dir_canEditModCompatibility_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.dir_canEditModCompatibility_argsField(ctx, rawArgs) + if err != nil { + return nil, err + } + args["field"] = arg0 + return args, nil +} +func (ec *executionContext) dir_canEditModCompatibility_argsField( + ctx context.Context, + rawArgs map[string]any, +) (*string, error) { + if _, ok := rawArgs["field"]; !ok { + var zeroVal *string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("field")) + if tmp, ok := rawArgs["field"]; ok { + return ec.unmarshalOString2ᚖstring(ctx, tmp) + } + + var zeroVal *string + return zeroVal, nil +} + +func (ec *executionContext) dir_canEditMod_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.dir_canEditMod_argsField(ctx, rawArgs) + if err != nil { + return nil, err + } + args["field"] = arg0 + return args, nil +} +func (ec *executionContext) dir_canEditMod_argsField( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["field"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("field")) + if tmp, ok := rawArgs["field"]; ok { + return ec.unmarshalNString2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) dir_canEditUser_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.dir_canEditUser_argsField(ctx, rawArgs) + if err != nil { + return nil, err + } + args["field"] = arg0 + arg1, err := ec.dir_canEditUser_argsObject(ctx, rawArgs) + if err != nil { + return nil, err + } + args["object"] = arg1 + return args, nil +} +func (ec *executionContext) dir_canEditUser_argsField( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["field"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("field")) + if tmp, ok := rawArgs["field"]; ok { + return ec.unmarshalNString2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) dir_canEditUser_argsObject( + ctx context.Context, + rawArgs map[string]any, +) (bool, error) { + if _, ok := rawArgs["object"]; !ok { + var zeroVal bool + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("object")) + if tmp, ok := rawArgs["object"]; ok { + return ec.unmarshalNBoolean2bool(ctx, tmp) + } + + var zeroVal bool + return zeroVal, nil +} + +func (ec *executionContext) dir_canEditVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.dir_canEditVersion_argsField(ctx, rawArgs) + if err != nil { + return nil, err + } + args["field"] = arg0 + return args, nil +} +func (ec *executionContext) dir_canEditVersion_argsField( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["field"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("field")) + if tmp, ok := rawArgs["field"]; ok { + return ec.unmarshalNString2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mod_version_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Mod_version_argsVersion(ctx, rawArgs) + if err != nil { + return nil, err + } + args["version"] = arg0 + return args, nil +} +func (ec *executionContext) field_Mod_version_argsVersion( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["version"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("version")) + if tmp, ok := rawArgs["version"]; ok { + return ec.unmarshalNString2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mod_versions_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Mod_versions_argsFilter(ctx, rawArgs) + if err != nil { + return nil, err + } + args["filter"] = arg0 + return args, nil +} +func (ec *executionContext) field_Mod_versions_argsFilter( + ctx context.Context, + rawArgs map[string]any, +) (map[string]any, error) { + if _, ok := rawArgs["filter"]; !ok { + var zeroVal map[string]any + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) + if tmp, ok := rawArgs["filter"]; ok { + return ec.unmarshalOVersionFilter2map(ctx, tmp) + } + + var zeroVal map[string]any + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_approveMod_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Mutation_approveMod_argsModID(ctx, rawArgs) + if err != nil { + return nil, err + } + args["modId"] = arg0 + return args, nil +} +func (ec *executionContext) field_Mutation_approveMod_argsModID( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["modId"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) + if tmp, ok := rawArgs["modId"]; ok { + return ec.unmarshalNModID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_approveVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Mutation_approveVersion_argsVersionID(ctx, rawArgs) + if err != nil { + return nil, err + } + args["versionId"] = arg0 + return args, nil +} +func (ec *executionContext) field_Mutation_approveVersion_argsVersionID( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["versionId"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) + if tmp, ok := rawArgs["versionId"]; ok { + return ec.unmarshalNVersionID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_createAnnouncement_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Mutation_createAnnouncement_argsAnnouncement(ctx, rawArgs) + if err != nil { + return nil, err + } + args["announcement"] = arg0 + return args, nil +} +func (ec *executionContext) field_Mutation_createAnnouncement_argsAnnouncement( + ctx context.Context, + rawArgs map[string]any, +) (NewAnnouncement, error) { + if _, ok := rawArgs["announcement"]; !ok { + var zeroVal NewAnnouncement + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("announcement")) + if tmp, ok := rawArgs["announcement"]; ok { + return ec.unmarshalNNewAnnouncement2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewAnnouncement(ctx, tmp) + } + + var zeroVal NewAnnouncement + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_createGuide_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Mutation_createGuide_argsGuide(ctx, rawArgs) + if err != nil { + return nil, err + } + args["guide"] = arg0 + return args, nil +} +func (ec *executionContext) field_Mutation_createGuide_argsGuide( + ctx context.Context, + rawArgs map[string]any, +) (NewGuide, error) { + if _, ok := rawArgs["guide"]; !ok { + var zeroVal NewGuide + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("guide")) + if tmp, ok := rawArgs["guide"]; ok { + return ec.unmarshalNNewGuide2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewGuide(ctx, tmp) + } + + var zeroVal NewGuide + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_createMod_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Mutation_createMod_argsMod(ctx, rawArgs) + if err != nil { + return nil, err + } + args["mod"] = arg0 + return args, nil +} +func (ec *executionContext) field_Mutation_createMod_argsMod( + ctx context.Context, + rawArgs map[string]any, +) (NewMod, error) { + if _, ok := rawArgs["mod"]; !ok { + var zeroVal NewMod + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("mod")) + if tmp, ok := rawArgs["mod"]; ok { + return ec.unmarshalNNewMod2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewMod(ctx, tmp) + } + + var zeroVal NewMod + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_createMultipleTags_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Mutation_createMultipleTags_argsTagNames(ctx, rawArgs) + if err != nil { + return nil, err + } + args["tagNames"] = arg0 + return args, nil +} +func (ec *executionContext) field_Mutation_createMultipleTags_argsTagNames( + ctx context.Context, + rawArgs map[string]any, +) ([]*NewTag, error) { + if _, ok := rawArgs["tagNames"]; !ok { + var zeroVal []*NewTag + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("tagNames")) + if tmp, ok := rawArgs["tagNames"]; ok { + return ec.unmarshalNNewTag2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewTagᚄ(ctx, tmp) + } + + var zeroVal []*NewTag + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_createSatisfactoryVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Mutation_createSatisfactoryVersion_argsInput(ctx, rawArgs) + if err != nil { + return nil, err + } + args["input"] = arg0 + return args, nil +} +func (ec *executionContext) field_Mutation_createSatisfactoryVersion_argsInput( + ctx context.Context, + rawArgs map[string]any, +) (NewSatisfactoryVersion, error) { + if _, ok := rawArgs["input"]; !ok { + var zeroVal NewSatisfactoryVersion + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("input")) + if tmp, ok := rawArgs["input"]; ok { + return ec.unmarshalNNewSatisfactoryVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewSatisfactoryVersion(ctx, tmp) + } + + var zeroVal NewSatisfactoryVersion + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_createTag_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Mutation_createTag_argsTagName(ctx, rawArgs) + if err != nil { + return nil, err + } + args["tagName"] = arg0 + arg1, err := ec.field_Mutation_createTag_argsDescription(ctx, rawArgs) + if err != nil { + return nil, err + } + args["description"] = arg1 + return args, nil +} +func (ec *executionContext) field_Mutation_createTag_argsTagName( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["tagName"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("tagName")) + if tmp, ok := rawArgs["tagName"]; ok { + return ec.unmarshalNTagName2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_createTag_argsDescription( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["description"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("description")) + if tmp, ok := rawArgs["description"]; ok { + return ec.unmarshalNString2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_createVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Mutation_createVersion_argsModID(ctx, rawArgs) + if err != nil { + return nil, err + } + args["modId"] = arg0 + return args, nil +} +func (ec *executionContext) field_Mutation_createVersion_argsModID( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["modId"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) + if tmp, ok := rawArgs["modId"]; ok { + return ec.unmarshalNModID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_deleteAnnouncement_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Mutation_deleteAnnouncement_argsAnnouncementID(ctx, rawArgs) + if err != nil { + return nil, err + } + args["announcementId"] = arg0 + return args, nil +} +func (ec *executionContext) field_Mutation_deleteAnnouncement_argsAnnouncementID( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["announcementId"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("announcementId")) + if tmp, ok := rawArgs["announcementId"]; ok { + return ec.unmarshalNAnnouncementID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_deleteGuide_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Mutation_deleteGuide_argsGuideID(ctx, rawArgs) + if err != nil { + return nil, err + } + args["guideId"] = arg0 + return args, nil +} +func (ec *executionContext) field_Mutation_deleteGuide_argsGuideID( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["guideId"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("guideId")) + if tmp, ok := rawArgs["guideId"]; ok { + return ec.unmarshalNGuideID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_deleteMod_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Mutation_deleteMod_argsModID(ctx, rawArgs) + if err != nil { + return nil, err + } + args["modId"] = arg0 + return args, nil +} +func (ec *executionContext) field_Mutation_deleteMod_argsModID( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["modId"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) + if tmp, ok := rawArgs["modId"]; ok { + return ec.unmarshalNModID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_deleteSatisfactoryVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Mutation_deleteSatisfactoryVersion_argsID(ctx, rawArgs) + if err != nil { + return nil, err + } + args["id"] = arg0 + return args, nil +} +func (ec *executionContext) field_Mutation_deleteSatisfactoryVersion_argsID( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["id"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("id")) + if tmp, ok := rawArgs["id"]; ok { + return ec.unmarshalNSatisfactoryVersionID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_deleteTag_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Mutation_deleteTag_argsTagID(ctx, rawArgs) + if err != nil { + return nil, err + } + args["tagID"] = arg0 + return args, nil +} +func (ec *executionContext) field_Mutation_deleteTag_argsTagID( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["tagID"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("tagID")) + if tmp, ok := rawArgs["tagID"]; ok { + return ec.unmarshalNTagID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_deleteVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Mutation_deleteVersion_argsVersionID(ctx, rawArgs) + if err != nil { + return nil, err + } + args["versionId"] = arg0 + return args, nil +} +func (ec *executionContext) field_Mutation_deleteVersion_argsVersionID( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["versionId"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) + if tmp, ok := rawArgs["versionId"]; ok { + return ec.unmarshalNVersionID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_denyMod_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Mutation_denyMod_argsModID(ctx, rawArgs) + if err != nil { + return nil, err + } + args["modId"] = arg0 + return args, nil +} +func (ec *executionContext) field_Mutation_denyMod_argsModID( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["modId"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) + if tmp, ok := rawArgs["modId"]; ok { + return ec.unmarshalNModID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_denyVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Mutation_denyVersion_argsVersionID(ctx, rawArgs) + if err != nil { + return nil, err + } + args["versionId"] = arg0 + return args, nil +} +func (ec *executionContext) field_Mutation_denyVersion_argsVersionID( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["versionId"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) + if tmp, ok := rawArgs["versionId"]; ok { + return ec.unmarshalNVersionID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_discourseSSO_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Mutation_discourseSSO_argsSso(ctx, rawArgs) + if err != nil { + return nil, err + } + args["sso"] = arg0 + arg1, err := ec.field_Mutation_discourseSSO_argsSig(ctx, rawArgs) + if err != nil { + return nil, err + } + args["sig"] = arg1 + return args, nil +} +func (ec *executionContext) field_Mutation_discourseSSO_argsSso( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["sso"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("sso")) + if tmp, ok := rawArgs["sso"]; ok { + return ec.unmarshalNString2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_discourseSSO_argsSig( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["sig"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("sig")) + if tmp, ok := rawArgs["sig"]; ok { + return ec.unmarshalNString2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_finalizeCreateVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Mutation_finalizeCreateVersion_argsModID(ctx, rawArgs) + if err != nil { + return nil, err + } + args["modId"] = arg0 + arg1, err := ec.field_Mutation_finalizeCreateVersion_argsVersionID(ctx, rawArgs) + if err != nil { + return nil, err + } + args["versionId"] = arg1 + arg2, err := ec.field_Mutation_finalizeCreateVersion_argsVersion(ctx, rawArgs) + if err != nil { + return nil, err + } + args["version"] = arg2 + return args, nil +} +func (ec *executionContext) field_Mutation_finalizeCreateVersion_argsModID( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["modId"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) + if tmp, ok := rawArgs["modId"]; ok { + return ec.unmarshalNModID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_finalizeCreateVersion_argsVersionID( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["versionId"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) + if tmp, ok := rawArgs["versionId"]; ok { + return ec.unmarshalNVersionID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_finalizeCreateVersion_argsVersion( + ctx context.Context, + rawArgs map[string]any, +) (NewVersion, error) { + if _, ok := rawArgs["version"]; !ok { + var zeroVal NewVersion + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("version")) + if tmp, ok := rawArgs["version"]; ok { + return ec.unmarshalNNewVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewVersion(ctx, tmp) + } + + var zeroVal NewVersion + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_oAuthFacebook_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Mutation_oAuthFacebook_argsCode(ctx, rawArgs) + if err != nil { + return nil, err + } + args["code"] = arg0 + arg1, err := ec.field_Mutation_oAuthFacebook_argsState(ctx, rawArgs) + if err != nil { + return nil, err + } + args["state"] = arg1 + return args, nil +} +func (ec *executionContext) field_Mutation_oAuthFacebook_argsCode( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["code"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("code")) + if tmp, ok := rawArgs["code"]; ok { + return ec.unmarshalNString2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_oAuthFacebook_argsState( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["state"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("state")) + if tmp, ok := rawArgs["state"]; ok { + return ec.unmarshalNString2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_oAuthGithub_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Mutation_oAuthGithub_argsCode(ctx, rawArgs) + if err != nil { + return nil, err + } + args["code"] = arg0 + arg1, err := ec.field_Mutation_oAuthGithub_argsState(ctx, rawArgs) + if err != nil { + return nil, err + } + args["state"] = arg1 + return args, nil +} +func (ec *executionContext) field_Mutation_oAuthGithub_argsCode( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["code"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("code")) + if tmp, ok := rawArgs["code"]; ok { + return ec.unmarshalNString2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_oAuthGithub_argsState( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["state"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("state")) + if tmp, ok := rawArgs["state"]; ok { + return ec.unmarshalNString2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_oAuthGoogle_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Mutation_oAuthGoogle_argsCode(ctx, rawArgs) + if err != nil { + return nil, err + } + args["code"] = arg0 + arg1, err := ec.field_Mutation_oAuthGoogle_argsState(ctx, rawArgs) + if err != nil { + return nil, err + } + args["state"] = arg1 + return args, nil +} +func (ec *executionContext) field_Mutation_oAuthGoogle_argsCode( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["code"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("code")) + if tmp, ok := rawArgs["code"]; ok { + return ec.unmarshalNString2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_oAuthGoogle_argsState( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["state"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("state")) + if tmp, ok := rawArgs["state"]; ok { + return ec.unmarshalNString2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_updateAnnouncement_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Mutation_updateAnnouncement_argsAnnouncementID(ctx, rawArgs) + if err != nil { + return nil, err + } + args["announcementId"] = arg0 + arg1, err := ec.field_Mutation_updateAnnouncement_argsAnnouncement(ctx, rawArgs) + if err != nil { + return nil, err + } + args["announcement"] = arg1 + return args, nil +} +func (ec *executionContext) field_Mutation_updateAnnouncement_argsAnnouncementID( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["announcementId"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("announcementId")) + if tmp, ok := rawArgs["announcementId"]; ok { + return ec.unmarshalNAnnouncementID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_updateAnnouncement_argsAnnouncement( + ctx context.Context, + rawArgs map[string]any, +) (UpdateAnnouncement, error) { + if _, ok := rawArgs["announcement"]; !ok { + var zeroVal UpdateAnnouncement + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("announcement")) + if tmp, ok := rawArgs["announcement"]; ok { + return ec.unmarshalNUpdateAnnouncement2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateAnnouncement(ctx, tmp) + } + + var zeroVal UpdateAnnouncement + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_updateGuide_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Mutation_updateGuide_argsGuideID(ctx, rawArgs) + if err != nil { + return nil, err + } + args["guideId"] = arg0 + arg1, err := ec.field_Mutation_updateGuide_argsGuide(ctx, rawArgs) + if err != nil { + return nil, err + } + args["guide"] = arg1 + return args, nil +} +func (ec *executionContext) field_Mutation_updateGuide_argsGuideID( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["guideId"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("guideId")) + if tmp, ok := rawArgs["guideId"]; ok { + return ec.unmarshalNGuideID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_updateGuide_argsGuide( + ctx context.Context, + rawArgs map[string]any, +) (UpdateGuide, error) { + if _, ok := rawArgs["guide"]; !ok { + var zeroVal UpdateGuide + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("guide")) + if tmp, ok := rawArgs["guide"]; ok { + return ec.unmarshalNUpdateGuide2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateGuide(ctx, tmp) + } + + var zeroVal UpdateGuide + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_updateModCompatibility_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Mutation_updateModCompatibility_argsModID(ctx, rawArgs) + if err != nil { + return nil, err + } + args["modId"] = arg0 + arg1, err := ec.field_Mutation_updateModCompatibility_argsCompatibility(ctx, rawArgs) + if err != nil { + return nil, err + } + args["compatibility"] = arg1 + return args, nil +} +func (ec *executionContext) field_Mutation_updateModCompatibility_argsModID( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["modId"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) + if tmp, ok := rawArgs["modId"]; ok { + return ec.unmarshalNModID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_updateModCompatibility_argsCompatibility( + ctx context.Context, + rawArgs map[string]any, +) (CompatibilityInfoInput, error) { + if _, ok := rawArgs["compatibility"]; !ok { + var zeroVal CompatibilityInfoInput + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("compatibility")) + if tmp, ok := rawArgs["compatibility"]; ok { + return ec.unmarshalNCompatibilityInfoInput2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInfoInput(ctx, tmp) + } + + var zeroVal CompatibilityInfoInput + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_updateMod_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Mutation_updateMod_argsModID(ctx, rawArgs) + if err != nil { + return nil, err + } + args["modId"] = arg0 + arg1, err := ec.field_Mutation_updateMod_argsMod(ctx, rawArgs) + if err != nil { + return nil, err + } + args["mod"] = arg1 + return args, nil +} +func (ec *executionContext) field_Mutation_updateMod_argsModID( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["modId"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) + if tmp, ok := rawArgs["modId"]; ok { + return ec.unmarshalNModID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_updateMod_argsMod( + ctx context.Context, + rawArgs map[string]any, +) (UpdateMod, error) { + if _, ok := rawArgs["mod"]; !ok { + var zeroVal UpdateMod + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("mod")) + if tmp, ok := rawArgs["mod"]; ok { + return ec.unmarshalNUpdateMod2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateMod(ctx, tmp) + } + + var zeroVal UpdateMod + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_updateMultipleModCompatibilities_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Mutation_updateMultipleModCompatibilities_argsModIDs(ctx, rawArgs) + if err != nil { + return nil, err + } + args["modIDs"] = arg0 + arg1, err := ec.field_Mutation_updateMultipleModCompatibilities_argsCompatibility(ctx, rawArgs) + if err != nil { + return nil, err + } + args["compatibility"] = arg1 + return args, nil +} +func (ec *executionContext) field_Mutation_updateMultipleModCompatibilities_argsModIDs( + ctx context.Context, + rawArgs map[string]any, +) ([]string, error) { + if _, ok := rawArgs["modIDs"]; !ok { + var zeroVal []string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modIDs")) + if tmp, ok := rawArgs["modIDs"]; ok { + return ec.unmarshalNModID2ᚕstringᚄ(ctx, tmp) + } + + var zeroVal []string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_updateMultipleModCompatibilities_argsCompatibility( + ctx context.Context, + rawArgs map[string]any, +) (CompatibilityInfoInput, error) { + if _, ok := rawArgs["compatibility"]; !ok { + var zeroVal CompatibilityInfoInput + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("compatibility")) + if tmp, ok := rawArgs["compatibility"]; ok { + return ec.unmarshalNCompatibilityInfoInput2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInfoInput(ctx, tmp) + } + + var zeroVal CompatibilityInfoInput + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_updateSatisfactoryVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Mutation_updateSatisfactoryVersion_argsID(ctx, rawArgs) + if err != nil { + return nil, err + } + args["id"] = arg0 + arg1, err := ec.field_Mutation_updateSatisfactoryVersion_argsInput(ctx, rawArgs) + if err != nil { + return nil, err + } + args["input"] = arg1 + return args, nil +} +func (ec *executionContext) field_Mutation_updateSatisfactoryVersion_argsID( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["id"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("id")) + if tmp, ok := rawArgs["id"]; ok { + return ec.unmarshalNSatisfactoryVersionID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_updateSatisfactoryVersion_argsInput( + ctx context.Context, + rawArgs map[string]any, +) (UpdateSatisfactoryVersion, error) { + if _, ok := rawArgs["input"]; !ok { + var zeroVal UpdateSatisfactoryVersion + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("input")) + if tmp, ok := rawArgs["input"]; ok { + return ec.unmarshalNUpdateSatisfactoryVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateSatisfactoryVersion(ctx, tmp) + } + + var zeroVal UpdateSatisfactoryVersion + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_updateTag_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Mutation_updateTag_argsTagID(ctx, rawArgs) + if err != nil { + return nil, err + } + args["tagID"] = arg0 + arg1, err := ec.field_Mutation_updateTag_argsNewName(ctx, rawArgs) + if err != nil { + return nil, err + } + args["NewName"] = arg1 + arg2, err := ec.field_Mutation_updateTag_argsDescription(ctx, rawArgs) + if err != nil { + return nil, err + } + args["description"] = arg2 + return args, nil +} +func (ec *executionContext) field_Mutation_updateTag_argsTagID( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["tagID"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("tagID")) + if tmp, ok := rawArgs["tagID"]; ok { + return ec.unmarshalNTagID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_updateTag_argsNewName( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["NewName"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("NewName")) + if tmp, ok := rawArgs["NewName"]; ok { + return ec.unmarshalNTagName2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_updateTag_argsDescription( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["description"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("description")) + if tmp, ok := rawArgs["description"]; ok { + return ec.unmarshalNString2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_updateUser_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Mutation_updateUser_argsUserID(ctx, rawArgs) + if err != nil { + return nil, err + } + args["userId"] = arg0 + arg1, err := ec.field_Mutation_updateUser_argsInput(ctx, rawArgs) + if err != nil { + return nil, err + } + args["input"] = arg1 + return args, nil +} +func (ec *executionContext) field_Mutation_updateUser_argsUserID( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["userId"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("userId")) + if tmp, ok := rawArgs["userId"]; ok { + return ec.unmarshalNUserID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_updateUser_argsInput( + ctx context.Context, + rawArgs map[string]any, +) (UpdateUser, error) { + if _, ok := rawArgs["input"]; !ok { + var zeroVal UpdateUser + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("input")) + if tmp, ok := rawArgs["input"]; ok { + return ec.unmarshalNUpdateUser2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateUser(ctx, tmp) + } + + var zeroVal UpdateUser + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_updateVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Mutation_updateVersion_argsVersionID(ctx, rawArgs) + if err != nil { + return nil, err + } + args["versionId"] = arg0 + arg1, err := ec.field_Mutation_updateVersion_argsVersion(ctx, rawArgs) + if err != nil { + return nil, err + } + args["version"] = arg1 + return args, nil +} +func (ec *executionContext) field_Mutation_updateVersion_argsVersionID( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["versionId"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) + if tmp, ok := rawArgs["versionId"]; ok { + return ec.unmarshalNVersionID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_updateVersion_argsVersion( + ctx context.Context, + rawArgs map[string]any, +) (UpdateVersion, error) { + if _, ok := rawArgs["version"]; !ok { + var zeroVal UpdateVersion + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("version")) + if tmp, ok := rawArgs["version"]; ok { + return ec.unmarshalNUpdateVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateVersion(ctx, tmp) + } + + var zeroVal UpdateVersion + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_uploadVersionPart_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Mutation_uploadVersionPart_argsModID(ctx, rawArgs) + if err != nil { + return nil, err + } + args["modId"] = arg0 + arg1, err := ec.field_Mutation_uploadVersionPart_argsVersionID(ctx, rawArgs) + if err != nil { + return nil, err + } + args["versionId"] = arg1 + arg2, err := ec.field_Mutation_uploadVersionPart_argsPart(ctx, rawArgs) + if err != nil { + return nil, err + } + args["part"] = arg2 + arg3, err := ec.field_Mutation_uploadVersionPart_argsFile(ctx, rawArgs) + if err != nil { + return nil, err + } + args["file"] = arg3 + return args, nil +} +func (ec *executionContext) field_Mutation_uploadVersionPart_argsModID( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["modId"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) + if tmp, ok := rawArgs["modId"]; ok { + return ec.unmarshalNModID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_uploadVersionPart_argsVersionID( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["versionId"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) + if tmp, ok := rawArgs["versionId"]; ok { + return ec.unmarshalNVersionID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_uploadVersionPart_argsPart( + ctx context.Context, + rawArgs map[string]any, +) (int, error) { + if _, ok := rawArgs["part"]; !ok { + var zeroVal int + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("part")) + if tmp, ok := rawArgs["part"]; ok { + return ec.unmarshalNInt2int(ctx, tmp) + } + + var zeroVal int + return zeroVal, nil +} + +func (ec *executionContext) field_Mutation_uploadVersionPart_argsFile( + ctx context.Context, + rawArgs map[string]any, +) (graphql.Upload, error) { + if _, ok := rawArgs["file"]; !ok { + var zeroVal graphql.Upload + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("file")) + if tmp, ok := rawArgs["file"]; ok { + return ec.unmarshalNUpload2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚐUpload(ctx, tmp) + } + + var zeroVal graphql.Upload + return zeroVal, nil +} + +func (ec *executionContext) field_Query___type_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Query___type_argsName(ctx, rawArgs) + if err != nil { + return nil, err + } + args["name"] = arg0 + return args, nil +} +func (ec *executionContext) field_Query___type_argsName( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["name"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("name")) + if tmp, ok := rawArgs["name"]; ok { + return ec.unmarshalNString2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Query_checkVersionUploadState_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Query_checkVersionUploadState_argsModID(ctx, rawArgs) + if err != nil { + return nil, err + } + args["modId"] = arg0 + arg1, err := ec.field_Query_checkVersionUploadState_argsVersionID(ctx, rawArgs) + if err != nil { + return nil, err + } + args["versionId"] = arg1 + return args, nil +} +func (ec *executionContext) field_Query_checkVersionUploadState_argsModID( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["modId"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) + if tmp, ok := rawArgs["modId"]; ok { + return ec.unmarshalNModID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Query_checkVersionUploadState_argsVersionID( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["versionId"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) + if tmp, ok := rawArgs["versionId"]; ok { + return ec.unmarshalNVersionID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Query_getAnnouncement_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Query_getAnnouncement_argsAnnouncementID(ctx, rawArgs) + if err != nil { + return nil, err + } + args["announcementId"] = arg0 + return args, nil +} +func (ec *executionContext) field_Query_getAnnouncement_argsAnnouncementID( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["announcementId"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("announcementId")) + if tmp, ok := rawArgs["announcementId"]; ok { + return ec.unmarshalNAnnouncementID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Query_getAnnouncementsByImportance_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Query_getAnnouncementsByImportance_argsImportance(ctx, rawArgs) + if err != nil { + return nil, err + } + args["importance"] = arg0 + return args, nil +} +func (ec *executionContext) field_Query_getAnnouncementsByImportance_argsImportance( + ctx context.Context, + rawArgs map[string]any, +) (AnnouncementImportance, error) { + if _, ok := rawArgs["importance"]; !ok { + var zeroVal AnnouncementImportance + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("importance")) + if tmp, ok := rawArgs["importance"]; ok { + return ec.unmarshalNAnnouncementImportance2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementImportance(ctx, tmp) + } + + var zeroVal AnnouncementImportance + return zeroVal, nil +} + +func (ec *executionContext) field_Query_getGuide_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Query_getGuide_argsGuideID(ctx, rawArgs) + if err != nil { + return nil, err + } + args["guideId"] = arg0 + return args, nil +} +func (ec *executionContext) field_Query_getGuide_argsGuideID( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["guideId"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("guideId")) + if tmp, ok := rawArgs["guideId"]; ok { + return ec.unmarshalNGuideID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Query_getGuides_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Query_getGuides_argsFilter(ctx, rawArgs) + if err != nil { + return nil, err + } + args["filter"] = arg0 + return args, nil +} +func (ec *executionContext) field_Query_getGuides_argsFilter( + ctx context.Context, + rawArgs map[string]any, +) (map[string]any, error) { + if _, ok := rawArgs["filter"]; !ok { + var zeroVal map[string]any + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) + if tmp, ok := rawArgs["filter"]; ok { + return ec.unmarshalOGuideFilter2map(ctx, tmp) + } + + var zeroVal map[string]any + return zeroVal, nil +} + +func (ec *executionContext) field_Query_getModAssetList_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Query_getModAssetList_argsModReference(ctx, rawArgs) + if err != nil { + return nil, err + } + args["modReference"] = arg0 + return args, nil +} +func (ec *executionContext) field_Query_getModAssetList_argsModReference( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["modReference"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modReference")) + if tmp, ok := rawArgs["modReference"]; ok { + return ec.unmarshalNModID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Query_getModByIdOrReference_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Query_getModByIdOrReference_argsModIDOrReference(ctx, rawArgs) + if err != nil { + return nil, err + } + args["modIdOrReference"] = arg0 + return args, nil +} +func (ec *executionContext) field_Query_getModByIdOrReference_argsModIDOrReference( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["modIdOrReference"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modIdOrReference")) + if tmp, ok := rawArgs["modIdOrReference"]; ok { + return ec.unmarshalNString2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Query_getModByReference_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Query_getModByReference_argsModReference(ctx, rawArgs) + if err != nil { + return nil, err + } + args["modReference"] = arg0 + return args, nil +} +func (ec *executionContext) field_Query_getModByReference_argsModReference( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["modReference"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modReference")) + if tmp, ok := rawArgs["modReference"]; ok { + return ec.unmarshalNModReference2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Query_getMod_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Query_getMod_argsModID(ctx, rawArgs) + if err != nil { + return nil, err + } + args["modId"] = arg0 + return args, nil +} +func (ec *executionContext) field_Query_getMod_argsModID( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["modId"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("modId")) + if tmp, ok := rawArgs["modId"]; ok { + return ec.unmarshalNModID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Query_getMods_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Query_getMods_argsFilter(ctx, rawArgs) + if err != nil { + return nil, err + } + args["filter"] = arg0 + return args, nil +} +func (ec *executionContext) field_Query_getMods_argsFilter( + ctx context.Context, + rawArgs map[string]any, +) (map[string]any, error) { + if _, ok := rawArgs["filter"]; !ok { + var zeroVal map[string]any + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) + if tmp, ok := rawArgs["filter"]; ok { + return ec.unmarshalOModFilter2map(ctx, tmp) + } + + var zeroVal map[string]any + return zeroVal, nil +} + +func (ec *executionContext) field_Query_getMyMods_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Query_getMyMods_argsFilter(ctx, rawArgs) + if err != nil { + return nil, err + } + args["filter"] = arg0 + return args, nil +} +func (ec *executionContext) field_Query_getMyMods_argsFilter( + ctx context.Context, + rawArgs map[string]any, +) (map[string]any, error) { + if _, ok := rawArgs["filter"]; !ok { + var zeroVal map[string]any + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) + if tmp, ok := rawArgs["filter"]; ok { + return ec.unmarshalOModFilter2map(ctx, tmp) + } + + var zeroVal map[string]any + return zeroVal, nil +} + +func (ec *executionContext) field_Query_getMyUnapprovedMods_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Query_getMyUnapprovedMods_argsFilter(ctx, rawArgs) + if err != nil { + return nil, err + } + args["filter"] = arg0 + return args, nil +} +func (ec *executionContext) field_Query_getMyUnapprovedMods_argsFilter( + ctx context.Context, + rawArgs map[string]any, +) (map[string]any, error) { + if _, ok := rawArgs["filter"]; !ok { + var zeroVal map[string]any + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) + if tmp, ok := rawArgs["filter"]; ok { + return ec.unmarshalOModFilter2map(ctx, tmp) + } + + var zeroVal map[string]any + return zeroVal, nil +} + +func (ec *executionContext) field_Query_getMyUnapprovedVersions_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Query_getMyUnapprovedVersions_argsFilter(ctx, rawArgs) + if err != nil { + return nil, err + } + args["filter"] = arg0 + return args, nil +} +func (ec *executionContext) field_Query_getMyUnapprovedVersions_argsFilter( + ctx context.Context, + rawArgs map[string]any, +) (map[string]any, error) { + if _, ok := rawArgs["filter"]; !ok { + var zeroVal map[string]any + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) + if tmp, ok := rawArgs["filter"]; ok { + return ec.unmarshalOVersionFilter2map(ctx, tmp) + } + + var zeroVal map[string]any + return zeroVal, nil +} + +func (ec *executionContext) field_Query_getMyVersions_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Query_getMyVersions_argsFilter(ctx, rawArgs) + if err != nil { + return nil, err + } + args["filter"] = arg0 + return args, nil +} +func (ec *executionContext) field_Query_getMyVersions_argsFilter( + ctx context.Context, + rawArgs map[string]any, +) (map[string]any, error) { + if _, ok := rawArgs["filter"]; !ok { + var zeroVal map[string]any + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) + if tmp, ok := rawArgs["filter"]; ok { + return ec.unmarshalOVersionFilter2map(ctx, tmp) + } + + var zeroVal map[string]any + return zeroVal, nil +} + +func (ec *executionContext) field_Query_getOAuthOptions_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Query_getOAuthOptions_argsCallbackURL(ctx, rawArgs) + if err != nil { + return nil, err + } + args["callback_url"] = arg0 + return args, nil +} +func (ec *executionContext) field_Query_getOAuthOptions_argsCallbackURL( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["callback_url"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("callback_url")) + if tmp, ok := rawArgs["callback_url"]; ok { + return ec.unmarshalNString2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Query_getSMLVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Query_getSMLVersion_argsSmlVersionID(ctx, rawArgs) + if err != nil { + return nil, err + } + args["smlVersionID"] = arg0 + return args, nil +} +func (ec *executionContext) field_Query_getSMLVersion_argsSmlVersionID( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["smlVersionID"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("smlVersionID")) + if tmp, ok := rawArgs["smlVersionID"]; ok { + return ec.unmarshalNSMLVersionID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Query_getSMLVersions_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Query_getSMLVersions_argsFilter(ctx, rawArgs) + if err != nil { + return nil, err + } + args["filter"] = arg0 + return args, nil +} +func (ec *executionContext) field_Query_getSMLVersions_argsFilter( + ctx context.Context, + rawArgs map[string]any, +) (map[string]any, error) { + if _, ok := rawArgs["filter"]; !ok { + var zeroVal map[string]any + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) + if tmp, ok := rawArgs["filter"]; ok { + return ec.unmarshalOSMLVersionFilter2map(ctx, tmp) + } + + var zeroVal map[string]any + return zeroVal, nil +} + +func (ec *executionContext) field_Query_getSatisfactoryVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Query_getSatisfactoryVersion_argsID(ctx, rawArgs) + if err != nil { + return nil, err + } + args["id"] = arg0 + return args, nil +} +func (ec *executionContext) field_Query_getSatisfactoryVersion_argsID( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["id"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("id")) + if tmp, ok := rawArgs["id"]; ok { + return ec.unmarshalNSatisfactoryVersionID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Query_getTag_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Query_getTag_argsTagID(ctx, rawArgs) + if err != nil { + return nil, err + } + args["tagID"] = arg0 + return args, nil +} +func (ec *executionContext) field_Query_getTag_argsTagID( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["tagID"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("tagID")) + if tmp, ok := rawArgs["tagID"]; ok { + return ec.unmarshalNTagID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Query_getTags_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Query_getTags_argsFilter(ctx, rawArgs) + if err != nil { + return nil, err + } + args["filter"] = arg0 + return args, nil +} +func (ec *executionContext) field_Query_getTags_argsFilter( + ctx context.Context, + rawArgs map[string]any, +) (*TagFilter, error) { + if _, ok := rawArgs["filter"]; !ok { + var zeroVal *TagFilter + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) + if tmp, ok := rawArgs["filter"]; ok { + return ec.unmarshalOTagFilter2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTagFilter(ctx, tmp) + } + + var zeroVal *TagFilter + return zeroVal, nil +} + +func (ec *executionContext) field_Query_getUnapprovedMods_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Query_getUnapprovedMods_argsFilter(ctx, rawArgs) + if err != nil { + return nil, err + } + args["filter"] = arg0 + return args, nil +} +func (ec *executionContext) field_Query_getUnapprovedMods_argsFilter( + ctx context.Context, + rawArgs map[string]any, +) (map[string]any, error) { + if _, ok := rawArgs["filter"]; !ok { + var zeroVal map[string]any + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) + if tmp, ok := rawArgs["filter"]; ok { + return ec.unmarshalOModFilter2map(ctx, tmp) + } + + var zeroVal map[string]any + return zeroVal, nil +} + +func (ec *executionContext) field_Query_getUnapprovedVersions_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Query_getUnapprovedVersions_argsFilter(ctx, rawArgs) + if err != nil { + return nil, err + } + args["filter"] = arg0 + return args, nil +} +func (ec *executionContext) field_Query_getUnapprovedVersions_argsFilter( + ctx context.Context, + rawArgs map[string]any, +) (map[string]any, error) { + if _, ok := rawArgs["filter"]; !ok { + var zeroVal map[string]any + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) + if tmp, ok := rawArgs["filter"]; ok { + return ec.unmarshalOVersionFilter2map(ctx, tmp) + } + + var zeroVal map[string]any + return zeroVal, nil +} + +func (ec *executionContext) field_Query_getUser_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Query_getUser_argsUserID(ctx, rawArgs) + if err != nil { + return nil, err + } + args["userId"] = arg0 + return args, nil +} +func (ec *executionContext) field_Query_getUser_argsUserID( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["userId"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("userId")) + if tmp, ok := rawArgs["userId"]; ok { + return ec.unmarshalNUserID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Query_getUsers_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Query_getUsers_argsUserIds(ctx, rawArgs) + if err != nil { + return nil, err + } + args["userIds"] = arg0 + return args, nil +} +func (ec *executionContext) field_Query_getUsers_argsUserIds( + ctx context.Context, + rawArgs map[string]any, +) ([]string, error) { + if _, ok := rawArgs["userIds"]; !ok { + var zeroVal []string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("userIds")) + if tmp, ok := rawArgs["userIds"]; ok { + return ec.unmarshalNUserID2ᚕstringᚄ(ctx, tmp) + } + + var zeroVal []string + return zeroVal, nil +} + +func (ec *executionContext) field_Query_getVersion_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Query_getVersion_argsVersionID(ctx, rawArgs) + if err != nil { + return nil, err + } + args["versionId"] = arg0 + return args, nil +} +func (ec *executionContext) field_Query_getVersion_argsVersionID( + ctx context.Context, + rawArgs map[string]any, +) (string, error) { + if _, ok := rawArgs["versionId"]; !ok { + var zeroVal string + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("versionId")) + if tmp, ok := rawArgs["versionId"]; ok { + return ec.unmarshalNVersionID2string(ctx, tmp) + } + + var zeroVal string + return zeroVal, nil +} + +func (ec *executionContext) field_Query_getVersions_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Query_getVersions_argsFilter(ctx, rawArgs) + if err != nil { + return nil, err + } + args["filter"] = arg0 + return args, nil +} +func (ec *executionContext) field_Query_getVersions_argsFilter( + ctx context.Context, + rawArgs map[string]any, +) (map[string]any, error) { + if _, ok := rawArgs["filter"]; !ok { + var zeroVal map[string]any + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) + if tmp, ok := rawArgs["filter"]; ok { + return ec.unmarshalOVersionFilter2map(ctx, tmp) + } + + var zeroVal map[string]any + return zeroVal, nil +} + +func (ec *executionContext) field_Query_resolveModVersions_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field_Query_resolveModVersions_argsFilter(ctx, rawArgs) + if err != nil { + return nil, err + } + args["filter"] = arg0 + return args, nil +} +func (ec *executionContext) field_Query_resolveModVersions_argsFilter( + ctx context.Context, + rawArgs map[string]any, +) ([]*ModVersionConstraint, error) { + if _, ok := rawArgs["filter"]; !ok { + var zeroVal []*ModVersionConstraint + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("filter")) + if tmp, ok := rawArgs["filter"]; ok { + return ec.unmarshalNModVersionConstraint2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModVersionConstraintᚄ(ctx, tmp) + } + + var zeroVal []*ModVersionConstraint + return zeroVal, nil +} + +func (ec *executionContext) field___Directive_args_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field___Directive_args_argsIncludeDeprecated(ctx, rawArgs) + if err != nil { + return nil, err + } + args["includeDeprecated"] = arg0 + return args, nil +} +func (ec *executionContext) field___Directive_args_argsIncludeDeprecated( + ctx context.Context, + rawArgs map[string]any, +) (*bool, error) { + if _, ok := rawArgs["includeDeprecated"]; !ok { + var zeroVal *bool + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("includeDeprecated")) + if tmp, ok := rawArgs["includeDeprecated"]; ok { + return ec.unmarshalOBoolean2ᚖbool(ctx, tmp) + } + + var zeroVal *bool + return zeroVal, nil +} + +func (ec *executionContext) field___Field_args_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field___Field_args_argsIncludeDeprecated(ctx, rawArgs) + if err != nil { + return nil, err + } + args["includeDeprecated"] = arg0 + return args, nil +} +func (ec *executionContext) field___Field_args_argsIncludeDeprecated( + ctx context.Context, + rawArgs map[string]any, +) (*bool, error) { + if _, ok := rawArgs["includeDeprecated"]; !ok { + var zeroVal *bool + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("includeDeprecated")) + if tmp, ok := rawArgs["includeDeprecated"]; ok { + return ec.unmarshalOBoolean2ᚖbool(ctx, tmp) + } + + var zeroVal *bool + return zeroVal, nil +} + +func (ec *executionContext) field___Type_enumValues_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field___Type_enumValues_argsIncludeDeprecated(ctx, rawArgs) + if err != nil { + return nil, err + } + args["includeDeprecated"] = arg0 + return args, nil +} +func (ec *executionContext) field___Type_enumValues_argsIncludeDeprecated( + ctx context.Context, + rawArgs map[string]any, +) (bool, error) { + if _, ok := rawArgs["includeDeprecated"]; !ok { + var zeroVal bool + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("includeDeprecated")) + if tmp, ok := rawArgs["includeDeprecated"]; ok { + return ec.unmarshalOBoolean2bool(ctx, tmp) + } + + var zeroVal bool + return zeroVal, nil +} + +func (ec *executionContext) field___Type_fields_args(ctx context.Context, rawArgs map[string]any) (map[string]any, error) { + var err error + args := map[string]any{} + arg0, err := ec.field___Type_fields_argsIncludeDeprecated(ctx, rawArgs) + if err != nil { + return nil, err + } + args["includeDeprecated"] = arg0 + return args, nil +} +func (ec *executionContext) field___Type_fields_argsIncludeDeprecated( + ctx context.Context, + rawArgs map[string]any, +) (bool, error) { + if _, ok := rawArgs["includeDeprecated"]; !ok { + var zeroVal bool + return zeroVal, nil + } + + ctx = graphql.WithPathContext(ctx, graphql.NewPathWithField("includeDeprecated")) + if tmp, ok := rawArgs["includeDeprecated"]; ok { + return ec.unmarshalOBoolean2bool(ctx, tmp) + } + + var zeroVal bool + return zeroVal, nil +} + +// endregion ***************************** args.gotpl ***************************** + +// region ************************** directives.gotpl ************************** + +// endregion ************************** directives.gotpl ************************** + +// region **************************** field.gotpl ***************************** + +func (ec *executionContext) _AIUseDisclosureInfo_disclosure_type(ctx context.Context, field graphql.CollectedField, obj *AIUseDisclosureInfo) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_AIUseDisclosureInfo_disclosure_type(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.DisclosureType, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(AIUseDisclosureType) + fc.Result = res + return ec.marshalNAIUseDisclosureType2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAIUseDisclosureType(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_AIUseDisclosureInfo_disclosure_type(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "AIUseDisclosureInfo", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type AIUseDisclosureType does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _AIUseDisclosureInfo_disclosure_string(ctx context.Context, field graphql.CollectedField, obj *AIUseDisclosureInfo) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_AIUseDisclosureInfo_disclosure_string(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.DisclosureString, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_AIUseDisclosureInfo_disclosure_string(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "AIUseDisclosureInfo", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Announcement_id(ctx context.Context, field graphql.CollectedField, obj *Announcement) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Announcement_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.ID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNAnnouncementID2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Announcement_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Announcement", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type AnnouncementID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Announcement_message(ctx context.Context, field graphql.CollectedField, obj *Announcement) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Announcement_message(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Message, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Announcement_message(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Announcement", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Announcement_importance(ctx context.Context, field graphql.CollectedField, obj *Announcement) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Announcement_importance(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Importance, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(AnnouncementImportance) + fc.Result = res + return ec.marshalNAnnouncementImportance2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementImportance(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Announcement_importance(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Announcement", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type AnnouncementImportance does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Compatibility_state(ctx context.Context, field graphql.CollectedField, obj *Compatibility) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Compatibility_state(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.State, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(CompatibilityState) + fc.Result = res + return ec.marshalNCompatibilityState2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityState(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Compatibility_state(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Compatibility", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type CompatibilityState does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Compatibility_note(ctx context.Context, field graphql.CollectedField, obj *Compatibility) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Compatibility_note(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Note, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Compatibility_note(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Compatibility", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _CompatibilityInfo_EA(ctx context.Context, field graphql.CollectedField, obj *CompatibilityInfo) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_CompatibilityInfo_EA(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Ea, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*Compatibility) + fc.Result = res + return ec.marshalNCompatibility2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibility(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_CompatibilityInfo_EA(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "CompatibilityInfo", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "state": + return ec.fieldContext_Compatibility_state(ctx, field) + case "note": + return ec.fieldContext_Compatibility_note(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Compatibility", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _CompatibilityInfo_EXP(ctx context.Context, field graphql.CollectedField, obj *CompatibilityInfo) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_CompatibilityInfo_EXP(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Exp, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*Compatibility) + fc.Result = res + return ec.marshalNCompatibility2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibility(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_CompatibilityInfo_EXP(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "CompatibilityInfo", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "state": + return ec.fieldContext_Compatibility_state(ctx, field) + case "note": + return ec.fieldContext_Compatibility_note(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Compatibility", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _CompatibilityInfo_Controller(ctx context.Context, field graphql.CollectedField, obj *CompatibilityInfo) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_CompatibilityInfo_Controller(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Controller, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*ControllerCompatibility) + fc.Result = res + return ec.marshalNControllerCompatibility2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐControllerCompatibility(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_CompatibilityInfo_Controller(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "CompatibilityInfo", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "state": + return ec.fieldContext_ControllerCompatibility_state(ctx, field) + case "note": + return ec.fieldContext_ControllerCompatibility_note(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type ControllerCompatibility", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _ControllerCompatibility_state(ctx context.Context, field graphql.CollectedField, obj *ControllerCompatibility) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_ControllerCompatibility_state(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.State, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(ControllerCompatibilityState) + fc.Result = res + return ec.marshalNControllerCompatibilityState2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐControllerCompatibilityState(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_ControllerCompatibility_state(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "ControllerCompatibility", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type ControllerCompatibilityState does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _ControllerCompatibility_note(ctx context.Context, field graphql.CollectedField, obj *ControllerCompatibility) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_ControllerCompatibility_note(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Note, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_ControllerCompatibility_note(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "ControllerCompatibility", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _CreateVersionResponse_auto_approved(ctx context.Context, field graphql.CollectedField, obj *CreateVersionResponse) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_CreateVersionResponse_auto_approved(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.AutoApproved, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_CreateVersionResponse_auto_approved(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "CreateVersionResponse", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _CreateVersionResponse_version(ctx context.Context, field graphql.CollectedField, obj *CreateVersionResponse) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_CreateVersionResponse_version(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Version, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*Version) + fc.Result = res + return ec.marshalOVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_CreateVersionResponse_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "CreateVersionResponse", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Version_id(ctx, field) + case "mod_id": + return ec.fieldContext_Version_mod_id(ctx, field) + case "version": + return ec.fieldContext_Version_version(ctx, field) + case "sml_version": + return ec.fieldContext_Version_sml_version(ctx, field) + case "game_version": + return ec.fieldContext_Version_game_version(ctx, field) + case "required_on_remote": + return ec.fieldContext_Version_required_on_remote(ctx, field) + case "changelog": + return ec.fieldContext_Version_changelog(ctx, field) + case "downloads": + return ec.fieldContext_Version_downloads(ctx, field) + case "stability": + return ec.fieldContext_Version_stability(ctx, field) + case "approved": + return ec.fieldContext_Version_approved(ctx, field) + case "updated_at": + return ec.fieldContext_Version_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Version_created_at(ctx, field) + case "link": + return ec.fieldContext_Version_link(ctx, field) + case "targets": + return ec.fieldContext_Version_targets(ctx, field) + case "metadata": + return ec.fieldContext_Version_metadata(ctx, field) + case "size": + return ec.fieldContext_Version_size(ctx, field) + case "hash": + return ec.fieldContext_Version_hash(ctx, field) + case "mod": + return ec.fieldContext_Version_mod(ctx, field) + case "dependencies": + return ec.fieldContext_Version_dependencies(ctx, field) + case "virustotal_results": + return ec.fieldContext_Version_virustotal_results(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _GetGuides_guides(ctx context.Context, field graphql.CollectedField, obj *GetGuides) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_GetGuides_guides(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.GetGuides().Guides(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*Guide) + fc.Result = res + return ec.marshalNGuide2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuideᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_GetGuides_guides(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "GetGuides", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Guide_id(ctx, field) + case "name": + return ec.fieldContext_Guide_name(ctx, field) + case "short_description": + return ec.fieldContext_Guide_short_description(ctx, field) + case "guide": + return ec.fieldContext_Guide_guide(ctx, field) + case "views": + return ec.fieldContext_Guide_views(ctx, field) + case "user_id": + return ec.fieldContext_Guide_user_id(ctx, field) + case "updated_at": + return ec.fieldContext_Guide_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Guide_created_at(ctx, field) + case "tags": + return ec.fieldContext_Guide_tags(ctx, field) + case "user": + return ec.fieldContext_Guide_user(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Guide", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _GetGuides_count(ctx context.Context, field graphql.CollectedField, obj *GetGuides) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_GetGuides_count(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.GetGuides().Count(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(int) + fc.Result = res + return ec.marshalNInt2int(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_GetGuides_count(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "GetGuides", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Int does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _GetMods_mods(ctx context.Context, field graphql.CollectedField, obj *GetMods) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_GetMods_mods(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.GetMods().Mods(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*Mod) + fc.Result = res + return ec.marshalNMod2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_GetMods_mods(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "GetMods", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Mod_id(ctx, field) + case "name": + return ec.fieldContext_Mod_name(ctx, field) + case "short_description": + return ec.fieldContext_Mod_short_description(ctx, field) + case "full_description": + return ec.fieldContext_Mod_full_description(ctx, field) + case "logo": + return ec.fieldContext_Mod_logo(ctx, field) + case "logo_thumbhash": + return ec.fieldContext_Mod_logo_thumbhash(ctx, field) + case "source_url": + return ec.fieldContext_Mod_source_url(ctx, field) + case "creator_id": + return ec.fieldContext_Mod_creator_id(ctx, field) + case "approved": + return ec.fieldContext_Mod_approved(ctx, field) + case "views": + return ec.fieldContext_Mod_views(ctx, field) + case "downloads": + return ec.fieldContext_Mod_downloads(ctx, field) + case "hotness": + return ec.fieldContext_Mod_hotness(ctx, field) + case "popularity": + return ec.fieldContext_Mod_popularity(ctx, field) + case "updated_at": + return ec.fieldContext_Mod_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Mod_created_at(ctx, field) + case "last_version_date": + return ec.fieldContext_Mod_last_version_date(ctx, field) + case "mod_reference": + return ec.fieldContext_Mod_mod_reference(ctx, field) + case "hidden": + return ec.fieldContext_Mod_hidden(ctx, field) + case "tags": + return ec.fieldContext_Mod_tags(ctx, field) + case "compatibility": + return ec.fieldContext_Mod_compatibility(ctx, field) + case "toggle_network_use": + return ec.fieldContext_Mod_toggle_network_use(ctx, field) + case "network_use_disclosure": + return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "ai_use_disclosure": + return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) + case "toggle_explicit_content": + return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) + case "authors": + return ec.fieldContext_Mod_authors(ctx, field) + case "version": + return ec.fieldContext_Mod_version(ctx, field) + case "versions": + return ec.fieldContext_Mod_versions(ctx, field) + case "latestVersions": + return ec.fieldContext_Mod_latestVersions(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _GetMods_count(ctx context.Context, field graphql.CollectedField, obj *GetMods) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_GetMods_count(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.GetMods().Count(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(int) + fc.Result = res + return ec.marshalNInt2int(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_GetMods_count(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "GetMods", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Int does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _GetMyMods_mods(ctx context.Context, field graphql.CollectedField, obj *GetMyMods) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_GetMyMods_mods(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.GetMyMods().Mods(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*Mod) + fc.Result = res + return ec.marshalNMod2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_GetMyMods_mods(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "GetMyMods", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Mod_id(ctx, field) + case "name": + return ec.fieldContext_Mod_name(ctx, field) + case "short_description": + return ec.fieldContext_Mod_short_description(ctx, field) + case "full_description": + return ec.fieldContext_Mod_full_description(ctx, field) + case "logo": + return ec.fieldContext_Mod_logo(ctx, field) + case "logo_thumbhash": + return ec.fieldContext_Mod_logo_thumbhash(ctx, field) + case "source_url": + return ec.fieldContext_Mod_source_url(ctx, field) + case "creator_id": + return ec.fieldContext_Mod_creator_id(ctx, field) + case "approved": + return ec.fieldContext_Mod_approved(ctx, field) + case "views": + return ec.fieldContext_Mod_views(ctx, field) + case "downloads": + return ec.fieldContext_Mod_downloads(ctx, field) + case "hotness": + return ec.fieldContext_Mod_hotness(ctx, field) + case "popularity": + return ec.fieldContext_Mod_popularity(ctx, field) + case "updated_at": + return ec.fieldContext_Mod_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Mod_created_at(ctx, field) + case "last_version_date": + return ec.fieldContext_Mod_last_version_date(ctx, field) + case "mod_reference": + return ec.fieldContext_Mod_mod_reference(ctx, field) + case "hidden": + return ec.fieldContext_Mod_hidden(ctx, field) + case "tags": + return ec.fieldContext_Mod_tags(ctx, field) + case "compatibility": + return ec.fieldContext_Mod_compatibility(ctx, field) + case "toggle_network_use": + return ec.fieldContext_Mod_toggle_network_use(ctx, field) + case "network_use_disclosure": + return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "ai_use_disclosure": + return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) + case "toggle_explicit_content": + return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) + case "authors": + return ec.fieldContext_Mod_authors(ctx, field) + case "version": + return ec.fieldContext_Mod_version(ctx, field) + case "versions": + return ec.fieldContext_Mod_versions(ctx, field) + case "latestVersions": + return ec.fieldContext_Mod_latestVersions(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _GetMyMods_count(ctx context.Context, field graphql.CollectedField, obj *GetMyMods) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_GetMyMods_count(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.GetMyMods().Count(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(int) + fc.Result = res + return ec.marshalNInt2int(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_GetMyMods_count(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "GetMyMods", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Int does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _GetMyVersions_versions(ctx context.Context, field graphql.CollectedField, obj *GetMyVersions) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_GetMyVersions_versions(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.GetMyVersions().Versions(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*Version) + fc.Result = res + return ec.marshalNVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_GetMyVersions_versions(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "GetMyVersions", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Version_id(ctx, field) + case "mod_id": + return ec.fieldContext_Version_mod_id(ctx, field) + case "version": + return ec.fieldContext_Version_version(ctx, field) + case "sml_version": + return ec.fieldContext_Version_sml_version(ctx, field) + case "game_version": + return ec.fieldContext_Version_game_version(ctx, field) + case "required_on_remote": + return ec.fieldContext_Version_required_on_remote(ctx, field) + case "changelog": + return ec.fieldContext_Version_changelog(ctx, field) + case "downloads": + return ec.fieldContext_Version_downloads(ctx, field) + case "stability": + return ec.fieldContext_Version_stability(ctx, field) + case "approved": + return ec.fieldContext_Version_approved(ctx, field) + case "updated_at": + return ec.fieldContext_Version_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Version_created_at(ctx, field) + case "link": + return ec.fieldContext_Version_link(ctx, field) + case "targets": + return ec.fieldContext_Version_targets(ctx, field) + case "metadata": + return ec.fieldContext_Version_metadata(ctx, field) + case "size": + return ec.fieldContext_Version_size(ctx, field) + case "hash": + return ec.fieldContext_Version_hash(ctx, field) + case "mod": + return ec.fieldContext_Version_mod(ctx, field) + case "dependencies": + return ec.fieldContext_Version_dependencies(ctx, field) + case "virustotal_results": + return ec.fieldContext_Version_virustotal_results(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _GetMyVersions_count(ctx context.Context, field graphql.CollectedField, obj *GetMyVersions) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_GetMyVersions_count(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.GetMyVersions().Count(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(int) + fc.Result = res + return ec.marshalNInt2int(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_GetMyVersions_count(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "GetMyVersions", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Int does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _GetSMLVersions_sml_versions(ctx context.Context, field graphql.CollectedField, obj *GetSMLVersions) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_GetSMLVersions_sml_versions(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.GetSMLVersions().SmlVersions(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*SMLVersion) + fc.Result = res + return ec.marshalNSMLVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersionᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_GetSMLVersions_sml_versions(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "GetSMLVersions", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_SMLVersion_id(ctx, field) + case "version": + return ec.fieldContext_SMLVersion_version(ctx, field) + case "satisfactory_version": + return ec.fieldContext_SMLVersion_satisfactory_version(ctx, field) + case "stability": + return ec.fieldContext_SMLVersion_stability(ctx, field) + case "link": + return ec.fieldContext_SMLVersion_link(ctx, field) + case "targets": + return ec.fieldContext_SMLVersion_targets(ctx, field) + case "changelog": + return ec.fieldContext_SMLVersion_changelog(ctx, field) + case "date": + return ec.fieldContext_SMLVersion_date(ctx, field) + case "bootstrap_version": + return ec.fieldContext_SMLVersion_bootstrap_version(ctx, field) + case "engine_version": + return ec.fieldContext_SMLVersion_engine_version(ctx, field) + case "updated_at": + return ec.fieldContext_SMLVersion_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_SMLVersion_created_at(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type SMLVersion", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _GetSMLVersions_count(ctx context.Context, field graphql.CollectedField, obj *GetSMLVersions) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_GetSMLVersions_count(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.GetSMLVersions().Count(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(int) + fc.Result = res + return ec.marshalNInt2int(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_GetSMLVersions_count(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "GetSMLVersions", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Int does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _GetVersions_versions(ctx context.Context, field graphql.CollectedField, obj *GetVersions) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_GetVersions_versions(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.GetVersions().Versions(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*Version) + fc.Result = res + return ec.marshalNVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_GetVersions_versions(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "GetVersions", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Version_id(ctx, field) + case "mod_id": + return ec.fieldContext_Version_mod_id(ctx, field) + case "version": + return ec.fieldContext_Version_version(ctx, field) + case "sml_version": + return ec.fieldContext_Version_sml_version(ctx, field) + case "game_version": + return ec.fieldContext_Version_game_version(ctx, field) + case "required_on_remote": + return ec.fieldContext_Version_required_on_remote(ctx, field) + case "changelog": + return ec.fieldContext_Version_changelog(ctx, field) + case "downloads": + return ec.fieldContext_Version_downloads(ctx, field) + case "stability": + return ec.fieldContext_Version_stability(ctx, field) + case "approved": + return ec.fieldContext_Version_approved(ctx, field) + case "updated_at": + return ec.fieldContext_Version_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Version_created_at(ctx, field) + case "link": + return ec.fieldContext_Version_link(ctx, field) + case "targets": + return ec.fieldContext_Version_targets(ctx, field) + case "metadata": + return ec.fieldContext_Version_metadata(ctx, field) + case "size": + return ec.fieldContext_Version_size(ctx, field) + case "hash": + return ec.fieldContext_Version_hash(ctx, field) + case "mod": + return ec.fieldContext_Version_mod(ctx, field) + case "dependencies": + return ec.fieldContext_Version_dependencies(ctx, field) + case "virustotal_results": + return ec.fieldContext_Version_virustotal_results(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _GetVersions_count(ctx context.Context, field graphql.CollectedField, obj *GetVersions) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_GetVersions_count(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.GetVersions().Count(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(int) + fc.Result = res + return ec.marshalNInt2int(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_GetVersions_count(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "GetVersions", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Int does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Group_id(ctx context.Context, field graphql.CollectedField, obj *Group) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Group_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.ID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Group_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Group", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Group_name(ctx context.Context, field graphql.CollectedField, obj *Group) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Group_name(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Name, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Group_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Group", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Guide_id(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Guide_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.ID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNGuideID2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Guide_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Guide", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type GuideID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Guide_name(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Guide_name(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Name, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Guide_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Guide", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Guide_short_description(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Guide_short_description(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.ShortDescription, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Guide_short_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Guide", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Guide_guide(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Guide_guide(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Guide, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Guide_guide(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Guide", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Guide_views(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Guide_views(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Views, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(int) + fc.Result = res + return ec.marshalNInt2int(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Guide_views(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Guide", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Int does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Guide_user_id(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Guide_user_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.UserID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNUserID2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Guide_user_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Guide", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type UserID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Guide_updated_at(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Guide_updated_at(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.UpdatedAt, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNDate2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Guide_updated_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Guide", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Date does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Guide_created_at(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Guide_created_at(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.CreatedAt, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNDate2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Guide_created_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Guide", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Date does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Guide_tags(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Guide_tags(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Tags, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*Tag) + fc.Result = res + return ec.marshalNTag2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTagᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Guide_tags(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Guide", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Tag_id(ctx, field) + case "name": + return ec.fieldContext_Tag_name(ctx, field) + case "description": + return ec.fieldContext_Tag_description(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Tag", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _Guide_user(ctx context.Context, field graphql.CollectedField, obj *Guide) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Guide_user(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Guide().User(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*User) + fc.Result = res + return ec.marshalNUser2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Guide_user(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Guide", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_User_id(ctx, field) + case "email": + return ec.fieldContext_User_email(ctx, field) + case "username": + return ec.fieldContext_User_username(ctx, field) + case "avatar": + return ec.fieldContext_User_avatar(ctx, field) + case "avatar_thumbhash": + return ec.fieldContext_User_avatar_thumbhash(ctx, field) + case "created_at": + return ec.fieldContext_User_created_at(ctx, field) + case "github_id": + return ec.fieldContext_User_github_id(ctx, field) + case "google_id": + return ec.fieldContext_User_google_id(ctx, field) + case "facebook_id": + return ec.fieldContext_User_facebook_id(ctx, field) + case "roles": + return ec.fieldContext_User_roles(ctx, field) + case "groups": + return ec.fieldContext_User_groups(ctx, field) + case "mods": + return ec.fieldContext_User_mods(ctx, field) + case "guides": + return ec.fieldContext_User_guides(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type User", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _LatestVersions_alpha(ctx context.Context, field graphql.CollectedField, obj *LatestVersions) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_LatestVersions_alpha(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Alpha, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*Version) + fc.Result = res + return ec.marshalOVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_LatestVersions_alpha(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "LatestVersions", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Version_id(ctx, field) + case "mod_id": + return ec.fieldContext_Version_mod_id(ctx, field) + case "version": + return ec.fieldContext_Version_version(ctx, field) + case "sml_version": + return ec.fieldContext_Version_sml_version(ctx, field) + case "game_version": + return ec.fieldContext_Version_game_version(ctx, field) + case "required_on_remote": + return ec.fieldContext_Version_required_on_remote(ctx, field) + case "changelog": + return ec.fieldContext_Version_changelog(ctx, field) + case "downloads": + return ec.fieldContext_Version_downloads(ctx, field) + case "stability": + return ec.fieldContext_Version_stability(ctx, field) + case "approved": + return ec.fieldContext_Version_approved(ctx, field) + case "updated_at": + return ec.fieldContext_Version_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Version_created_at(ctx, field) + case "link": + return ec.fieldContext_Version_link(ctx, field) + case "targets": + return ec.fieldContext_Version_targets(ctx, field) + case "metadata": + return ec.fieldContext_Version_metadata(ctx, field) + case "size": + return ec.fieldContext_Version_size(ctx, field) + case "hash": + return ec.fieldContext_Version_hash(ctx, field) + case "mod": + return ec.fieldContext_Version_mod(ctx, field) + case "dependencies": + return ec.fieldContext_Version_dependencies(ctx, field) + case "virustotal_results": + return ec.fieldContext_Version_virustotal_results(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _LatestVersions_beta(ctx context.Context, field graphql.CollectedField, obj *LatestVersions) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_LatestVersions_beta(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Beta, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*Version) + fc.Result = res + return ec.marshalOVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_LatestVersions_beta(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "LatestVersions", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Version_id(ctx, field) + case "mod_id": + return ec.fieldContext_Version_mod_id(ctx, field) + case "version": + return ec.fieldContext_Version_version(ctx, field) + case "sml_version": + return ec.fieldContext_Version_sml_version(ctx, field) + case "game_version": + return ec.fieldContext_Version_game_version(ctx, field) + case "required_on_remote": + return ec.fieldContext_Version_required_on_remote(ctx, field) + case "changelog": + return ec.fieldContext_Version_changelog(ctx, field) + case "downloads": + return ec.fieldContext_Version_downloads(ctx, field) + case "stability": + return ec.fieldContext_Version_stability(ctx, field) + case "approved": + return ec.fieldContext_Version_approved(ctx, field) + case "updated_at": + return ec.fieldContext_Version_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Version_created_at(ctx, field) + case "link": + return ec.fieldContext_Version_link(ctx, field) + case "targets": + return ec.fieldContext_Version_targets(ctx, field) + case "metadata": + return ec.fieldContext_Version_metadata(ctx, field) + case "size": + return ec.fieldContext_Version_size(ctx, field) + case "hash": + return ec.fieldContext_Version_hash(ctx, field) + case "mod": + return ec.fieldContext_Version_mod(ctx, field) + case "dependencies": + return ec.fieldContext_Version_dependencies(ctx, field) + case "virustotal_results": + return ec.fieldContext_Version_virustotal_results(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _LatestVersions_release(ctx context.Context, field graphql.CollectedField, obj *LatestVersions) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_LatestVersions_release(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Release, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*Version) + fc.Result = res + return ec.marshalOVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_LatestVersions_release(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "LatestVersions", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Version_id(ctx, field) + case "mod_id": + return ec.fieldContext_Version_mod_id(ctx, field) + case "version": + return ec.fieldContext_Version_version(ctx, field) + case "sml_version": + return ec.fieldContext_Version_sml_version(ctx, field) + case "game_version": + return ec.fieldContext_Version_game_version(ctx, field) + case "required_on_remote": + return ec.fieldContext_Version_required_on_remote(ctx, field) + case "changelog": + return ec.fieldContext_Version_changelog(ctx, field) + case "downloads": + return ec.fieldContext_Version_downloads(ctx, field) + case "stability": + return ec.fieldContext_Version_stability(ctx, field) + case "approved": + return ec.fieldContext_Version_approved(ctx, field) + case "updated_at": + return ec.fieldContext_Version_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Version_created_at(ctx, field) + case "link": + return ec.fieldContext_Version_link(ctx, field) + case "targets": + return ec.fieldContext_Version_targets(ctx, field) + case "metadata": + return ec.fieldContext_Version_metadata(ctx, field) + case "size": + return ec.fieldContext_Version_size(ctx, field) + case "hash": + return ec.fieldContext_Version_hash(ctx, field) + case "mod": + return ec.fieldContext_Version_mod(ctx, field) + case "dependencies": + return ec.fieldContext_Version_dependencies(ctx, field) + case "virustotal_results": + return ec.fieldContext_Version_virustotal_results(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_id(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.ID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNModID2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type ModID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_name(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_name(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Name, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_short_description(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_short_description(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.ShortDescription, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_short_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_full_description(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_full_description(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.FullDescription, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_full_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_logo(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_logo(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Logo, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_logo(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_logo_thumbhash(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_logo_thumbhash(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.LogoThumbhash, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_logo_thumbhash(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_source_url(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_source_url(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.SourceURL, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_source_url(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_creator_id(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_creator_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.CreatorID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNUserID2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_creator_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type UserID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_approved(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_approved(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Approved, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_approved(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_views(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_views(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Views, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(int) + fc.Result = res + return ec.marshalNInt2int(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_views(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Int does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_downloads(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_downloads(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Downloads, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(int) + fc.Result = res + return ec.marshalNInt2int(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_downloads(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Int does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_hotness(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_hotness(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Hotness, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(int) + fc.Result = res + return ec.marshalNInt2int(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_hotness(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Int does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_popularity(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_popularity(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Popularity, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(int) + fc.Result = res + return ec.marshalNInt2int(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_popularity(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Int does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_updated_at(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_updated_at(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.UpdatedAt, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNDate2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_updated_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Date does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_created_at(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_created_at(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.CreatedAt, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNDate2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_created_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Date does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_last_version_date(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_last_version_date(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.LastVersionDate, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalODate2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_last_version_date(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Date does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_mod_reference(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_mod_reference(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.ModReference, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNModReference2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_mod_reference(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type ModReference does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_hidden(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_hidden(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Hidden, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_hidden(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_tags(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_tags(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Tags, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.([]*Tag) + fc.Result = res + return ec.marshalOTag2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTagᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_tags(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Tag_id(ctx, field) + case "name": + return ec.fieldContext_Tag_name(ctx, field) + case "description": + return ec.fieldContext_Tag_description(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Tag", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_compatibility(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_compatibility(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Compatibility, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*CompatibilityInfo) + fc.Result = res + return ec.marshalOCompatibilityInfo2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInfo(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_compatibility(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "EA": + return ec.fieldContext_CompatibilityInfo_EA(ctx, field) + case "EXP": + return ec.fieldContext_CompatibilityInfo_EXP(ctx, field) + case "Controller": + return ec.fieldContext_CompatibilityInfo_Controller(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type CompatibilityInfo", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_toggle_network_use(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_toggle_network_use(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.ToggleNetworkUse, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_toggle_network_use(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_network_use_disclosure(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_network_use_disclosure(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.NetworkUseDisclosure, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_network_use_disclosure(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_ai_use_disclosure(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_ai_use_disclosure(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.AiUseDisclosure, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*AIUseDisclosureInfo) + fc.Result = res + return ec.marshalOAIUseDisclosureInfo2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAIUseDisclosureInfo(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_ai_use_disclosure(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "disclosure_type": + return ec.fieldContext_AIUseDisclosureInfo_disclosure_type(ctx, field) + case "disclosure_string": + return ec.fieldContext_AIUseDisclosureInfo_disclosure_string(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type AIUseDisclosureInfo", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_toggle_explicit_content(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_toggle_explicit_content(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.ToggleExplicitContent, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_toggle_explicit_content(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_authors(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_authors(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mod().Authors(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*UserMod) + fc.Result = res + return ec.marshalNUserMod2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserModᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_authors(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "user_id": + return ec.fieldContext_UserMod_user_id(ctx, field) + case "mod_id": + return ec.fieldContext_UserMod_mod_id(ctx, field) + case "role": + return ec.fieldContext_UserMod_role(ctx, field) + case "user": + return ec.fieldContext_UserMod_user(ctx, field) + case "mod": + return ec.fieldContext_UserMod_mod(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type UserMod", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _Mod_version(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_version(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mod().Version(rctx, obj, fc.Args["version"].(string)) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*Version) + fc.Result = res + return ec.marshalOVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_version(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Version_id(ctx, field) + case "mod_id": + return ec.fieldContext_Version_mod_id(ctx, field) + case "version": + return ec.fieldContext_Version_version(ctx, field) + case "sml_version": + return ec.fieldContext_Version_sml_version(ctx, field) + case "game_version": + return ec.fieldContext_Version_game_version(ctx, field) + case "required_on_remote": + return ec.fieldContext_Version_required_on_remote(ctx, field) + case "changelog": + return ec.fieldContext_Version_changelog(ctx, field) + case "downloads": + return ec.fieldContext_Version_downloads(ctx, field) + case "stability": + return ec.fieldContext_Version_stability(ctx, field) + case "approved": + return ec.fieldContext_Version_approved(ctx, field) + case "updated_at": + return ec.fieldContext_Version_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Version_created_at(ctx, field) + case "link": + return ec.fieldContext_Version_link(ctx, field) + case "targets": + return ec.fieldContext_Version_targets(ctx, field) + case "metadata": + return ec.fieldContext_Version_metadata(ctx, field) + case "size": + return ec.fieldContext_Version_size(ctx, field) + case "hash": + return ec.fieldContext_Version_hash(ctx, field) + case "mod": + return ec.fieldContext_Version_mod(ctx, field) + case "dependencies": + return ec.fieldContext_Version_dependencies(ctx, field) + case "virustotal_results": + return ec.fieldContext_Version_virustotal_results(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mod_version_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mod_versions(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_versions(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mod().Versions(rctx, obj, fc.Args["filter"].(map[string]interface{})) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*Version) + fc.Result = res + return ec.marshalNVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_versions(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Version_id(ctx, field) + case "mod_id": + return ec.fieldContext_Version_mod_id(ctx, field) + case "version": + return ec.fieldContext_Version_version(ctx, field) + case "sml_version": + return ec.fieldContext_Version_sml_version(ctx, field) + case "game_version": + return ec.fieldContext_Version_game_version(ctx, field) + case "required_on_remote": + return ec.fieldContext_Version_required_on_remote(ctx, field) + case "changelog": + return ec.fieldContext_Version_changelog(ctx, field) + case "downloads": + return ec.fieldContext_Version_downloads(ctx, field) + case "stability": + return ec.fieldContext_Version_stability(ctx, field) + case "approved": + return ec.fieldContext_Version_approved(ctx, field) + case "updated_at": + return ec.fieldContext_Version_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Version_created_at(ctx, field) + case "link": + return ec.fieldContext_Version_link(ctx, field) + case "targets": + return ec.fieldContext_Version_targets(ctx, field) + case "metadata": + return ec.fieldContext_Version_metadata(ctx, field) + case "size": + return ec.fieldContext_Version_size(ctx, field) + case "hash": + return ec.fieldContext_Version_hash(ctx, field) + case "mod": + return ec.fieldContext_Version_mod(ctx, field) + case "dependencies": + return ec.fieldContext_Version_dependencies(ctx, field) + case "virustotal_results": + return ec.fieldContext_Version_virustotal_results(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mod_versions_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mod_latestVersions(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mod_latestVersions(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mod().LatestVersions(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*LatestVersions) + fc.Result = res + return ec.marshalNLatestVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐLatestVersions(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mod_latestVersions(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mod", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "alpha": + return ec.fieldContext_LatestVersions_alpha(ctx, field) + case "beta": + return ec.fieldContext_LatestVersions_beta(ctx, field) + case "release": + return ec.fieldContext_LatestVersions_release(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type LatestVersions", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _ModVersion_id(ctx context.Context, field graphql.CollectedField, obj *ModVersion) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_ModVersion_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.ID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNModID2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_ModVersion_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "ModVersion", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type ModID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _ModVersion_mod_reference(ctx context.Context, field graphql.CollectedField, obj *ModVersion) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_ModVersion_mod_reference(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.ModReference, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNModReference2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_ModVersion_mod_reference(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "ModVersion", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type ModReference does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _ModVersion_versions(ctx context.Context, field graphql.CollectedField, obj *ModVersion) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_ModVersion_versions(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Versions, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*Version) + fc.Result = res + return ec.marshalNVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_ModVersion_versions(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "ModVersion", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Version_id(ctx, field) + case "mod_id": + return ec.fieldContext_Version_mod_id(ctx, field) + case "version": + return ec.fieldContext_Version_version(ctx, field) + case "sml_version": + return ec.fieldContext_Version_sml_version(ctx, field) + case "game_version": + return ec.fieldContext_Version_game_version(ctx, field) + case "required_on_remote": + return ec.fieldContext_Version_required_on_remote(ctx, field) + case "changelog": + return ec.fieldContext_Version_changelog(ctx, field) + case "downloads": + return ec.fieldContext_Version_downloads(ctx, field) + case "stability": + return ec.fieldContext_Version_stability(ctx, field) + case "approved": + return ec.fieldContext_Version_approved(ctx, field) + case "updated_at": + return ec.fieldContext_Version_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Version_created_at(ctx, field) + case "link": + return ec.fieldContext_Version_link(ctx, field) + case "targets": + return ec.fieldContext_Version_targets(ctx, field) + case "metadata": + return ec.fieldContext_Version_metadata(ctx, field) + case "size": + return ec.fieldContext_Version_size(ctx, field) + case "hash": + return ec.fieldContext_Version_hash(ctx, field) + case "mod": + return ec.fieldContext_Version_mod(ctx, field) + case "dependencies": + return ec.fieldContext_Version_dependencies(ctx, field) + case "virustotal_results": + return ec.fieldContext_Version_virustotal_results(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _Mutation_discourseSSO(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_discourseSSO(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().DiscourseSso(rctx, fc.Args["sso"].(string), fc.Args["sig"].(string)) + } + + directive1 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal *string + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive0) + } + + tmp, err := directive1(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*string); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *string`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_discourseSSO(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_discourseSSO_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_createAnnouncement(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_createAnnouncement(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().CreateAnnouncement(rctx, fc.Args["announcement"].(NewAnnouncement)) + } + + directive1 := func(ctx context.Context) (any, error) { + if ec.directives.CanEditAnnouncements == nil { + var zeroVal *Announcement + return zeroVal, errors.New("directive canEditAnnouncements is not implemented") + } + return ec.directives.CanEditAnnouncements(ctx, nil, directive0) + } + directive2 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal *Announcement + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*Announcement); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.Announcement`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*Announcement) + fc.Result = res + return ec.marshalOAnnouncement2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncement(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_createAnnouncement(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Announcement_id(ctx, field) + case "message": + return ec.fieldContext_Announcement_message(ctx, field) + case "importance": + return ec.fieldContext_Announcement_importance(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Announcement", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_createAnnouncement_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_updateAnnouncement(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_updateAnnouncement(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().UpdateAnnouncement(rctx, fc.Args["announcementId"].(string), fc.Args["announcement"].(UpdateAnnouncement)) + } + + directive1 := func(ctx context.Context) (any, error) { + if ec.directives.CanEditAnnouncements == nil { + var zeroVal *Announcement + return zeroVal, errors.New("directive canEditAnnouncements is not implemented") + } + return ec.directives.CanEditAnnouncements(ctx, nil, directive0) + } + directive2 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal *Announcement + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*Announcement); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.Announcement`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*Announcement) + fc.Result = res + return ec.marshalNAnnouncement2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncement(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_updateAnnouncement(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Announcement_id(ctx, field) + case "message": + return ec.fieldContext_Announcement_message(ctx, field) + case "importance": + return ec.fieldContext_Announcement_importance(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Announcement", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_updateAnnouncement_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_deleteAnnouncement(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_deleteAnnouncement(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().DeleteAnnouncement(rctx, fc.Args["announcementId"].(string)) + } + + directive1 := func(ctx context.Context) (any, error) { + if ec.directives.CanEditAnnouncements == nil { + var zeroVal bool + return zeroVal, errors.New("directive canEditAnnouncements is not implemented") + } + return ec.directives.CanEditAnnouncements(ctx, nil, directive0) + } + directive2 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal bool + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(bool); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_deleteAnnouncement(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_deleteAnnouncement_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_updateModCompatibility(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_updateModCompatibility(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().UpdateModCompatibility(rctx, fc.Args["modId"].(string), fc.Args["compatibility"].(CompatibilityInfoInput)) + } + + directive1 := func(ctx context.Context) (any, error) { + field, err := ec.unmarshalOString2ᚖstring(ctx, "modId") + if err != nil { + var zeroVal bool + return zeroVal, err + } + if ec.directives.CanEditModCompatibility == nil { + var zeroVal bool + return zeroVal, errors.New("directive canEditModCompatibility is not implemented") + } + return ec.directives.CanEditModCompatibility(ctx, nil, directive0, field) + } + directive2 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal bool + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(bool); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_updateModCompatibility(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_updateModCompatibility_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_updateMultipleModCompatibilities(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_updateMultipleModCompatibilities(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().UpdateMultipleModCompatibilities(rctx, fc.Args["modIDs"].([]string), fc.Args["compatibility"].(CompatibilityInfoInput)) + } + + directive1 := func(ctx context.Context) (any, error) { + if ec.directives.CanEditModCompatibility == nil { + var zeroVal bool + return zeroVal, errors.New("directive canEditModCompatibility is not implemented") + } + return ec.directives.CanEditModCompatibility(ctx, nil, directive0, nil) + } + directive2 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal bool + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(bool); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_updateMultipleModCompatibilities(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_updateMultipleModCompatibilities_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_createGuide(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_createGuide(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().CreateGuide(rctx, fc.Args["guide"].(NewGuide)) + } + + directive1 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal *Guide + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive0) + } + + tmp, err := directive1(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*Guide); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.Guide`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*Guide) + fc.Result = res + return ec.marshalOGuide2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuide(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_createGuide(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Guide_id(ctx, field) + case "name": + return ec.fieldContext_Guide_name(ctx, field) + case "short_description": + return ec.fieldContext_Guide_short_description(ctx, field) + case "guide": + return ec.fieldContext_Guide_guide(ctx, field) + case "views": + return ec.fieldContext_Guide_views(ctx, field) + case "user_id": + return ec.fieldContext_Guide_user_id(ctx, field) + case "updated_at": + return ec.fieldContext_Guide_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Guide_created_at(ctx, field) + case "tags": + return ec.fieldContext_Guide_tags(ctx, field) + case "user": + return ec.fieldContext_Guide_user(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Guide", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_createGuide_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_updateGuide(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_updateGuide(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().UpdateGuide(rctx, fc.Args["guideId"].(string), fc.Args["guide"].(UpdateGuide)) + } + + directive1 := func(ctx context.Context) (any, error) { + field, err := ec.unmarshalNString2string(ctx, "guideId") + if err != nil { + var zeroVal *Guide + return zeroVal, err + } + if ec.directives.CanEditGuide == nil { + var zeroVal *Guide + return zeroVal, errors.New("directive canEditGuide is not implemented") + } + return ec.directives.CanEditGuide(ctx, nil, directive0, field) + } + directive2 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal *Guide + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*Guide); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.Guide`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*Guide) + fc.Result = res + return ec.marshalNGuide2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuide(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_updateGuide(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Guide_id(ctx, field) + case "name": + return ec.fieldContext_Guide_name(ctx, field) + case "short_description": + return ec.fieldContext_Guide_short_description(ctx, field) + case "guide": + return ec.fieldContext_Guide_guide(ctx, field) + case "views": + return ec.fieldContext_Guide_views(ctx, field) + case "user_id": + return ec.fieldContext_Guide_user_id(ctx, field) + case "updated_at": + return ec.fieldContext_Guide_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Guide_created_at(ctx, field) + case "tags": + return ec.fieldContext_Guide_tags(ctx, field) + case "user": + return ec.fieldContext_Guide_user(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Guide", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_updateGuide_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_deleteGuide(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_deleteGuide(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().DeleteGuide(rctx, fc.Args["guideId"].(string)) + } + + directive1 := func(ctx context.Context) (any, error) { + field, err := ec.unmarshalNString2string(ctx, "guideId") + if err != nil { + var zeroVal bool + return zeroVal, err + } + if ec.directives.CanEditGuide == nil { + var zeroVal bool + return zeroVal, errors.New("directive canEditGuide is not implemented") + } + return ec.directives.CanEditGuide(ctx, nil, directive0, field) + } + directive2 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal bool + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(bool); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_deleteGuide(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_deleteGuide_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_createMod(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_createMod(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().CreateMod(rctx, fc.Args["mod"].(NewMod)) + } + + directive1 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal *Mod + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive0) + } + + tmp, err := directive1(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*Mod); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.Mod`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*Mod) + fc.Result = res + return ec.marshalOMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_createMod(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Mod_id(ctx, field) + case "name": + return ec.fieldContext_Mod_name(ctx, field) + case "short_description": + return ec.fieldContext_Mod_short_description(ctx, field) + case "full_description": + return ec.fieldContext_Mod_full_description(ctx, field) + case "logo": + return ec.fieldContext_Mod_logo(ctx, field) + case "logo_thumbhash": + return ec.fieldContext_Mod_logo_thumbhash(ctx, field) + case "source_url": + return ec.fieldContext_Mod_source_url(ctx, field) + case "creator_id": + return ec.fieldContext_Mod_creator_id(ctx, field) + case "approved": + return ec.fieldContext_Mod_approved(ctx, field) + case "views": + return ec.fieldContext_Mod_views(ctx, field) + case "downloads": + return ec.fieldContext_Mod_downloads(ctx, field) + case "hotness": + return ec.fieldContext_Mod_hotness(ctx, field) + case "popularity": + return ec.fieldContext_Mod_popularity(ctx, field) + case "updated_at": + return ec.fieldContext_Mod_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Mod_created_at(ctx, field) + case "last_version_date": + return ec.fieldContext_Mod_last_version_date(ctx, field) + case "mod_reference": + return ec.fieldContext_Mod_mod_reference(ctx, field) + case "hidden": + return ec.fieldContext_Mod_hidden(ctx, field) + case "tags": + return ec.fieldContext_Mod_tags(ctx, field) + case "compatibility": + return ec.fieldContext_Mod_compatibility(ctx, field) + case "toggle_network_use": + return ec.fieldContext_Mod_toggle_network_use(ctx, field) + case "network_use_disclosure": + return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "ai_use_disclosure": + return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) + case "toggle_explicit_content": + return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) + case "authors": + return ec.fieldContext_Mod_authors(ctx, field) + case "version": + return ec.fieldContext_Mod_version(ctx, field) + case "versions": + return ec.fieldContext_Mod_versions(ctx, field) + case "latestVersions": + return ec.fieldContext_Mod_latestVersions(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_createMod_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_updateMod(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_updateMod(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().UpdateMod(rctx, fc.Args["modId"].(string), fc.Args["mod"].(UpdateMod)) + } + + directive1 := func(ctx context.Context) (any, error) { + field, err := ec.unmarshalNString2string(ctx, "modId") + if err != nil { + var zeroVal *Mod + return zeroVal, err + } + if ec.directives.CanEditMod == nil { + var zeroVal *Mod + return zeroVal, errors.New("directive canEditMod is not implemented") + } + return ec.directives.CanEditMod(ctx, nil, directive0, field) + } + directive2 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal *Mod + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*Mod); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.Mod`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*Mod) + fc.Result = res + return ec.marshalNMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_updateMod(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Mod_id(ctx, field) + case "name": + return ec.fieldContext_Mod_name(ctx, field) + case "short_description": + return ec.fieldContext_Mod_short_description(ctx, field) + case "full_description": + return ec.fieldContext_Mod_full_description(ctx, field) + case "logo": + return ec.fieldContext_Mod_logo(ctx, field) + case "logo_thumbhash": + return ec.fieldContext_Mod_logo_thumbhash(ctx, field) + case "source_url": + return ec.fieldContext_Mod_source_url(ctx, field) + case "creator_id": + return ec.fieldContext_Mod_creator_id(ctx, field) + case "approved": + return ec.fieldContext_Mod_approved(ctx, field) + case "views": + return ec.fieldContext_Mod_views(ctx, field) + case "downloads": + return ec.fieldContext_Mod_downloads(ctx, field) + case "hotness": + return ec.fieldContext_Mod_hotness(ctx, field) + case "popularity": + return ec.fieldContext_Mod_popularity(ctx, field) + case "updated_at": + return ec.fieldContext_Mod_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Mod_created_at(ctx, field) + case "last_version_date": + return ec.fieldContext_Mod_last_version_date(ctx, field) + case "mod_reference": + return ec.fieldContext_Mod_mod_reference(ctx, field) + case "hidden": + return ec.fieldContext_Mod_hidden(ctx, field) + case "tags": + return ec.fieldContext_Mod_tags(ctx, field) + case "compatibility": + return ec.fieldContext_Mod_compatibility(ctx, field) + case "toggle_network_use": + return ec.fieldContext_Mod_toggle_network_use(ctx, field) + case "network_use_disclosure": + return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "ai_use_disclosure": + return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) + case "toggle_explicit_content": + return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) + case "authors": + return ec.fieldContext_Mod_authors(ctx, field) + case "version": + return ec.fieldContext_Mod_version(ctx, field) + case "versions": + return ec.fieldContext_Mod_versions(ctx, field) + case "latestVersions": + return ec.fieldContext_Mod_latestVersions(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_updateMod_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_deleteMod(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_deleteMod(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().DeleteMod(rctx, fc.Args["modId"].(string)) + } + + directive1 := func(ctx context.Context) (any, error) { + field, err := ec.unmarshalNString2string(ctx, "modId") + if err != nil { + var zeroVal bool + return zeroVal, err + } + if ec.directives.CanEditMod == nil { + var zeroVal bool + return zeroVal, errors.New("directive canEditMod is not implemented") + } + return ec.directives.CanEditMod(ctx, nil, directive0, field) + } + directive2 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal bool + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(bool); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_deleteMod(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_deleteMod_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_approveMod(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_approveMod(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().ApproveMod(rctx, fc.Args["modId"].(string)) + } + + directive1 := func(ctx context.Context) (any, error) { + if ec.directives.CanApproveMods == nil { + var zeroVal bool + return zeroVal, errors.New("directive canApproveMods is not implemented") + } + return ec.directives.CanApproveMods(ctx, nil, directive0) + } + directive2 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal bool + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(bool); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_approveMod(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_approveMod_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_denyMod(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_denyMod(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().DenyMod(rctx, fc.Args["modId"].(string)) + } + + directive1 := func(ctx context.Context) (any, error) { + if ec.directives.CanApproveMods == nil { + var zeroVal bool + return zeroVal, errors.New("directive canApproveMods is not implemented") + } + return ec.directives.CanApproveMods(ctx, nil, directive0) + } + directive2 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal bool + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(bool); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_denyMod(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_denyMod_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_createSatisfactoryVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_createSatisfactoryVersion(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().CreateSatisfactoryVersion(rctx, fc.Args["input"].(NewSatisfactoryVersion)) + } + + directive1 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal *SatisfactoryVersion + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive0) + } + directive2 := func(ctx context.Context) (any, error) { + if ec.directives.CanEditSatisfactoryVersions == nil { + var zeroVal *SatisfactoryVersion + return zeroVal, errors.New("directive canEditSatisfactoryVersions is not implemented") + } + return ec.directives.CanEditSatisfactoryVersions(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*SatisfactoryVersion); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.SatisfactoryVersion`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*SatisfactoryVersion) + fc.Result = res + return ec.marshalNSatisfactoryVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSatisfactoryVersion(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_createSatisfactoryVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_SatisfactoryVersion_id(ctx, field) + case "version": + return ec.fieldContext_SatisfactoryVersion_version(ctx, field) + case "engine_version": + return ec.fieldContext_SatisfactoryVersion_engine_version(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type SatisfactoryVersion", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_createSatisfactoryVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_updateSatisfactoryVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_updateSatisfactoryVersion(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().UpdateSatisfactoryVersion(rctx, fc.Args["id"].(string), fc.Args["input"].(UpdateSatisfactoryVersion)) + } + + directive1 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal *SatisfactoryVersion + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive0) + } + directive2 := func(ctx context.Context) (any, error) { + if ec.directives.CanEditSatisfactoryVersions == nil { + var zeroVal *SatisfactoryVersion + return zeroVal, errors.New("directive canEditSatisfactoryVersions is not implemented") + } + return ec.directives.CanEditSatisfactoryVersions(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*SatisfactoryVersion); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.SatisfactoryVersion`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*SatisfactoryVersion) + fc.Result = res + return ec.marshalNSatisfactoryVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSatisfactoryVersion(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_updateSatisfactoryVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_SatisfactoryVersion_id(ctx, field) + case "version": + return ec.fieldContext_SatisfactoryVersion_version(ctx, field) + case "engine_version": + return ec.fieldContext_SatisfactoryVersion_engine_version(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type SatisfactoryVersion", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_updateSatisfactoryVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_deleteSatisfactoryVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_deleteSatisfactoryVersion(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().DeleteSatisfactoryVersion(rctx, fc.Args["id"].(string)) + } + + directive1 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal bool + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive0) + } + directive2 := func(ctx context.Context) (any, error) { + if ec.directives.CanEditSatisfactoryVersions == nil { + var zeroVal bool + return zeroVal, errors.New("directive canEditSatisfactoryVersions is not implemented") + } + return ec.directives.CanEditSatisfactoryVersions(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(bool); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_deleteSatisfactoryVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_deleteSatisfactoryVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_createTag(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_createTag(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().CreateTag(rctx, fc.Args["tagName"].(string), fc.Args["description"].(string)) + } + + directive1 := func(ctx context.Context) (any, error) { + if ec.directives.CanManageTags == nil { + var zeroVal *Tag + return zeroVal, errors.New("directive canManageTags is not implemented") + } + return ec.directives.CanManageTags(ctx, nil, directive0) + } + directive2 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal *Tag + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*Tag); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.Tag`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*Tag) + fc.Result = res + return ec.marshalOTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTag(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_createTag(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Tag_id(ctx, field) + case "name": + return ec.fieldContext_Tag_name(ctx, field) + case "description": + return ec.fieldContext_Tag_description(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Tag", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_createTag_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_createMultipleTags(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_createMultipleTags(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().CreateMultipleTags(rctx, fc.Args["tagNames"].([]*NewTag)) + } + + directive1 := func(ctx context.Context) (any, error) { + if ec.directives.CanManageTags == nil { + var zeroVal []*Tag + return zeroVal, errors.New("directive canManageTags is not implemented") + } + return ec.directives.CanManageTags(ctx, nil, directive0) + } + directive2 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal []*Tag + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.([]*Tag); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be []*github.com/satisfactorymodding/smr-api/generated.Tag`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*Tag) + fc.Result = res + return ec.marshalNTag2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTagᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_createMultipleTags(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Tag_id(ctx, field) + case "name": + return ec.fieldContext_Tag_name(ctx, field) + case "description": + return ec.fieldContext_Tag_description(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Tag", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_createMultipleTags_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_updateTag(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_updateTag(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().UpdateTag(rctx, fc.Args["tagID"].(string), fc.Args["NewName"].(string), fc.Args["description"].(string)) + } + + directive1 := func(ctx context.Context) (any, error) { + if ec.directives.CanManageTags == nil { + var zeroVal *Tag + return zeroVal, errors.New("directive canManageTags is not implemented") + } + return ec.directives.CanManageTags(ctx, nil, directive0) + } + directive2 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal *Tag + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*Tag); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.Tag`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*Tag) + fc.Result = res + return ec.marshalNTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTag(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_updateTag(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Tag_id(ctx, field) + case "name": + return ec.fieldContext_Tag_name(ctx, field) + case "description": + return ec.fieldContext_Tag_description(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Tag", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_updateTag_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_deleteTag(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_deleteTag(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().DeleteTag(rctx, fc.Args["tagID"].(string)) + } + + directive1 := func(ctx context.Context) (any, error) { + if ec.directives.CanManageTags == nil { + var zeroVal bool + return zeroVal, errors.New("directive canManageTags is not implemented") + } + return ec.directives.CanManageTags(ctx, nil, directive0) + } + directive2 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal bool + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(bool); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_deleteTag(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_deleteTag_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_updateUser(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_updateUser(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().UpdateUser(rctx, fc.Args["userId"].(string), fc.Args["input"].(UpdateUser)) + } + + directive1 := func(ctx context.Context) (any, error) { + field, err := ec.unmarshalNString2string(ctx, "userId") + if err != nil { + var zeroVal *User + return zeroVal, err + } + object, err := ec.unmarshalNBoolean2bool(ctx, false) + if err != nil { + var zeroVal *User + return zeroVal, err + } + if ec.directives.CanEditUser == nil { + var zeroVal *User + return zeroVal, errors.New("directive canEditUser is not implemented") + } + return ec.directives.CanEditUser(ctx, nil, directive0, field, object) + } + directive2 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal *User + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*User); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.User`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*User) + fc.Result = res + return ec.marshalNUser2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_updateUser(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_User_id(ctx, field) + case "email": + return ec.fieldContext_User_email(ctx, field) + case "username": + return ec.fieldContext_User_username(ctx, field) + case "avatar": + return ec.fieldContext_User_avatar(ctx, field) + case "avatar_thumbhash": + return ec.fieldContext_User_avatar_thumbhash(ctx, field) + case "created_at": + return ec.fieldContext_User_created_at(ctx, field) + case "github_id": + return ec.fieldContext_User_github_id(ctx, field) + case "google_id": + return ec.fieldContext_User_google_id(ctx, field) + case "facebook_id": + return ec.fieldContext_User_facebook_id(ctx, field) + case "roles": + return ec.fieldContext_User_roles(ctx, field) + case "groups": + return ec.fieldContext_User_groups(ctx, field) + case "mods": + return ec.fieldContext_User_mods(ctx, field) + case "guides": + return ec.fieldContext_User_guides(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type User", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_updateUser_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_logout(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_logout(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().Logout(rctx) + } + + directive1 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal bool + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive0) + } + + tmp, err := directive1(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(bool); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_logout(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Mutation_oAuthGithub(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_oAuthGithub(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().OAuthGithub(rctx, fc.Args["code"].(string), fc.Args["state"].(string)) + } + + directive1 := func(ctx context.Context) (any, error) { + if ec.directives.IsNotLoggedIn == nil { + var zeroVal *UserSession + return zeroVal, errors.New("directive isNotLoggedIn is not implemented") + } + return ec.directives.IsNotLoggedIn(ctx, nil, directive0) + } + + tmp, err := directive1(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*UserSession); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.UserSession`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*UserSession) + fc.Result = res + return ec.marshalOUserSession2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserSession(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_oAuthGithub(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "token": + return ec.fieldContext_UserSession_token(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type UserSession", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_oAuthGithub_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_oAuthGoogle(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_oAuthGoogle(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().OAuthGoogle(rctx, fc.Args["code"].(string), fc.Args["state"].(string)) + } + + directive1 := func(ctx context.Context) (any, error) { + if ec.directives.IsNotLoggedIn == nil { + var zeroVal *UserSession + return zeroVal, errors.New("directive isNotLoggedIn is not implemented") + } + return ec.directives.IsNotLoggedIn(ctx, nil, directive0) + } + + tmp, err := directive1(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*UserSession); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.UserSession`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*UserSession) + fc.Result = res + return ec.marshalOUserSession2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserSession(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_oAuthGoogle(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "token": + return ec.fieldContext_UserSession_token(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type UserSession", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_oAuthGoogle_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_oAuthFacebook(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_oAuthFacebook(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().OAuthFacebook(rctx, fc.Args["code"].(string), fc.Args["state"].(string)) + } + + directive1 := func(ctx context.Context) (any, error) { + if ec.directives.IsNotLoggedIn == nil { + var zeroVal *UserSession + return zeroVal, errors.New("directive isNotLoggedIn is not implemented") + } + return ec.directives.IsNotLoggedIn(ctx, nil, directive0) + } + + tmp, err := directive1(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*UserSession); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.UserSession`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*UserSession) + fc.Result = res + return ec.marshalOUserSession2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserSession(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_oAuthFacebook(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "token": + return ec.fieldContext_UserSession_token(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type UserSession", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_oAuthFacebook_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_createVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_createVersion(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().CreateVersion(rctx, fc.Args["modId"].(string)) + } + + directive1 := func(ctx context.Context) (any, error) { + field, err := ec.unmarshalNString2string(ctx, "modId") + if err != nil { + var zeroVal string + return zeroVal, err + } + if ec.directives.CanEditMod == nil { + var zeroVal string + return zeroVal, errors.New("directive canEditMod is not implemented") + } + return ec.directives.CanEditMod(ctx, nil, directive0, field) + } + directive2 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal string + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(string); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be string`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNVersionID2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_createVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type VersionID does not have child fields") + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_createVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_uploadVersionPart(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_uploadVersionPart(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().UploadVersionPart(rctx, fc.Args["modId"].(string), fc.Args["versionId"].(string), fc.Args["part"].(int), fc.Args["file"].(graphql.Upload)) + } + + directive1 := func(ctx context.Context) (any, error) { + field, err := ec.unmarshalNString2string(ctx, "modId") + if err != nil { + var zeroVal bool + return zeroVal, err + } + if ec.directives.CanEditMod == nil { + var zeroVal bool + return zeroVal, errors.New("directive canEditMod is not implemented") + } + return ec.directives.CanEditMod(ctx, nil, directive0, field) + } + directive2 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal bool + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(bool); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_uploadVersionPart(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_uploadVersionPart_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_finalizeCreateVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_finalizeCreateVersion(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().FinalizeCreateVersion(rctx, fc.Args["modId"].(string), fc.Args["versionId"].(string), fc.Args["version"].(NewVersion)) + } + + directive1 := func(ctx context.Context) (any, error) { + field, err := ec.unmarshalNString2string(ctx, "modId") + if err != nil { + var zeroVal bool + return zeroVal, err + } + if ec.directives.CanEditMod == nil { + var zeroVal bool + return zeroVal, errors.New("directive canEditMod is not implemented") + } + return ec.directives.CanEditMod(ctx, nil, directive0, field) + } + directive2 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal bool + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(bool); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_finalizeCreateVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_finalizeCreateVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_updateVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_updateVersion(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().UpdateVersion(rctx, fc.Args["versionId"].(string), fc.Args["version"].(UpdateVersion)) + } + + directive1 := func(ctx context.Context) (any, error) { + field, err := ec.unmarshalNString2string(ctx, "versionId") + if err != nil { + var zeroVal *Version + return zeroVal, err + } + if ec.directives.CanEditVersion == nil { + var zeroVal *Version + return zeroVal, errors.New("directive canEditVersion is not implemented") + } + return ec.directives.CanEditVersion(ctx, nil, directive0, field) + } + directive2 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal *Version + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*Version); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.Version`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*Version) + fc.Result = res + return ec.marshalNVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_updateVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Version_id(ctx, field) + case "mod_id": + return ec.fieldContext_Version_mod_id(ctx, field) + case "version": + return ec.fieldContext_Version_version(ctx, field) + case "sml_version": + return ec.fieldContext_Version_sml_version(ctx, field) + case "game_version": + return ec.fieldContext_Version_game_version(ctx, field) + case "required_on_remote": + return ec.fieldContext_Version_required_on_remote(ctx, field) + case "changelog": + return ec.fieldContext_Version_changelog(ctx, field) + case "downloads": + return ec.fieldContext_Version_downloads(ctx, field) + case "stability": + return ec.fieldContext_Version_stability(ctx, field) + case "approved": + return ec.fieldContext_Version_approved(ctx, field) + case "updated_at": + return ec.fieldContext_Version_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Version_created_at(ctx, field) + case "link": + return ec.fieldContext_Version_link(ctx, field) + case "targets": + return ec.fieldContext_Version_targets(ctx, field) + case "metadata": + return ec.fieldContext_Version_metadata(ctx, field) + case "size": + return ec.fieldContext_Version_size(ctx, field) + case "hash": + return ec.fieldContext_Version_hash(ctx, field) + case "mod": + return ec.fieldContext_Version_mod(ctx, field) + case "dependencies": + return ec.fieldContext_Version_dependencies(ctx, field) + case "virustotal_results": + return ec.fieldContext_Version_virustotal_results(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_updateVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_deleteVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_deleteVersion(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().DeleteVersion(rctx, fc.Args["versionId"].(string)) + } + + directive1 := func(ctx context.Context) (any, error) { + field, err := ec.unmarshalNString2string(ctx, "versionId") + if err != nil { + var zeroVal bool + return zeroVal, err + } + if ec.directives.CanEditVersion == nil { + var zeroVal bool + return zeroVal, errors.New("directive canEditVersion is not implemented") + } + return ec.directives.CanEditVersion(ctx, nil, directive0, field) + } + directive2 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal bool + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(bool); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_deleteVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_deleteVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_approveVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_approveVersion(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().ApproveVersion(rctx, fc.Args["versionId"].(string)) + } + + directive1 := func(ctx context.Context) (any, error) { + if ec.directives.CanApproveVersions == nil { + var zeroVal bool + return zeroVal, errors.New("directive canApproveVersions is not implemented") + } + return ec.directives.CanApproveVersions(ctx, nil, directive0) + } + directive2 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal bool + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(bool); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_approveVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_approveVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Mutation_denyVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Mutation_denyVersion(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Mutation().DenyVersion(rctx, fc.Args["versionId"].(string)) + } + + directive1 := func(ctx context.Context) (any, error) { + if ec.directives.CanApproveVersions == nil { + var zeroVal bool + return zeroVal, errors.New("directive canApproveVersions is not implemented") + } + return ec.directives.CanApproveVersions(ctx, nil, directive0) + } + directive2 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal bool + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(bool); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be bool`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Mutation_denyVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Mutation", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Mutation_denyVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _OAuthOptions_github(ctx context.Context, field graphql.CollectedField, obj *OAuthOptions) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_OAuthOptions_github(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Github, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_OAuthOptions_github(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "OAuthOptions", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _OAuthOptions_google(ctx context.Context, field graphql.CollectedField, obj *OAuthOptions) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_OAuthOptions_google(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Google, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_OAuthOptions_google(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "OAuthOptions", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _OAuthOptions_facebook(ctx context.Context, field graphql.CollectedField, obj *OAuthOptions) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_OAuthOptions_facebook(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Facebook, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_OAuthOptions_facebook(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "OAuthOptions", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Query_getOAuthOptions(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getOAuthOptions(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetOAuthOptions(rctx, fc.Args["callback_url"].(string)) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*OAuthOptions) + fc.Result = res + return ec.marshalNOAuthOptions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOAuthOptions(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getOAuthOptions(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "github": + return ec.fieldContext_OAuthOptions_github(ctx, field) + case "google": + return ec.fieldContext_OAuthOptions_google(ctx, field) + case "facebook": + return ec.fieldContext_OAuthOptions_facebook(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type OAuthOptions", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getOAuthOptions_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getAnnouncement(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getAnnouncement(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetAnnouncement(rctx, fc.Args["announcementId"].(string)) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*Announcement) + fc.Result = res + return ec.marshalOAnnouncement2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncement(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getAnnouncement(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Announcement_id(ctx, field) + case "message": + return ec.fieldContext_Announcement_message(ctx, field) + case "importance": + return ec.fieldContext_Announcement_importance(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Announcement", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getAnnouncement_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getAnnouncements(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getAnnouncements(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetAnnouncements(rctx) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*Announcement) + fc.Result = res + return ec.marshalNAnnouncement2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getAnnouncements(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Announcement_id(ctx, field) + case "message": + return ec.fieldContext_Announcement_message(ctx, field) + case "importance": + return ec.fieldContext_Announcement_importance(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Announcement", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _Query_getAnnouncementsByImportance(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getAnnouncementsByImportance(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetAnnouncementsByImportance(rctx, fc.Args["importance"].(AnnouncementImportance)) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*Announcement) + fc.Result = res + return ec.marshalNAnnouncement2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getAnnouncementsByImportance(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Announcement_id(ctx, field) + case "message": + return ec.fieldContext_Announcement_message(ctx, field) + case "importance": + return ec.fieldContext_Announcement_importance(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Announcement", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getAnnouncementsByImportance_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getGuide(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getGuide(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetGuide(rctx, fc.Args["guideId"].(string)) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*Guide) + fc.Result = res + return ec.marshalOGuide2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuide(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getGuide(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Guide_id(ctx, field) + case "name": + return ec.fieldContext_Guide_name(ctx, field) + case "short_description": + return ec.fieldContext_Guide_short_description(ctx, field) + case "guide": + return ec.fieldContext_Guide_guide(ctx, field) + case "views": + return ec.fieldContext_Guide_views(ctx, field) + case "user_id": + return ec.fieldContext_Guide_user_id(ctx, field) + case "updated_at": + return ec.fieldContext_Guide_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Guide_created_at(ctx, field) + case "tags": + return ec.fieldContext_Guide_tags(ctx, field) + case "user": + return ec.fieldContext_Guide_user(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Guide", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getGuide_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getGuides(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getGuides(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetGuides(rctx, fc.Args["filter"].(map[string]interface{})) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*GetGuides) + fc.Result = res + return ec.marshalNGetGuides2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetGuides(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getGuides(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "guides": + return ec.fieldContext_GetGuides_guides(ctx, field) + case "count": + return ec.fieldContext_GetGuides_count(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type GetGuides", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getGuides_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getMod(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getMod(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetMod(rctx, fc.Args["modId"].(string)) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*Mod) + fc.Result = res + return ec.marshalOMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getMod(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Mod_id(ctx, field) + case "name": + return ec.fieldContext_Mod_name(ctx, field) + case "short_description": + return ec.fieldContext_Mod_short_description(ctx, field) + case "full_description": + return ec.fieldContext_Mod_full_description(ctx, field) + case "logo": + return ec.fieldContext_Mod_logo(ctx, field) + case "logo_thumbhash": + return ec.fieldContext_Mod_logo_thumbhash(ctx, field) + case "source_url": + return ec.fieldContext_Mod_source_url(ctx, field) + case "creator_id": + return ec.fieldContext_Mod_creator_id(ctx, field) + case "approved": + return ec.fieldContext_Mod_approved(ctx, field) + case "views": + return ec.fieldContext_Mod_views(ctx, field) + case "downloads": + return ec.fieldContext_Mod_downloads(ctx, field) + case "hotness": + return ec.fieldContext_Mod_hotness(ctx, field) + case "popularity": + return ec.fieldContext_Mod_popularity(ctx, field) + case "updated_at": + return ec.fieldContext_Mod_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Mod_created_at(ctx, field) + case "last_version_date": + return ec.fieldContext_Mod_last_version_date(ctx, field) + case "mod_reference": + return ec.fieldContext_Mod_mod_reference(ctx, field) + case "hidden": + return ec.fieldContext_Mod_hidden(ctx, field) + case "tags": + return ec.fieldContext_Mod_tags(ctx, field) + case "compatibility": + return ec.fieldContext_Mod_compatibility(ctx, field) + case "toggle_network_use": + return ec.fieldContext_Mod_toggle_network_use(ctx, field) + case "network_use_disclosure": + return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "ai_use_disclosure": + return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) + case "toggle_explicit_content": + return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) + case "authors": + return ec.fieldContext_Mod_authors(ctx, field) + case "version": + return ec.fieldContext_Mod_version(ctx, field) + case "versions": + return ec.fieldContext_Mod_versions(ctx, field) + case "latestVersions": + return ec.fieldContext_Mod_latestVersions(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getMod_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getModByReference(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getModByReference(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetModByReference(rctx, fc.Args["modReference"].(string)) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*Mod) + fc.Result = res + return ec.marshalOMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getModByReference(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Mod_id(ctx, field) + case "name": + return ec.fieldContext_Mod_name(ctx, field) + case "short_description": + return ec.fieldContext_Mod_short_description(ctx, field) + case "full_description": + return ec.fieldContext_Mod_full_description(ctx, field) + case "logo": + return ec.fieldContext_Mod_logo(ctx, field) + case "logo_thumbhash": + return ec.fieldContext_Mod_logo_thumbhash(ctx, field) + case "source_url": + return ec.fieldContext_Mod_source_url(ctx, field) + case "creator_id": + return ec.fieldContext_Mod_creator_id(ctx, field) + case "approved": + return ec.fieldContext_Mod_approved(ctx, field) + case "views": + return ec.fieldContext_Mod_views(ctx, field) + case "downloads": + return ec.fieldContext_Mod_downloads(ctx, field) + case "hotness": + return ec.fieldContext_Mod_hotness(ctx, field) + case "popularity": + return ec.fieldContext_Mod_popularity(ctx, field) + case "updated_at": + return ec.fieldContext_Mod_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Mod_created_at(ctx, field) + case "last_version_date": + return ec.fieldContext_Mod_last_version_date(ctx, field) + case "mod_reference": + return ec.fieldContext_Mod_mod_reference(ctx, field) + case "hidden": + return ec.fieldContext_Mod_hidden(ctx, field) + case "tags": + return ec.fieldContext_Mod_tags(ctx, field) + case "compatibility": + return ec.fieldContext_Mod_compatibility(ctx, field) + case "toggle_network_use": + return ec.fieldContext_Mod_toggle_network_use(ctx, field) + case "network_use_disclosure": + return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "ai_use_disclosure": + return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) + case "toggle_explicit_content": + return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) + case "authors": + return ec.fieldContext_Mod_authors(ctx, field) + case "version": + return ec.fieldContext_Mod_version(ctx, field) + case "versions": + return ec.fieldContext_Mod_versions(ctx, field) + case "latestVersions": + return ec.fieldContext_Mod_latestVersions(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getModByReference_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getModByIdOrReference(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getModByIdOrReference(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetModByIDOrReference(rctx, fc.Args["modIdOrReference"].(string)) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*Mod) + fc.Result = res + return ec.marshalOMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getModByIdOrReference(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Mod_id(ctx, field) + case "name": + return ec.fieldContext_Mod_name(ctx, field) + case "short_description": + return ec.fieldContext_Mod_short_description(ctx, field) + case "full_description": + return ec.fieldContext_Mod_full_description(ctx, field) + case "logo": + return ec.fieldContext_Mod_logo(ctx, field) + case "logo_thumbhash": + return ec.fieldContext_Mod_logo_thumbhash(ctx, field) + case "source_url": + return ec.fieldContext_Mod_source_url(ctx, field) + case "creator_id": + return ec.fieldContext_Mod_creator_id(ctx, field) + case "approved": + return ec.fieldContext_Mod_approved(ctx, field) + case "views": + return ec.fieldContext_Mod_views(ctx, field) + case "downloads": + return ec.fieldContext_Mod_downloads(ctx, field) + case "hotness": + return ec.fieldContext_Mod_hotness(ctx, field) + case "popularity": + return ec.fieldContext_Mod_popularity(ctx, field) + case "updated_at": + return ec.fieldContext_Mod_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Mod_created_at(ctx, field) + case "last_version_date": + return ec.fieldContext_Mod_last_version_date(ctx, field) + case "mod_reference": + return ec.fieldContext_Mod_mod_reference(ctx, field) + case "hidden": + return ec.fieldContext_Mod_hidden(ctx, field) + case "tags": + return ec.fieldContext_Mod_tags(ctx, field) + case "compatibility": + return ec.fieldContext_Mod_compatibility(ctx, field) + case "toggle_network_use": + return ec.fieldContext_Mod_toggle_network_use(ctx, field) + case "network_use_disclosure": + return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "ai_use_disclosure": + return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) + case "toggle_explicit_content": + return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) + case "authors": + return ec.fieldContext_Mod_authors(ctx, field) + case "version": + return ec.fieldContext_Mod_version(ctx, field) + case "versions": + return ec.fieldContext_Mod_versions(ctx, field) + case "latestVersions": + return ec.fieldContext_Mod_latestVersions(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getModByIdOrReference_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getMods(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getMods(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetMods(rctx, fc.Args["filter"].(map[string]interface{})) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*GetMods) + fc.Result = res + return ec.marshalNGetMods2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMods(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getMods(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "mods": + return ec.fieldContext_GetMods_mods(ctx, field) + case "count": + return ec.fieldContext_GetMods_count(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type GetMods", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getMods_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getUnapprovedMods(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getUnapprovedMods(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetUnapprovedMods(rctx, fc.Args["filter"].(map[string]interface{})) + } + + directive1 := func(ctx context.Context) (any, error) { + if ec.directives.CanApproveMods == nil { + var zeroVal *GetMods + return zeroVal, errors.New("directive canApproveMods is not implemented") + } + return ec.directives.CanApproveMods(ctx, nil, directive0) + } + directive2 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal *GetMods + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*GetMods); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.GetMods`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*GetMods) + fc.Result = res + return ec.marshalNGetMods2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMods(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getUnapprovedMods(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "mods": + return ec.fieldContext_GetMods_mods(ctx, field) + case "count": + return ec.fieldContext_GetMods_count(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type GetMods", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getUnapprovedMods_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getMyMods(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getMyMods(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetMyMods(rctx, fc.Args["filter"].(map[string]interface{})) + } + + directive1 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal *GetMyMods + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive0) + } + + tmp, err := directive1(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*GetMyMods); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.GetMyMods`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*GetMyMods) + fc.Result = res + return ec.marshalNGetMyMods2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMyMods(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getMyMods(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "mods": + return ec.fieldContext_GetMyMods_mods(ctx, field) + case "count": + return ec.fieldContext_GetMyMods_count(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type GetMyMods", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getMyMods_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getMyUnapprovedMods(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getMyUnapprovedMods(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetMyUnapprovedMods(rctx, fc.Args["filter"].(map[string]interface{})) + } + + directive1 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal *GetMyMods + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive0) + } + + tmp, err := directive1(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*GetMyMods); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.GetMyMods`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*GetMyMods) + fc.Result = res + return ec.marshalNGetMyMods2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMyMods(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getMyUnapprovedMods(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "mods": + return ec.fieldContext_GetMyMods_mods(ctx, field) + case "count": + return ec.fieldContext_GetMyMods_count(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type GetMyMods", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getMyUnapprovedMods_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_resolveModVersions(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_resolveModVersions(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().ResolveModVersions(rctx, fc.Args["filter"].([]*ModVersionConstraint)) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*ModVersion) + fc.Result = res + return ec.marshalNModVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModVersionᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_resolveModVersions(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_ModVersion_id(ctx, field) + case "mod_reference": + return ec.fieldContext_ModVersion_mod_reference(ctx, field) + case "versions": + return ec.fieldContext_ModVersion_versions(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type ModVersion", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_resolveModVersions_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getModAssetList(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getModAssetList(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetModAssetList(rctx, fc.Args["modReference"].(string)) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]string) + fc.Result = res + return ec.marshalNString2ᚕstringᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getModAssetList(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getModAssetList_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getSatisfactoryVersions(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getSatisfactoryVersions(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetSatisfactoryVersions(rctx) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*SatisfactoryVersion) + fc.Result = res + return ec.marshalNSatisfactoryVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSatisfactoryVersionᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getSatisfactoryVersions(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_SatisfactoryVersion_id(ctx, field) + case "version": + return ec.fieldContext_SatisfactoryVersion_version(ctx, field) + case "engine_version": + return ec.fieldContext_SatisfactoryVersion_engine_version(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type SatisfactoryVersion", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _Query_getSatisfactoryVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getSatisfactoryVersion(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetSatisfactoryVersion(rctx, fc.Args["id"].(string)) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*SatisfactoryVersion) + fc.Result = res + return ec.marshalOSatisfactoryVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSatisfactoryVersion(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getSatisfactoryVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_SatisfactoryVersion_id(ctx, field) + case "version": + return ec.fieldContext_SatisfactoryVersion_version(ctx, field) + case "engine_version": + return ec.fieldContext_SatisfactoryVersion_engine_version(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type SatisfactoryVersion", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getSatisfactoryVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getSMLVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getSMLVersion(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetSMLVersion(rctx, fc.Args["smlVersionID"].(string)) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*SMLVersion) + fc.Result = res + return ec.marshalOSMLVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersion(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getSMLVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_SMLVersion_id(ctx, field) + case "version": + return ec.fieldContext_SMLVersion_version(ctx, field) + case "satisfactory_version": + return ec.fieldContext_SMLVersion_satisfactory_version(ctx, field) + case "stability": + return ec.fieldContext_SMLVersion_stability(ctx, field) + case "link": + return ec.fieldContext_SMLVersion_link(ctx, field) + case "targets": + return ec.fieldContext_SMLVersion_targets(ctx, field) + case "changelog": + return ec.fieldContext_SMLVersion_changelog(ctx, field) + case "date": + return ec.fieldContext_SMLVersion_date(ctx, field) + case "bootstrap_version": + return ec.fieldContext_SMLVersion_bootstrap_version(ctx, field) + case "engine_version": + return ec.fieldContext_SMLVersion_engine_version(ctx, field) + case "updated_at": + return ec.fieldContext_SMLVersion_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_SMLVersion_created_at(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type SMLVersion", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getSMLVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getSMLVersions(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getSMLVersions(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetSMLVersions(rctx, fc.Args["filter"].(map[string]interface{})) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*GetSMLVersions) + fc.Result = res + return ec.marshalNGetSMLVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetSMLVersions(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getSMLVersions(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "sml_versions": + return ec.fieldContext_GetSMLVersions_sml_versions(ctx, field) + case "count": + return ec.fieldContext_GetSMLVersions_count(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type GetSMLVersions", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getSMLVersions_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getTag(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getTag(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetTag(rctx, fc.Args["tagID"].(string)) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*Tag) + fc.Result = res + return ec.marshalOTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTag(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getTag(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Tag_id(ctx, field) + case "name": + return ec.fieldContext_Tag_name(ctx, field) + case "description": + return ec.fieldContext_Tag_description(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Tag", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getTag_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getTags(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getTags(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetTags(rctx, fc.Args["filter"].(*TagFilter)) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*Tag) + fc.Result = res + return ec.marshalNTag2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTagᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getTags(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Tag_id(ctx, field) + case "name": + return ec.fieldContext_Tag_name(ctx, field) + case "description": + return ec.fieldContext_Tag_description(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Tag", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getTags_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getMe(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getMe(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetMe(rctx) + } + + directive1 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal *User + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive0) + } + + tmp, err := directive1(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*User); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.User`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*User) + fc.Result = res + return ec.marshalOUser2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getMe(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_User_id(ctx, field) + case "email": + return ec.fieldContext_User_email(ctx, field) + case "username": + return ec.fieldContext_User_username(ctx, field) + case "avatar": + return ec.fieldContext_User_avatar(ctx, field) + case "avatar_thumbhash": + return ec.fieldContext_User_avatar_thumbhash(ctx, field) + case "created_at": + return ec.fieldContext_User_created_at(ctx, field) + case "github_id": + return ec.fieldContext_User_github_id(ctx, field) + case "google_id": + return ec.fieldContext_User_google_id(ctx, field) + case "facebook_id": + return ec.fieldContext_User_facebook_id(ctx, field) + case "roles": + return ec.fieldContext_User_roles(ctx, field) + case "groups": + return ec.fieldContext_User_groups(ctx, field) + case "mods": + return ec.fieldContext_User_mods(ctx, field) + case "guides": + return ec.fieldContext_User_guides(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type User", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _Query_getUser(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getUser(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetUser(rctx, fc.Args["userId"].(string)) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*User) + fc.Result = res + return ec.marshalOUser2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getUser(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_User_id(ctx, field) + case "email": + return ec.fieldContext_User_email(ctx, field) + case "username": + return ec.fieldContext_User_username(ctx, field) + case "avatar": + return ec.fieldContext_User_avatar(ctx, field) + case "avatar_thumbhash": + return ec.fieldContext_User_avatar_thumbhash(ctx, field) + case "created_at": + return ec.fieldContext_User_created_at(ctx, field) + case "github_id": + return ec.fieldContext_User_github_id(ctx, field) + case "google_id": + return ec.fieldContext_User_google_id(ctx, field) + case "facebook_id": + return ec.fieldContext_User_facebook_id(ctx, field) + case "roles": + return ec.fieldContext_User_roles(ctx, field) + case "groups": + return ec.fieldContext_User_groups(ctx, field) + case "mods": + return ec.fieldContext_User_mods(ctx, field) + case "guides": + return ec.fieldContext_User_guides(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type User", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getUser_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getUsers(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getUsers(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetUsers(rctx, fc.Args["userIds"].([]string)) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*User) + fc.Result = res + return ec.marshalNUser2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getUsers(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_User_id(ctx, field) + case "email": + return ec.fieldContext_User_email(ctx, field) + case "username": + return ec.fieldContext_User_username(ctx, field) + case "avatar": + return ec.fieldContext_User_avatar(ctx, field) + case "avatar_thumbhash": + return ec.fieldContext_User_avatar_thumbhash(ctx, field) + case "created_at": + return ec.fieldContext_User_created_at(ctx, field) + case "github_id": + return ec.fieldContext_User_github_id(ctx, field) + case "google_id": + return ec.fieldContext_User_google_id(ctx, field) + case "facebook_id": + return ec.fieldContext_User_facebook_id(ctx, field) + case "roles": + return ec.fieldContext_User_roles(ctx, field) + case "groups": + return ec.fieldContext_User_groups(ctx, field) + case "mods": + return ec.fieldContext_User_mods(ctx, field) + case "guides": + return ec.fieldContext_User_guides(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type User", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getUsers_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getVersion(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getVersion(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetVersion(rctx, fc.Args["versionId"].(string)) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*Version) + fc.Result = res + return ec.marshalOVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getVersion(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Version_id(ctx, field) + case "mod_id": + return ec.fieldContext_Version_mod_id(ctx, field) + case "version": + return ec.fieldContext_Version_version(ctx, field) + case "sml_version": + return ec.fieldContext_Version_sml_version(ctx, field) + case "game_version": + return ec.fieldContext_Version_game_version(ctx, field) + case "required_on_remote": + return ec.fieldContext_Version_required_on_remote(ctx, field) + case "changelog": + return ec.fieldContext_Version_changelog(ctx, field) + case "downloads": + return ec.fieldContext_Version_downloads(ctx, field) + case "stability": + return ec.fieldContext_Version_stability(ctx, field) + case "approved": + return ec.fieldContext_Version_approved(ctx, field) + case "updated_at": + return ec.fieldContext_Version_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Version_created_at(ctx, field) + case "link": + return ec.fieldContext_Version_link(ctx, field) + case "targets": + return ec.fieldContext_Version_targets(ctx, field) + case "metadata": + return ec.fieldContext_Version_metadata(ctx, field) + case "size": + return ec.fieldContext_Version_size(ctx, field) + case "hash": + return ec.fieldContext_Version_hash(ctx, field) + case "mod": + return ec.fieldContext_Version_mod(ctx, field) + case "dependencies": + return ec.fieldContext_Version_dependencies(ctx, field) + case "virustotal_results": + return ec.fieldContext_Version_virustotal_results(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getVersion_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getVersions(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getVersions(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetVersions(rctx, fc.Args["filter"].(map[string]interface{})) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*GetVersions) + fc.Result = res + return ec.marshalNGetVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetVersions(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getVersions(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "versions": + return ec.fieldContext_GetVersions_versions(ctx, field) + case "count": + return ec.fieldContext_GetVersions_count(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type GetVersions", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getVersions_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getUnapprovedVersions(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getUnapprovedVersions(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetUnapprovedVersions(rctx, fc.Args["filter"].(map[string]interface{})) + } + + directive1 := func(ctx context.Context) (any, error) { + if ec.directives.CanApproveVersions == nil { + var zeroVal *GetVersions + return zeroVal, errors.New("directive canApproveVersions is not implemented") + } + return ec.directives.CanApproveVersions(ctx, nil, directive0) + } + directive2 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal *GetVersions + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*GetVersions); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.GetVersions`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*GetVersions) + fc.Result = res + return ec.marshalNGetVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetVersions(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getUnapprovedVersions(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "versions": + return ec.fieldContext_GetVersions_versions(ctx, field) + case "count": + return ec.fieldContext_GetVersions_count(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type GetVersions", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getUnapprovedVersions_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_checkVersionUploadState(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_checkVersionUploadState(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().CheckVersionUploadState(rctx, fc.Args["modId"].(string), fc.Args["versionId"].(string)) + } + + directive1 := func(ctx context.Context) (any, error) { + field, err := ec.unmarshalNString2string(ctx, "modId") + if err != nil { + var zeroVal *CreateVersionResponse + return zeroVal, err + } + if ec.directives.CanEditMod == nil { + var zeroVal *CreateVersionResponse + return zeroVal, errors.New("directive canEditMod is not implemented") + } + return ec.directives.CanEditMod(ctx, nil, directive0, field) + } + directive2 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal *CreateVersionResponse + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*CreateVersionResponse); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.CreateVersionResponse`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*CreateVersionResponse) + fc.Result = res + return ec.marshalOCreateVersionResponse2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCreateVersionResponse(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_checkVersionUploadState(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "auto_approved": + return ec.fieldContext_CreateVersionResponse_auto_approved(ctx, field) + case "version": + return ec.fieldContext_CreateVersionResponse_version(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type CreateVersionResponse", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_checkVersionUploadState_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getMyVersions(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getMyVersions(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetMyVersions(rctx, fc.Args["filter"].(map[string]interface{})) + } + + directive1 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal *GetMyVersions + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive0) + } + + tmp, err := directive1(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*GetMyVersions); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.GetMyVersions`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*GetMyVersions) + fc.Result = res + return ec.marshalNGetMyVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMyVersions(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getMyVersions(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "versions": + return ec.fieldContext_GetMyVersions_versions(ctx, field) + case "count": + return ec.fieldContext_GetMyVersions_count(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type GetMyVersions", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getMyVersions_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query_getMyUnapprovedVersions(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query_getMyUnapprovedVersions(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Query().GetMyUnapprovedVersions(rctx, fc.Args["filter"].(map[string]interface{})) + } + + directive1 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal *GetMyVersions + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, nil, directive0) + } + + tmp, err := directive1(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*GetMyVersions); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.GetMyVersions`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*GetMyVersions) + fc.Result = res + return ec.marshalNGetMyVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMyVersions(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query_getMyUnapprovedVersions(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "versions": + return ec.fieldContext_GetMyVersions_versions(ctx, field) + case "count": + return ec.fieldContext_GetMyVersions_count(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type GetMyVersions", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query_getMyUnapprovedVersions_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query___type(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query___type(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.introspectType(fc.Args["name"].(string)) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*introspection.Type) + fc.Result = res + return ec.marshalO__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query___type(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "kind": + return ec.fieldContext___Type_kind(ctx, field) + case "name": + return ec.fieldContext___Type_name(ctx, field) + case "description": + return ec.fieldContext___Type_description(ctx, field) + case "specifiedByURL": + return ec.fieldContext___Type_specifiedByURL(ctx, field) + case "fields": + return ec.fieldContext___Type_fields(ctx, field) + case "interfaces": + return ec.fieldContext___Type_interfaces(ctx, field) + case "possibleTypes": + return ec.fieldContext___Type_possibleTypes(ctx, field) + case "enumValues": + return ec.fieldContext___Type_enumValues(ctx, field) + case "inputFields": + return ec.fieldContext___Type_inputFields(ctx, field) + case "ofType": + return ec.fieldContext___Type_ofType(ctx, field) + case "isOneOf": + return ec.fieldContext___Type_isOneOf(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field_Query___type_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) _Query___schema(ctx context.Context, field graphql.CollectedField) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Query___schema(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.introspectSchema() + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*introspection.Schema) + fc.Result = res + return ec.marshalO__Schema2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐSchema(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Query___schema(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Query", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "description": + return ec.fieldContext___Schema_description(ctx, field) + case "types": + return ec.fieldContext___Schema_types(ctx, field) + case "queryType": + return ec.fieldContext___Schema_queryType(ctx, field) + case "mutationType": + return ec.fieldContext___Schema_mutationType(ctx, field) + case "subscriptionType": + return ec.fieldContext___Schema_subscriptionType(ctx, field) + case "directives": + return ec.fieldContext___Schema_directives(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type __Schema", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _SMLVersion_id(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SMLVersion_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.ID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNSMLVersionID2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SMLVersion_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SMLVersion", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type SMLVersionID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _SMLVersion_version(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SMLVersion_version(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Version, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SMLVersion_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SMLVersion", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _SMLVersion_satisfactory_version(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SMLVersion_satisfactory_version(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.SatisfactoryVersion, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(int) + fc.Result = res + return ec.marshalNInt2int(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SMLVersion_satisfactory_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SMLVersion", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Int does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _SMLVersion_stability(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SMLVersion_stability(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Stability, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(VersionStabilities) + fc.Result = res + return ec.marshalNVersionStabilities2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionStabilities(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SMLVersion_stability(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SMLVersion", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type VersionStabilities does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _SMLVersion_link(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SMLVersion_link(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.SMLVersion().Link(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SMLVersion_link(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SMLVersion", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _SMLVersion_targets(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SMLVersion_targets(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Targets, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*SMLVersionTarget) + fc.Result = res + return ec.marshalNSMLVersionTarget2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersionTarget(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SMLVersion_targets(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SMLVersion", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "VersionID": + return ec.fieldContext_SMLVersionTarget_VersionID(ctx, field) + case "targetName": + return ec.fieldContext_SMLVersionTarget_targetName(ctx, field) + case "link": + return ec.fieldContext_SMLVersionTarget_link(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type SMLVersionTarget", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _SMLVersion_changelog(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SMLVersion_changelog(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Changelog, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SMLVersion_changelog(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SMLVersion", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _SMLVersion_date(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SMLVersion_date(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Date, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNDate2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SMLVersion_date(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SMLVersion", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Date does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _SMLVersion_bootstrap_version(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SMLVersion_bootstrap_version(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.SMLVersion().BootstrapVersion(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SMLVersion_bootstrap_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SMLVersion", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _SMLVersion_engine_version(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SMLVersion_engine_version(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.SMLVersion().EngineVersion(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SMLVersion_engine_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SMLVersion", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _SMLVersion_updated_at(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SMLVersion_updated_at(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.UpdatedAt, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNDate2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SMLVersion_updated_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SMLVersion", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Date does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _SMLVersion_created_at(ctx context.Context, field graphql.CollectedField, obj *SMLVersion) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SMLVersion_created_at(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.CreatedAt, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNDate2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SMLVersion_created_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SMLVersion", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Date does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _SMLVersionTarget_VersionID(ctx context.Context, field graphql.CollectedField, obj *SMLVersionTarget) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SMLVersionTarget_VersionID(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.VersionID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNSMLVersionID2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SMLVersionTarget_VersionID(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SMLVersionTarget", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type SMLVersionID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _SMLVersionTarget_targetName(ctx context.Context, field graphql.CollectedField, obj *SMLVersionTarget) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SMLVersionTarget_targetName(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.TargetName, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(TargetName) + fc.Result = res + return ec.marshalNTargetName2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTargetName(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SMLVersionTarget_targetName(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SMLVersionTarget", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type TargetName does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _SMLVersionTarget_link(ctx context.Context, field graphql.CollectedField, obj *SMLVersionTarget) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SMLVersionTarget_link(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.SMLVersionTarget().Link(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SMLVersionTarget_link(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SMLVersionTarget", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _SatisfactoryVersion_id(ctx context.Context, field graphql.CollectedField, obj *SatisfactoryVersion) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SatisfactoryVersion_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.ID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNSatisfactoryVersionID2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SatisfactoryVersion_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SatisfactoryVersion", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type SatisfactoryVersionID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _SatisfactoryVersion_version(ctx context.Context, field graphql.CollectedField, obj *SatisfactoryVersion) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SatisfactoryVersion_version(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Version, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(int) + fc.Result = res + return ec.marshalNInt2int(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SatisfactoryVersion_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SatisfactoryVersion", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Int does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _SatisfactoryVersion_engine_version(ctx context.Context, field graphql.CollectedField, obj *SatisfactoryVersion) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_SatisfactoryVersion_engine_version(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.EngineVersion, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_SatisfactoryVersion_engine_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "SatisfactoryVersion", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Tag_id(ctx context.Context, field graphql.CollectedField, obj *Tag) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Tag_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.ID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNTagID2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Tag_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Tag", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type TagID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Tag_name(ctx context.Context, field graphql.CollectedField, obj *Tag) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Tag_name(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Name, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNTagName2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Tag_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Tag", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type TagName does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Tag_description(ctx context.Context, field graphql.CollectedField, obj *Tag) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Tag_description(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Description, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Tag_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Tag", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _User_id(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_User_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.ID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNUserID2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_User_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "User", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type UserID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _User_email(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_User_email(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Email, nil + } + + directive1 := func(ctx context.Context) (any, error) { + field, err := ec.unmarshalNString2string(ctx, "ID") + if err != nil { + var zeroVal *string + return zeroVal, err + } + object, err := ec.unmarshalNBoolean2bool(ctx, true) + if err != nil { + var zeroVal *string + return zeroVal, err + } + if ec.directives.CanEditUser == nil { + var zeroVal *string + return zeroVal, errors.New("directive canEditUser is not implemented") + } + return ec.directives.CanEditUser(ctx, obj, directive0, field, object) + } + directive2 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal *string + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, obj, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*string); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *string`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_User_email(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "User", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _User_username(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_User_username(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Username, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_User_username(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "User", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _User_avatar(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_User_avatar(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Avatar, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_User_avatar(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "User", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _User_avatar_thumbhash(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_User_avatar_thumbhash(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.AvatarThumbhash, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_User_avatar_thumbhash(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "User", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _User_created_at(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_User_created_at(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.CreatedAt, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNDate2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_User_created_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "User", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Date does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _User_github_id(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_User_github_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.GithubID, nil + } + + directive1 := func(ctx context.Context) (any, error) { + field, err := ec.unmarshalNString2string(ctx, "ID") + if err != nil { + var zeroVal *string + return zeroVal, err + } + object, err := ec.unmarshalNBoolean2bool(ctx, true) + if err != nil { + var zeroVal *string + return zeroVal, err + } + if ec.directives.CanEditUser == nil { + var zeroVal *string + return zeroVal, errors.New("directive canEditUser is not implemented") + } + return ec.directives.CanEditUser(ctx, obj, directive0, field, object) + } + directive2 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal *string + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, obj, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*string); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *string`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_User_github_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "User", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _User_google_id(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_User_google_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.GoogleID, nil + } + + directive1 := func(ctx context.Context) (any, error) { + field, err := ec.unmarshalNString2string(ctx, "ID") + if err != nil { + var zeroVal *string + return zeroVal, err + } + object, err := ec.unmarshalNBoolean2bool(ctx, true) + if err != nil { + var zeroVal *string + return zeroVal, err + } + if ec.directives.CanEditUser == nil { + var zeroVal *string + return zeroVal, errors.New("directive canEditUser is not implemented") + } + return ec.directives.CanEditUser(ctx, obj, directive0, field, object) + } + directive2 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal *string + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, obj, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*string); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *string`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_User_google_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "User", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _User_facebook_id(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_User_facebook_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.FacebookID, nil + } + + directive1 := func(ctx context.Context) (any, error) { + field, err := ec.unmarshalNString2string(ctx, "ID") + if err != nil { + var zeroVal *string + return zeroVal, err + } + object, err := ec.unmarshalNBoolean2bool(ctx, true) + if err != nil { + var zeroVal *string + return zeroVal, err + } + if ec.directives.CanEditUser == nil { + var zeroVal *string + return zeroVal, errors.New("directive canEditUser is not implemented") + } + return ec.directives.CanEditUser(ctx, obj, directive0, field, object) + } + directive2 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal *string + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, obj, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*string); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *string`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_User_facebook_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "User", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _User_roles(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_User_roles(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.User().Roles(rctx, obj) + } + + directive1 := func(ctx context.Context) (any, error) { + field, err := ec.unmarshalNString2string(ctx, "ID") + if err != nil { + var zeroVal *UserRoles + return zeroVal, err + } + object, err := ec.unmarshalNBoolean2bool(ctx, true) + if err != nil { + var zeroVal *UserRoles + return zeroVal, err + } + if ec.directives.CanEditUser == nil { + var zeroVal *UserRoles + return zeroVal, errors.New("directive canEditUser is not implemented") + } + return ec.directives.CanEditUser(ctx, obj, directive0, field, object) + } + directive2 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal *UserRoles + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, obj, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.(*UserRoles); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be *github.com/satisfactorymodding/smr-api/generated.UserRoles`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*UserRoles) + fc.Result = res + return ec.marshalNUserRoles2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserRoles(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_User_roles(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "User", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "approveMods": + return ec.fieldContext_UserRoles_approveMods(ctx, field) + case "approveVersions": + return ec.fieldContext_UserRoles_approveVersions(ctx, field) + case "deleteContent": + return ec.fieldContext_UserRoles_deleteContent(ctx, field) + case "editContent": + return ec.fieldContext_UserRoles_editContent(ctx, field) + case "editUsers": + return ec.fieldContext_UserRoles_editUsers(ctx, field) + case "editSatisfactoryVersions": + return ec.fieldContext_UserRoles_editSatisfactoryVersions(ctx, field) + case "editBootstrapVersions": + return ec.fieldContext_UserRoles_editBootstrapVersions(ctx, field) + case "editAnyModCompatibility": + return ec.fieldContext_UserRoles_editAnyModCompatibility(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type UserRoles", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _User_groups(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_User_groups(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + directive0 := func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.User().Groups(rctx, obj) + } + + directive1 := func(ctx context.Context) (any, error) { + field, err := ec.unmarshalNString2string(ctx, "ID") + if err != nil { + var zeroVal []*Group + return zeroVal, err + } + object, err := ec.unmarshalNBoolean2bool(ctx, true) + if err != nil { + var zeroVal []*Group + return zeroVal, err + } + if ec.directives.CanEditUser == nil { + var zeroVal []*Group + return zeroVal, errors.New("directive canEditUser is not implemented") + } + return ec.directives.CanEditUser(ctx, obj, directive0, field, object) + } + directive2 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal []*Group + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, obj, directive1) + } + + tmp, err := directive2(rctx) + if err != nil { + return nil, graphql.ErrorOnPath(ctx, err) + } + if tmp == nil { + return nil, nil + } + if data, ok := tmp.([]*Group); ok { + return data, nil + } + return nil, fmt.Errorf(`unexpected type %T from directive, should be []*github.com/satisfactorymodding/smr-api/generated.Group`, tmp) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*Group) + fc.Result = res + return ec.marshalNGroup2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGroupᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_User_groups(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "User", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Group_id(ctx, field) + case "name": + return ec.fieldContext_Group_name(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Group", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _User_mods(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_User_mods(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.User().Mods(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*UserMod) + fc.Result = res + return ec.marshalNUserMod2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserModᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_User_mods(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "User", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "user_id": + return ec.fieldContext_UserMod_user_id(ctx, field) + case "mod_id": + return ec.fieldContext_UserMod_mod_id(ctx, field) + case "role": + return ec.fieldContext_UserMod_role(ctx, field) + case "user": + return ec.fieldContext_UserMod_user(ctx, field) + case "mod": + return ec.fieldContext_UserMod_mod(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type UserMod", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _User_guides(ctx context.Context, field graphql.CollectedField, obj *User) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_User_guides(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.User().Guides(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*Guide) + fc.Result = res + return ec.marshalNGuide2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuideᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_User_guides(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "User", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Guide_id(ctx, field) + case "name": + return ec.fieldContext_Guide_name(ctx, field) + case "short_description": + return ec.fieldContext_Guide_short_description(ctx, field) + case "guide": + return ec.fieldContext_Guide_guide(ctx, field) + case "views": + return ec.fieldContext_Guide_views(ctx, field) + case "user_id": + return ec.fieldContext_Guide_user_id(ctx, field) + case "updated_at": + return ec.fieldContext_Guide_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Guide_created_at(ctx, field) + case "tags": + return ec.fieldContext_Guide_tags(ctx, field) + case "user": + return ec.fieldContext_Guide_user(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Guide", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _UserMod_user_id(ctx context.Context, field graphql.CollectedField, obj *UserMod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_UserMod_user_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.UserID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNUserID2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_UserMod_user_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "UserMod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type UserID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _UserMod_mod_id(ctx context.Context, field graphql.CollectedField, obj *UserMod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_UserMod_mod_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.ModID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNModID2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_UserMod_mod_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "UserMod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type ModID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _UserMod_role(ctx context.Context, field graphql.CollectedField, obj *UserMod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_UserMod_role(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Role, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_UserMod_role(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "UserMod", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _UserMod_user(ctx context.Context, field graphql.CollectedField, obj *UserMod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_UserMod_user(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.UserMod().User(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*User) + fc.Result = res + return ec.marshalNUser2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_UserMod_user(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "UserMod", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_User_id(ctx, field) + case "email": + return ec.fieldContext_User_email(ctx, field) + case "username": + return ec.fieldContext_User_username(ctx, field) + case "avatar": + return ec.fieldContext_User_avatar(ctx, field) + case "avatar_thumbhash": + return ec.fieldContext_User_avatar_thumbhash(ctx, field) + case "created_at": + return ec.fieldContext_User_created_at(ctx, field) + case "github_id": + return ec.fieldContext_User_github_id(ctx, field) + case "google_id": + return ec.fieldContext_User_google_id(ctx, field) + case "facebook_id": + return ec.fieldContext_User_facebook_id(ctx, field) + case "roles": + return ec.fieldContext_User_roles(ctx, field) + case "groups": + return ec.fieldContext_User_groups(ctx, field) + case "mods": + return ec.fieldContext_User_mods(ctx, field) + case "guides": + return ec.fieldContext_User_guides(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type User", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _UserMod_mod(ctx context.Context, field graphql.CollectedField, obj *UserMod) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_UserMod_mod(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.UserMod().Mod(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*Mod) + fc.Result = res + return ec.marshalNMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_UserMod_mod(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "UserMod", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Mod_id(ctx, field) + case "name": + return ec.fieldContext_Mod_name(ctx, field) + case "short_description": + return ec.fieldContext_Mod_short_description(ctx, field) + case "full_description": + return ec.fieldContext_Mod_full_description(ctx, field) + case "logo": + return ec.fieldContext_Mod_logo(ctx, field) + case "logo_thumbhash": + return ec.fieldContext_Mod_logo_thumbhash(ctx, field) + case "source_url": + return ec.fieldContext_Mod_source_url(ctx, field) + case "creator_id": + return ec.fieldContext_Mod_creator_id(ctx, field) + case "approved": + return ec.fieldContext_Mod_approved(ctx, field) + case "views": + return ec.fieldContext_Mod_views(ctx, field) + case "downloads": + return ec.fieldContext_Mod_downloads(ctx, field) + case "hotness": + return ec.fieldContext_Mod_hotness(ctx, field) + case "popularity": + return ec.fieldContext_Mod_popularity(ctx, field) + case "updated_at": + return ec.fieldContext_Mod_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Mod_created_at(ctx, field) + case "last_version_date": + return ec.fieldContext_Mod_last_version_date(ctx, field) + case "mod_reference": + return ec.fieldContext_Mod_mod_reference(ctx, field) + case "hidden": + return ec.fieldContext_Mod_hidden(ctx, field) + case "tags": + return ec.fieldContext_Mod_tags(ctx, field) + case "compatibility": + return ec.fieldContext_Mod_compatibility(ctx, field) + case "toggle_network_use": + return ec.fieldContext_Mod_toggle_network_use(ctx, field) + case "network_use_disclosure": + return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "ai_use_disclosure": + return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) + case "toggle_explicit_content": + return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) + case "authors": + return ec.fieldContext_Mod_authors(ctx, field) + case "version": + return ec.fieldContext_Mod_version(ctx, field) + case "versions": + return ec.fieldContext_Mod_versions(ctx, field) + case "latestVersions": + return ec.fieldContext_Mod_latestVersions(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _UserRoles_approveMods(ctx context.Context, field graphql.CollectedField, obj *UserRoles) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_UserRoles_approveMods(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.ApproveMods, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_UserRoles_approveMods(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "UserRoles", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _UserRoles_approveVersions(ctx context.Context, field graphql.CollectedField, obj *UserRoles) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_UserRoles_approveVersions(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.ApproveVersions, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_UserRoles_approveVersions(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "UserRoles", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _UserRoles_deleteContent(ctx context.Context, field graphql.CollectedField, obj *UserRoles) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_UserRoles_deleteContent(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.DeleteContent, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_UserRoles_deleteContent(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "UserRoles", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _UserRoles_editContent(ctx context.Context, field graphql.CollectedField, obj *UserRoles) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_UserRoles_editContent(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.EditContent, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_UserRoles_editContent(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "UserRoles", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _UserRoles_editUsers(ctx context.Context, field graphql.CollectedField, obj *UserRoles) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_UserRoles_editUsers(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.EditUsers, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_UserRoles_editUsers(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "UserRoles", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _UserRoles_editSatisfactoryVersions(ctx context.Context, field graphql.CollectedField, obj *UserRoles) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_UserRoles_editSatisfactoryVersions(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.EditSatisfactoryVersions, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_UserRoles_editSatisfactoryVersions(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "UserRoles", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _UserRoles_editBootstrapVersions(ctx context.Context, field graphql.CollectedField, obj *UserRoles) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_UserRoles_editBootstrapVersions(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.EditBootstrapVersions, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_UserRoles_editBootstrapVersions(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "UserRoles", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _UserRoles_editAnyModCompatibility(ctx context.Context, field graphql.CollectedField, obj *UserRoles) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_UserRoles_editAnyModCompatibility(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.EditAnyModCompatibility, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_UserRoles_editAnyModCompatibility(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "UserRoles", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _UserSession_token(ctx context.Context, field graphql.CollectedField, obj *UserSession) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_UserSession_token(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Token, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_UserSession_token(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "UserSession", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_id(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.ID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNVersionID2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type VersionID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_mod_id(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_mod_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.ModID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNModID2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_mod_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type ModID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_version(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_version(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Version, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_sml_version(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_sml_version(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Version().SmlVersion(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_sml_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_game_version(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_game_version(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.GameVersion, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_game_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_required_on_remote(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_required_on_remote(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.RequiredOnRemote, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_required_on_remote(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_changelog(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_changelog(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Changelog, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_changelog(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_downloads(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_downloads(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Downloads, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(int) + fc.Result = res + return ec.marshalNInt2int(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_downloads(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Int does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_stability(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_stability(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Stability, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(VersionStabilities) + fc.Result = res + return ec.marshalNVersionStabilities2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionStabilities(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_stability(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type VersionStabilities does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_approved(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_approved(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Approved, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_approved(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_updated_at(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_updated_at(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.UpdatedAt, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNDate2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_updated_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Date does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_created_at(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_created_at(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.CreatedAt, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNDate2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_created_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Date does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_link(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_link(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Version().Link(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_link(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_targets(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_targets(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Targets, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*VersionTarget) + fc.Result = res + return ec.marshalNVersionTarget2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionTarget(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_targets(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "VersionID": + return ec.fieldContext_VersionTarget_VersionID(ctx, field) + case "targetName": + return ec.fieldContext_VersionTarget_targetName(ctx, field) + case "link": + return ec.fieldContext_VersionTarget_link(ctx, field) + case "size": + return ec.fieldContext_VersionTarget_size(ctx, field) + case "hash": + return ec.fieldContext_VersionTarget_hash(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type VersionTarget", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_metadata(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_metadata(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Metadata, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_metadata(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_size(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_size(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Version().Size(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*int) + fc.Result = res + return ec.marshalOInt2ᚖint(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_size(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Int does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_hash(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_hash(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Version().Hash(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_hash(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_mod(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_mod(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Version().Mod(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*Mod) + fc.Result = res + return ec.marshalNMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_mod(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Mod_id(ctx, field) + case "name": + return ec.fieldContext_Mod_name(ctx, field) + case "short_description": + return ec.fieldContext_Mod_short_description(ctx, field) + case "full_description": + return ec.fieldContext_Mod_full_description(ctx, field) + case "logo": + return ec.fieldContext_Mod_logo(ctx, field) + case "logo_thumbhash": + return ec.fieldContext_Mod_logo_thumbhash(ctx, field) + case "source_url": + return ec.fieldContext_Mod_source_url(ctx, field) + case "creator_id": + return ec.fieldContext_Mod_creator_id(ctx, field) + case "approved": + return ec.fieldContext_Mod_approved(ctx, field) + case "views": + return ec.fieldContext_Mod_views(ctx, field) + case "downloads": + return ec.fieldContext_Mod_downloads(ctx, field) + case "hotness": + return ec.fieldContext_Mod_hotness(ctx, field) + case "popularity": + return ec.fieldContext_Mod_popularity(ctx, field) + case "updated_at": + return ec.fieldContext_Mod_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Mod_created_at(ctx, field) + case "last_version_date": + return ec.fieldContext_Mod_last_version_date(ctx, field) + case "mod_reference": + return ec.fieldContext_Mod_mod_reference(ctx, field) + case "hidden": + return ec.fieldContext_Mod_hidden(ctx, field) + case "tags": + return ec.fieldContext_Mod_tags(ctx, field) + case "compatibility": + return ec.fieldContext_Mod_compatibility(ctx, field) + case "toggle_network_use": + return ec.fieldContext_Mod_toggle_network_use(ctx, field) + case "network_use_disclosure": + return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "ai_use_disclosure": + return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) + case "toggle_explicit_content": + return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) + case "authors": + return ec.fieldContext_Mod_authors(ctx, field) + case "version": + return ec.fieldContext_Mod_version(ctx, field) + case "versions": + return ec.fieldContext_Mod_versions(ctx, field) + case "latestVersions": + return ec.fieldContext_Mod_latestVersions(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_dependencies(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_dependencies(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Version().Dependencies(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*VersionDependency) + fc.Result = res + return ec.marshalNVersionDependency2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionDependencyᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_dependencies(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "version_id": + return ec.fieldContext_VersionDependency_version_id(ctx, field) + case "mod_id": + return ec.fieldContext_VersionDependency_mod_id(ctx, field) + case "condition": + return ec.fieldContext_VersionDependency_condition(ctx, field) + case "optional": + return ec.fieldContext_VersionDependency_optional(ctx, field) + case "mod_reference": + return ec.fieldContext_VersionDependency_mod_reference(ctx, field) + case "mod": + return ec.fieldContext_VersionDependency_mod(ctx, field) + case "version": + return ec.fieldContext_VersionDependency_version(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type VersionDependency", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _Version_virustotal_results(ctx context.Context, field graphql.CollectedField, obj *Version) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_Version_virustotal_results(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.Version().VirustotalResults(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]*VirustotalResult) + fc.Result = res + return ec.marshalNVirustotalResult2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVirustotalResultᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_Version_virustotal_results(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "Version", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_VirustotalResult_id(ctx, field) + case "hash": + return ec.fieldContext_VirustotalResult_hash(ctx, field) + case "safe": + return ec.fieldContext_VirustotalResult_safe(ctx, field) + case "file_name": + return ec.fieldContext_VirustotalResult_file_name(ctx, field) + case "version_id": + return ec.fieldContext_VirustotalResult_version_id(ctx, field) + case "created_at": + return ec.fieldContext_VirustotalResult_created_at(ctx, field) + case "updated_at": + return ec.fieldContext_VirustotalResult_updated_at(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type VirustotalResult", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _VersionDependency_version_id(ctx context.Context, field graphql.CollectedField, obj *VersionDependency) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_VersionDependency_version_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.VersionID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNVersionID2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_VersionDependency_version_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "VersionDependency", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type VersionID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _VersionDependency_mod_id(ctx context.Context, field graphql.CollectedField, obj *VersionDependency) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_VersionDependency_mod_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.ModID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNModID2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_VersionDependency_mod_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "VersionDependency", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type ModID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _VersionDependency_condition(ctx context.Context, field graphql.CollectedField, obj *VersionDependency) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_VersionDependency_condition(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Condition, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_VersionDependency_condition(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "VersionDependency", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _VersionDependency_optional(ctx context.Context, field graphql.CollectedField, obj *VersionDependency) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_VersionDependency_optional(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Optional, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_VersionDependency_optional(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "VersionDependency", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _VersionDependency_mod_reference(ctx context.Context, field graphql.CollectedField, obj *VersionDependency) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_VersionDependency_mod_reference(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.ModReference, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_VersionDependency_mod_reference(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "VersionDependency", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _VersionDependency_mod(ctx context.Context, field graphql.CollectedField, obj *VersionDependency) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_VersionDependency_mod(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.VersionDependency().Mod(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*Mod) + fc.Result = res + return ec.marshalOMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_VersionDependency_mod(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "VersionDependency", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Mod_id(ctx, field) + case "name": + return ec.fieldContext_Mod_name(ctx, field) + case "short_description": + return ec.fieldContext_Mod_short_description(ctx, field) + case "full_description": + return ec.fieldContext_Mod_full_description(ctx, field) + case "logo": + return ec.fieldContext_Mod_logo(ctx, field) + case "logo_thumbhash": + return ec.fieldContext_Mod_logo_thumbhash(ctx, field) + case "source_url": + return ec.fieldContext_Mod_source_url(ctx, field) + case "creator_id": + return ec.fieldContext_Mod_creator_id(ctx, field) + case "approved": + return ec.fieldContext_Mod_approved(ctx, field) + case "views": + return ec.fieldContext_Mod_views(ctx, field) + case "downloads": + return ec.fieldContext_Mod_downloads(ctx, field) + case "hotness": + return ec.fieldContext_Mod_hotness(ctx, field) + case "popularity": + return ec.fieldContext_Mod_popularity(ctx, field) + case "updated_at": + return ec.fieldContext_Mod_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Mod_created_at(ctx, field) + case "last_version_date": + return ec.fieldContext_Mod_last_version_date(ctx, field) + case "mod_reference": + return ec.fieldContext_Mod_mod_reference(ctx, field) + case "hidden": + return ec.fieldContext_Mod_hidden(ctx, field) + case "tags": + return ec.fieldContext_Mod_tags(ctx, field) + case "compatibility": + return ec.fieldContext_Mod_compatibility(ctx, field) + case "toggle_network_use": + return ec.fieldContext_Mod_toggle_network_use(ctx, field) + case "network_use_disclosure": + return ec.fieldContext_Mod_network_use_disclosure(ctx, field) + case "ai_use_disclosure": + return ec.fieldContext_Mod_ai_use_disclosure(ctx, field) + case "toggle_explicit_content": + return ec.fieldContext_Mod_toggle_explicit_content(ctx, field) + case "authors": + return ec.fieldContext_Mod_authors(ctx, field) + case "version": + return ec.fieldContext_Mod_version(ctx, field) + case "versions": + return ec.fieldContext_Mod_versions(ctx, field) + case "latestVersions": + return ec.fieldContext_Mod_latestVersions(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Mod", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _VersionDependency_version(ctx context.Context, field graphql.CollectedField, obj *VersionDependency) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_VersionDependency_version(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Version, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*Version) + fc.Result = res + return ec.marshalOVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_VersionDependency_version(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "VersionDependency", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "id": + return ec.fieldContext_Version_id(ctx, field) + case "mod_id": + return ec.fieldContext_Version_mod_id(ctx, field) + case "version": + return ec.fieldContext_Version_version(ctx, field) + case "sml_version": + return ec.fieldContext_Version_sml_version(ctx, field) + case "game_version": + return ec.fieldContext_Version_game_version(ctx, field) + case "required_on_remote": + return ec.fieldContext_Version_required_on_remote(ctx, field) + case "changelog": + return ec.fieldContext_Version_changelog(ctx, field) + case "downloads": + return ec.fieldContext_Version_downloads(ctx, field) + case "stability": + return ec.fieldContext_Version_stability(ctx, field) + case "approved": + return ec.fieldContext_Version_approved(ctx, field) + case "updated_at": + return ec.fieldContext_Version_updated_at(ctx, field) + case "created_at": + return ec.fieldContext_Version_created_at(ctx, field) + case "link": + return ec.fieldContext_Version_link(ctx, field) + case "targets": + return ec.fieldContext_Version_targets(ctx, field) + case "metadata": + return ec.fieldContext_Version_metadata(ctx, field) + case "size": + return ec.fieldContext_Version_size(ctx, field) + case "hash": + return ec.fieldContext_Version_hash(ctx, field) + case "mod": + return ec.fieldContext_Version_mod(ctx, field) + case "dependencies": + return ec.fieldContext_Version_dependencies(ctx, field) + case "virustotal_results": + return ec.fieldContext_Version_virustotal_results(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type Version", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) _VersionTarget_VersionID(ctx context.Context, field graphql.CollectedField, obj *VersionTarget) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_VersionTarget_VersionID(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.VersionID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNVersionID2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_VersionTarget_VersionID(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "VersionTarget", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type VersionID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _VersionTarget_targetName(ctx context.Context, field graphql.CollectedField, obj *VersionTarget) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_VersionTarget_targetName(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.TargetName, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(TargetName) + fc.Result = res + return ec.marshalNTargetName2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTargetName(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_VersionTarget_targetName(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "VersionTarget", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type TargetName does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _VersionTarget_link(ctx context.Context, field graphql.CollectedField, obj *VersionTarget) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_VersionTarget_link(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return ec.resolvers.VersionTarget().Link(rctx, obj) + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_VersionTarget_link(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "VersionTarget", + Field: field, + IsMethod: true, + IsResolver: true, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _VersionTarget_size(ctx context.Context, field graphql.CollectedField, obj *VersionTarget) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_VersionTarget_size(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Size, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*int) + fc.Result = res + return ec.marshalOInt2ᚖint(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_VersionTarget_size(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "VersionTarget", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Int does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _VersionTarget_hash(ctx context.Context, field graphql.CollectedField, obj *VersionTarget) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_VersionTarget_hash(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Hash, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_VersionTarget_hash(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "VersionTarget", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _VirustotalResult_id(ctx context.Context, field graphql.CollectedField, obj *VirustotalResult) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_VirustotalResult_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.ID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOVirustotalID2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_VirustotalResult_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "VirustotalResult", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type VirustotalID does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _VirustotalResult_hash(ctx context.Context, field graphql.CollectedField, obj *VirustotalResult) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_VirustotalResult_hash(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Hash, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNVirustotalHash2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_VirustotalResult_hash(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "VirustotalResult", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type VirustotalHash does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _VirustotalResult_safe(ctx context.Context, field graphql.CollectedField, obj *VirustotalResult) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_VirustotalResult_safe(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Safe, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_VirustotalResult_safe(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "VirustotalResult", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _VirustotalResult_file_name(ctx context.Context, field graphql.CollectedField, obj *VirustotalResult) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_VirustotalResult_file_name(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.FileName, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_VirustotalResult_file_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "VirustotalResult", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _VirustotalResult_version_id(ctx context.Context, field graphql.CollectedField, obj *VirustotalResult) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_VirustotalResult_version_id(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.VersionID, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_VirustotalResult_version_id(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "VirustotalResult", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _VirustotalResult_created_at(ctx context.Context, field graphql.CollectedField, obj *VirustotalResult) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_VirustotalResult_created_at(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.CreatedAt, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNDate2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_VirustotalResult_created_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "VirustotalResult", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Date does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) _VirustotalResult_updated_at(ctx context.Context, field graphql.CollectedField, obj *VirustotalResult) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_VirustotalResult_updated_at(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.UpdatedAt, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalODate2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext_VirustotalResult_updated_at(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "VirustotalResult", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Date does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___Directive_name(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Directive_name(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Name, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Directive_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Directive", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___Directive_description(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Directive_description(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Description(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Directive_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Directive", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___Directive_isRepeatable(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Directive_isRepeatable(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.IsRepeatable, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Directive_isRepeatable(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Directive", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___Directive_locations(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Directive_locations(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Locations, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]string) + fc.Result = res + return ec.marshalN__DirectiveLocation2ᚕstringᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Directive_locations(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Directive", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type __DirectiveLocation does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___Directive_args(ctx context.Context, field graphql.CollectedField, obj *introspection.Directive) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Directive_args(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Args, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]introspection.InputValue) + fc.Result = res + return ec.marshalN__InputValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValueᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Directive_args(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Directive", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "name": + return ec.fieldContext___InputValue_name(ctx, field) + case "description": + return ec.fieldContext___InputValue_description(ctx, field) + case "type": + return ec.fieldContext___InputValue_type(ctx, field) + case "defaultValue": + return ec.fieldContext___InputValue_defaultValue(ctx, field) + case "isDeprecated": + return ec.fieldContext___InputValue_isDeprecated(ctx, field) + case "deprecationReason": + return ec.fieldContext___InputValue_deprecationReason(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type __InputValue", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field___Directive_args_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) ___EnumValue_name(ctx context.Context, field graphql.CollectedField, obj *introspection.EnumValue) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___EnumValue_name(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Name, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___EnumValue_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__EnumValue", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___EnumValue_description(ctx context.Context, field graphql.CollectedField, obj *introspection.EnumValue) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___EnumValue_description(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Description(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___EnumValue_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__EnumValue", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___EnumValue_isDeprecated(ctx context.Context, field graphql.CollectedField, obj *introspection.EnumValue) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___EnumValue_isDeprecated(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.IsDeprecated(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___EnumValue_isDeprecated(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__EnumValue", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___EnumValue_deprecationReason(ctx context.Context, field graphql.CollectedField, obj *introspection.EnumValue) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___EnumValue_deprecationReason(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.DeprecationReason(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___EnumValue_deprecationReason(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__EnumValue", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___Field_name(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Field_name(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Name, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Field_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Field", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___Field_description(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Field_description(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Description(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Field_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Field", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___Field_args(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Field_args(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Args, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]introspection.InputValue) + fc.Result = res + return ec.marshalN__InputValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValueᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Field_args(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Field", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "name": + return ec.fieldContext___InputValue_name(ctx, field) + case "description": + return ec.fieldContext___InputValue_description(ctx, field) + case "type": + return ec.fieldContext___InputValue_type(ctx, field) + case "defaultValue": + return ec.fieldContext___InputValue_defaultValue(ctx, field) + case "isDeprecated": + return ec.fieldContext___InputValue_isDeprecated(ctx, field) + case "deprecationReason": + return ec.fieldContext___InputValue_deprecationReason(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type __InputValue", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field___Field_args_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) ___Field_type(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Field_type(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Type, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*introspection.Type) + fc.Result = res + return ec.marshalN__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Field_type(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Field", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "kind": + return ec.fieldContext___Type_kind(ctx, field) + case "name": + return ec.fieldContext___Type_name(ctx, field) + case "description": + return ec.fieldContext___Type_description(ctx, field) + case "specifiedByURL": + return ec.fieldContext___Type_specifiedByURL(ctx, field) + case "fields": + return ec.fieldContext___Type_fields(ctx, field) + case "interfaces": + return ec.fieldContext___Type_interfaces(ctx, field) + case "possibleTypes": + return ec.fieldContext___Type_possibleTypes(ctx, field) + case "enumValues": + return ec.fieldContext___Type_enumValues(ctx, field) + case "inputFields": + return ec.fieldContext___Type_inputFields(ctx, field) + case "ofType": + return ec.fieldContext___Type_ofType(ctx, field) + case "isOneOf": + return ec.fieldContext___Type_isOneOf(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) ___Field_isDeprecated(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Field_isDeprecated(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.IsDeprecated(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Field_isDeprecated(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Field", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___Field_deprecationReason(ctx context.Context, field graphql.CollectedField, obj *introspection.Field) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Field_deprecationReason(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.DeprecationReason(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Field_deprecationReason(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Field", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___InputValue_name(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___InputValue_name(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Name, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalNString2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___InputValue_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__InputValue", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___InputValue_description(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___InputValue_description(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Description(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___InputValue_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__InputValue", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___InputValue_type(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___InputValue_type(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Type, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*introspection.Type) + fc.Result = res + return ec.marshalN__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___InputValue_type(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__InputValue", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "kind": + return ec.fieldContext___Type_kind(ctx, field) + case "name": + return ec.fieldContext___Type_name(ctx, field) + case "description": + return ec.fieldContext___Type_description(ctx, field) + case "specifiedByURL": + return ec.fieldContext___Type_specifiedByURL(ctx, field) + case "fields": + return ec.fieldContext___Type_fields(ctx, field) + case "interfaces": + return ec.fieldContext___Type_interfaces(ctx, field) + case "possibleTypes": + return ec.fieldContext___Type_possibleTypes(ctx, field) + case "enumValues": + return ec.fieldContext___Type_enumValues(ctx, field) + case "inputFields": + return ec.fieldContext___Type_inputFields(ctx, field) + case "ofType": + return ec.fieldContext___Type_ofType(ctx, field) + case "isOneOf": + return ec.fieldContext___Type_isOneOf(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) ___InputValue_defaultValue(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___InputValue_defaultValue(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.DefaultValue, nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___InputValue_defaultValue(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__InputValue", + Field: field, + IsMethod: false, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___InputValue_isDeprecated(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___InputValue_isDeprecated(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.IsDeprecated(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalNBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___InputValue_isDeprecated(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__InputValue", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___InputValue_deprecationReason(ctx context.Context, field graphql.CollectedField, obj *introspection.InputValue) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___InputValue_deprecationReason(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.DeprecationReason(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___InputValue_deprecationReason(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__InputValue", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___Schema_description(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Schema_description(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Description(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Schema_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Schema", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___Schema_types(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Schema_types(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Types(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]introspection.Type) + fc.Result = res + return ec.marshalN__Type2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐTypeᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Schema_types(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Schema", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "kind": + return ec.fieldContext___Type_kind(ctx, field) + case "name": + return ec.fieldContext___Type_name(ctx, field) + case "description": + return ec.fieldContext___Type_description(ctx, field) + case "specifiedByURL": + return ec.fieldContext___Type_specifiedByURL(ctx, field) + case "fields": + return ec.fieldContext___Type_fields(ctx, field) + case "interfaces": + return ec.fieldContext___Type_interfaces(ctx, field) + case "possibleTypes": + return ec.fieldContext___Type_possibleTypes(ctx, field) + case "enumValues": + return ec.fieldContext___Type_enumValues(ctx, field) + case "inputFields": + return ec.fieldContext___Type_inputFields(ctx, field) + case "ofType": + return ec.fieldContext___Type_ofType(ctx, field) + case "isOneOf": + return ec.fieldContext___Type_isOneOf(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) ___Schema_queryType(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Schema_queryType(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.QueryType(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(*introspection.Type) + fc.Result = res + return ec.marshalN__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Schema_queryType(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Schema", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "kind": + return ec.fieldContext___Type_kind(ctx, field) + case "name": + return ec.fieldContext___Type_name(ctx, field) + case "description": + return ec.fieldContext___Type_description(ctx, field) + case "specifiedByURL": + return ec.fieldContext___Type_specifiedByURL(ctx, field) + case "fields": + return ec.fieldContext___Type_fields(ctx, field) + case "interfaces": + return ec.fieldContext___Type_interfaces(ctx, field) + case "possibleTypes": + return ec.fieldContext___Type_possibleTypes(ctx, field) + case "enumValues": + return ec.fieldContext___Type_enumValues(ctx, field) + case "inputFields": + return ec.fieldContext___Type_inputFields(ctx, field) + case "ofType": + return ec.fieldContext___Type_ofType(ctx, field) + case "isOneOf": + return ec.fieldContext___Type_isOneOf(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) ___Schema_mutationType(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Schema_mutationType(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.MutationType(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*introspection.Type) + fc.Result = res + return ec.marshalO__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Schema_mutationType(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Schema", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "kind": + return ec.fieldContext___Type_kind(ctx, field) + case "name": + return ec.fieldContext___Type_name(ctx, field) + case "description": + return ec.fieldContext___Type_description(ctx, field) + case "specifiedByURL": + return ec.fieldContext___Type_specifiedByURL(ctx, field) + case "fields": + return ec.fieldContext___Type_fields(ctx, field) + case "interfaces": + return ec.fieldContext___Type_interfaces(ctx, field) + case "possibleTypes": + return ec.fieldContext___Type_possibleTypes(ctx, field) + case "enumValues": + return ec.fieldContext___Type_enumValues(ctx, field) + case "inputFields": + return ec.fieldContext___Type_inputFields(ctx, field) + case "ofType": + return ec.fieldContext___Type_ofType(ctx, field) + case "isOneOf": + return ec.fieldContext___Type_isOneOf(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) ___Schema_subscriptionType(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Schema_subscriptionType(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.SubscriptionType(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*introspection.Type) + fc.Result = res + return ec.marshalO__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Schema_subscriptionType(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Schema", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "kind": + return ec.fieldContext___Type_kind(ctx, field) + case "name": + return ec.fieldContext___Type_name(ctx, field) + case "description": + return ec.fieldContext___Type_description(ctx, field) + case "specifiedByURL": + return ec.fieldContext___Type_specifiedByURL(ctx, field) + case "fields": + return ec.fieldContext___Type_fields(ctx, field) + case "interfaces": + return ec.fieldContext___Type_interfaces(ctx, field) + case "possibleTypes": + return ec.fieldContext___Type_possibleTypes(ctx, field) + case "enumValues": + return ec.fieldContext___Type_enumValues(ctx, field) + case "inputFields": + return ec.fieldContext___Type_inputFields(ctx, field) + case "ofType": + return ec.fieldContext___Type_ofType(ctx, field) + case "isOneOf": + return ec.fieldContext___Type_isOneOf(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) ___Schema_directives(ctx context.Context, field graphql.CollectedField, obj *introspection.Schema) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Schema_directives(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Directives(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.([]introspection.Directive) + fc.Result = res + return ec.marshalN__Directive2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐDirectiveᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Schema_directives(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Schema", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "name": + return ec.fieldContext___Directive_name(ctx, field) + case "description": + return ec.fieldContext___Directive_description(ctx, field) + case "isRepeatable": + return ec.fieldContext___Directive_isRepeatable(ctx, field) + case "locations": + return ec.fieldContext___Directive_locations(ctx, field) + case "args": + return ec.fieldContext___Directive_args(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type __Directive", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) ___Type_kind(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Type_kind(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Kind(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + if !graphql.HasFieldError(ctx, fc) { + ec.Errorf(ctx, "must not be null") + } + return graphql.Null + } + res := resTmp.(string) + fc.Result = res + return ec.marshalN__TypeKind2string(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Type_kind(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Type", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type __TypeKind does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___Type_name(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Type_name(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Name(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Type_name(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Type", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___Type_description(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Type_description(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Description(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Type_description(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Type", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___Type_specifiedByURL(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Type_specifiedByURL(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.SpecifiedByURL(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*string) + fc.Result = res + return ec.marshalOString2ᚖstring(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Type_specifiedByURL(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Type", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type String does not have child fields") + }, + } + return fc, nil +} + +func (ec *executionContext) ___Type_fields(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Type_fields(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Fields(fc.Args["includeDeprecated"].(bool)), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.([]introspection.Field) + fc.Result = res + return ec.marshalO__Field2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐFieldᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Type_fields(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Type", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "name": + return ec.fieldContext___Field_name(ctx, field) + case "description": + return ec.fieldContext___Field_description(ctx, field) + case "args": + return ec.fieldContext___Field_args(ctx, field) + case "type": + return ec.fieldContext___Field_type(ctx, field) + case "isDeprecated": + return ec.fieldContext___Field_isDeprecated(ctx, field) + case "deprecationReason": + return ec.fieldContext___Field_deprecationReason(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type __Field", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field___Type_fields_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) ___Type_interfaces(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Type_interfaces(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.Interfaces(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.([]introspection.Type) + fc.Result = res + return ec.marshalO__Type2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐTypeᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Type_interfaces(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Type", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "kind": + return ec.fieldContext___Type_kind(ctx, field) + case "name": + return ec.fieldContext___Type_name(ctx, field) + case "description": + return ec.fieldContext___Type_description(ctx, field) + case "specifiedByURL": + return ec.fieldContext___Type_specifiedByURL(ctx, field) + case "fields": + return ec.fieldContext___Type_fields(ctx, field) + case "interfaces": + return ec.fieldContext___Type_interfaces(ctx, field) + case "possibleTypes": + return ec.fieldContext___Type_possibleTypes(ctx, field) + case "enumValues": + return ec.fieldContext___Type_enumValues(ctx, field) + case "inputFields": + return ec.fieldContext___Type_inputFields(ctx, field) + case "ofType": + return ec.fieldContext___Type_ofType(ctx, field) + case "isOneOf": + return ec.fieldContext___Type_isOneOf(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) ___Type_possibleTypes(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Type_possibleTypes(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.PossibleTypes(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.([]introspection.Type) + fc.Result = res + return ec.marshalO__Type2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐTypeᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Type_possibleTypes(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Type", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "kind": + return ec.fieldContext___Type_kind(ctx, field) + case "name": + return ec.fieldContext___Type_name(ctx, field) + case "description": + return ec.fieldContext___Type_description(ctx, field) + case "specifiedByURL": + return ec.fieldContext___Type_specifiedByURL(ctx, field) + case "fields": + return ec.fieldContext___Type_fields(ctx, field) + case "interfaces": + return ec.fieldContext___Type_interfaces(ctx, field) + case "possibleTypes": + return ec.fieldContext___Type_possibleTypes(ctx, field) + case "enumValues": + return ec.fieldContext___Type_enumValues(ctx, field) + case "inputFields": + return ec.fieldContext___Type_inputFields(ctx, field) + case "ofType": + return ec.fieldContext___Type_ofType(ctx, field) + case "isOneOf": + return ec.fieldContext___Type_isOneOf(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) ___Type_enumValues(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Type_enumValues(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.EnumValues(fc.Args["includeDeprecated"].(bool)), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.([]introspection.EnumValue) + fc.Result = res + return ec.marshalO__EnumValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐEnumValueᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Type_enumValues(ctx context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Type", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "name": + return ec.fieldContext___EnumValue_name(ctx, field) + case "description": + return ec.fieldContext___EnumValue_description(ctx, field) + case "isDeprecated": + return ec.fieldContext___EnumValue_isDeprecated(ctx, field) + case "deprecationReason": + return ec.fieldContext___EnumValue_deprecationReason(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type __EnumValue", field.Name) + }, + } + defer func() { + if r := recover(); r != nil { + err = ec.Recover(ctx, r) + ec.Error(ctx, err) + } + }() + ctx = graphql.WithFieldContext(ctx, fc) + if fc.Args, err = ec.field___Type_enumValues_args(ctx, field.ArgumentMap(ec.Variables)); err != nil { + ec.Error(ctx, err) + return fc, err + } + return fc, nil +} + +func (ec *executionContext) ___Type_inputFields(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Type_inputFields(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.InputFields(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.([]introspection.InputValue) + fc.Result = res + return ec.marshalO__InputValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValueᚄ(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Type_inputFields(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Type", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "name": + return ec.fieldContext___InputValue_name(ctx, field) + case "description": + return ec.fieldContext___InputValue_description(ctx, field) + case "type": + return ec.fieldContext___InputValue_type(ctx, field) + case "defaultValue": + return ec.fieldContext___InputValue_defaultValue(ctx, field) + case "isDeprecated": + return ec.fieldContext___InputValue_isDeprecated(ctx, field) + case "deprecationReason": + return ec.fieldContext___InputValue_deprecationReason(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type __InputValue", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) ___Type_ofType(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Type_ofType(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.OfType(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(*introspection.Type) + fc.Result = res + return ec.marshalO__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Type_ofType(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Type", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + switch field.Name { + case "kind": + return ec.fieldContext___Type_kind(ctx, field) + case "name": + return ec.fieldContext___Type_name(ctx, field) + case "description": + return ec.fieldContext___Type_description(ctx, field) + case "specifiedByURL": + return ec.fieldContext___Type_specifiedByURL(ctx, field) + case "fields": + return ec.fieldContext___Type_fields(ctx, field) + case "interfaces": + return ec.fieldContext___Type_interfaces(ctx, field) + case "possibleTypes": + return ec.fieldContext___Type_possibleTypes(ctx, field) + case "enumValues": + return ec.fieldContext___Type_enumValues(ctx, field) + case "inputFields": + return ec.fieldContext___Type_inputFields(ctx, field) + case "ofType": + return ec.fieldContext___Type_ofType(ctx, field) + case "isOneOf": + return ec.fieldContext___Type_isOneOf(ctx, field) + } + return nil, fmt.Errorf("no field named %q was found under type __Type", field.Name) + }, + } + return fc, nil +} + +func (ec *executionContext) ___Type_isOneOf(ctx context.Context, field graphql.CollectedField, obj *introspection.Type) (ret graphql.Marshaler) { + fc, err := ec.fieldContext___Type_isOneOf(ctx, field) + if err != nil { + return graphql.Null + } + ctx = graphql.WithFieldContext(ctx, fc) + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = graphql.Null + } + }() + resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { + ctx = rctx // use context from middleware stack in children + return obj.IsOneOf(), nil + }) + if err != nil { + ec.Error(ctx, err) + return graphql.Null + } + if resTmp == nil { + return graphql.Null + } + res := resTmp.(bool) + fc.Result = res + return ec.marshalOBoolean2bool(ctx, field.Selections, res) +} + +func (ec *executionContext) fieldContext___Type_isOneOf(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { + fc = &graphql.FieldContext{ + Object: "__Type", + Field: field, + IsMethod: true, + IsResolver: false, + Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { + return nil, errors.New("field of type Boolean does not have child fields") + }, + } + return fc, nil +} + +// endregion **************************** field.gotpl ***************************** + +// region **************************** input.gotpl ***************************** + +func (ec *executionContext) unmarshalInputAIUseDisclosureInput(ctx context.Context, obj any) (AIUseDisclosureInput, error) { + var it AIUseDisclosureInput + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"disclosure_type", "disclosure_string"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "disclosure_type": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("disclosure_type")) + data, err := ec.unmarshalNAIUseDisclosureType2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAIUseDisclosureType(ctx, v) + if err != nil { + return it, err + } + it.DisclosureType = data + case "disclosure_string": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("disclosure_string")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.DisclosureString = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputCompatibilityInfoInput(ctx context.Context, obj any) (CompatibilityInfoInput, error) { + var it CompatibilityInfoInput + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"EA", "EXP", "Controller"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "EA": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("EA")) + data, err := ec.unmarshalNCompatibilityInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInput(ctx, v) + if err != nil { + return it, err + } + it.Ea = data + case "EXP": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("EXP")) + data, err := ec.unmarshalNCompatibilityInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInput(ctx, v) + if err != nil { + return it, err + } + it.Exp = data + case "Controller": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("Controller")) + data, err := ec.unmarshalNControllerCompatibilityInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐControllerCompatibilityInput(ctx, v) + if err != nil { + return it, err + } + it.Controller = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputCompatibilityInput(ctx context.Context, obj any) (CompatibilityInput, error) { + var it CompatibilityInput + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"state", "note"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "state": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("state")) + data, err := ec.unmarshalNCompatibilityState2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityState(ctx, v) + if err != nil { + return it, err + } + it.State = data + case "note": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("note")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.Note = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputControllerCompatibilityInput(ctx context.Context, obj any) (ControllerCompatibilityInput, error) { + var it ControllerCompatibilityInput + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"state", "note"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "state": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("state")) + data, err := ec.unmarshalNControllerCompatibilityState2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐControllerCompatibilityState(ctx, v) + if err != nil { + return it, err + } + it.State = data + case "note": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("note")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.Note = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputGuideFilter(ctx context.Context, obj any) (map[string]any, error) { + it := make(map[string]any, len(obj.(map[string]any))) + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"limit", "offset", "order_by", "order", "search", "ids", "tagIDs"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "limit": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("limit")) + data, err := ec.unmarshalOInt2ᚖint(ctx, v) + if err != nil { + return it, err + } + it["limit"] = data + case "offset": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("offset")) + data, err := ec.unmarshalOInt2ᚖint(ctx, v) + if err != nil { + return it, err + } + it["offset"] = data + case "order_by": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("order_by")) + data, err := ec.unmarshalOGuideFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuideFields(ctx, v) + if err != nil { + return it, err + } + it["order_by"] = data + case "order": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("order")) + data, err := ec.unmarshalOOrder2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOrder(ctx, v) + if err != nil { + return it, err + } + it["order"] = data + case "search": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("search")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it["search"] = data + case "ids": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("ids")) + data, err := ec.unmarshalOString2ᚕstringᚄ(ctx, v) + if err != nil { + return it, err + } + it["ids"] = data + case "tagIDs": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("tagIDs")) + data, err := ec.unmarshalOTagID2ᚕstringᚄ(ctx, v) + if err != nil { + return it, err + } + it["tagIDs"] = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputModFilter(ctx context.Context, obj any) (map[string]any, error) { + it := make(map[string]any, len(obj.(map[string]any))) + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"limit", "offset", "order_by", "order", "search", "ids", "references", "hidden", "tagIDs"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "limit": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("limit")) + data, err := ec.unmarshalOInt2ᚖint(ctx, v) + if err != nil { + return it, err + } + it["limit"] = data + case "offset": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("offset")) + data, err := ec.unmarshalOInt2ᚖint(ctx, v) + if err != nil { + return it, err + } + it["offset"] = data + case "order_by": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("order_by")) + data, err := ec.unmarshalOModFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModFields(ctx, v) + if err != nil { + return it, err + } + it["order_by"] = data + case "order": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("order")) + data, err := ec.unmarshalOOrder2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOrder(ctx, v) + if err != nil { + return it, err + } + it["order"] = data + case "search": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("search")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it["search"] = data + case "ids": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("ids")) + data, err := ec.unmarshalOString2ᚕstringᚄ(ctx, v) + if err != nil { + return it, err + } + it["ids"] = data + case "references": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("references")) + data, err := ec.unmarshalOString2ᚕstringᚄ(ctx, v) + if err != nil { + return it, err + } + it["references"] = data + case "hidden": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("hidden")) + data, err := ec.unmarshalOBoolean2ᚖbool(ctx, v) + if err != nil { + return it, err + } + it["hidden"] = data + case "tagIDs": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("tagIDs")) + data, err := ec.unmarshalOTagID2ᚕstringᚄ(ctx, v) + if err != nil { + return it, err + } + it["tagIDs"] = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputModVersionConstraint(ctx context.Context, obj any) (ModVersionConstraint, error) { + var it ModVersionConstraint + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"modIdOrReference", "version"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "modIdOrReference": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("modIdOrReference")) + data, err := ec.unmarshalNString2string(ctx, v) + if err != nil { + return it, err + } + it.ModIDOrReference = data + case "version": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("version")) + data, err := ec.unmarshalNString2string(ctx, v) + if err != nil { + return it, err + } + it.Version = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputNewAnnouncement(ctx context.Context, obj any) (NewAnnouncement, error) { + var it NewAnnouncement + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"message", "importance"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "message": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("message")) + data, err := ec.unmarshalNString2string(ctx, v) + if err != nil { + return it, err + } + it.Message = data + case "importance": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("importance")) + data, err := ec.unmarshalNAnnouncementImportance2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementImportance(ctx, v) + if err != nil { + return it, err + } + it.Importance = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputNewGuide(ctx context.Context, obj any) (NewGuide, error) { + var it NewGuide + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"name", "short_description", "guide", "tagIDs"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "name": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("name")) + data, err := ec.unmarshalNString2string(ctx, v) + if err != nil { + return it, err + } + it.Name = data + case "short_description": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("short_description")) + data, err := ec.unmarshalNString2string(ctx, v) + if err != nil { + return it, err + } + it.ShortDescription = data + case "guide": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("guide")) + data, err := ec.unmarshalNString2string(ctx, v) + if err != nil { + return it, err + } + it.Guide = data + case "tagIDs": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("tagIDs")) + data, err := ec.unmarshalOTagID2ᚕstringᚄ(ctx, v) + if err != nil { + return it, err + } + it.TagIDs = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputNewMod(ctx context.Context, obj any) (NewMod, error) { + var it NewMod + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"name", "short_description", "full_description", "logo", "source_url", "mod_reference", "hidden", "tagIDs", "toggle_network_use", "toggle_explicit_content", "ai_use_disclosure"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "name": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("name")) + data, err := ec.unmarshalNString2string(ctx, v) + if err != nil { + return it, err + } + it.Name = data + case "short_description": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("short_description")) + data, err := ec.unmarshalNString2string(ctx, v) + if err != nil { + return it, err + } + it.ShortDescription = data + case "full_description": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("full_description")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.FullDescription = data + case "logo": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("logo")) + data, err := ec.unmarshalOUpload2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚐUpload(ctx, v) + if err != nil { + return it, err + } + it.Logo = data + case "source_url": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("source_url")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.SourceURL = data + case "mod_reference": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("mod_reference")) + data, err := ec.unmarshalNModReference2string(ctx, v) + if err != nil { + return it, err + } + it.ModReference = data + case "hidden": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("hidden")) + data, err := ec.unmarshalOBoolean2ᚖbool(ctx, v) + if err != nil { + return it, err + } + it.Hidden = data + case "tagIDs": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("tagIDs")) + data, err := ec.unmarshalOTagID2ᚕstringᚄ(ctx, v) + if err != nil { + return it, err + } + it.TagIDs = data + case "toggle_network_use": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("toggle_network_use")) + data, err := ec.unmarshalOBoolean2ᚖbool(ctx, v) + if err != nil { + return it, err + } + it.ToggleNetworkUse = data + case "toggle_explicit_content": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("toggle_explicit_content")) + data, err := ec.unmarshalOBoolean2ᚖbool(ctx, v) + if err != nil { + return it, err + } + it.ToggleExplicitContent = data + case "ai_use_disclosure": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("ai_use_disclosure")) + data, err := ec.unmarshalOAIUseDisclosureInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAIUseDisclosureInput(ctx, v) + if err != nil { + return it, err + } + it.AiUseDisclosure = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputNewSatisfactoryVersion(ctx context.Context, obj any) (NewSatisfactoryVersion, error) { + var it NewSatisfactoryVersion + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"version", "engine_version"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "version": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("version")) + data, err := ec.unmarshalNInt2int(ctx, v) + if err != nil { + return it, err + } + it.Version = data + case "engine_version": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("engine_version")) + data, err := ec.unmarshalNString2string(ctx, v) + if err != nil { + return it, err + } + it.EngineVersion = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputNewTag(ctx context.Context, obj any) (NewTag, error) { + var it NewTag + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"name", "description"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "name": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("name")) + data, err := ec.unmarshalNTagName2string(ctx, v) + if err != nil { + return it, err + } + it.Name = data + case "description": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("description")) + data, err := ec.unmarshalNString2string(ctx, v) + if err != nil { + return it, err + } + it.Description = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputNewVersion(ctx context.Context, obj any) (NewVersion, error) { + var it NewVersion + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"changelog", "stability"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "changelog": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("changelog")) + data, err := ec.unmarshalNString2string(ctx, v) + if err != nil { + return it, err + } + it.Changelog = data + case "stability": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("stability")) + data, err := ec.unmarshalNVersionStabilities2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionStabilities(ctx, v) + if err != nil { + return it, err + } + it.Stability = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputSMLVersionFilter(ctx context.Context, obj any) (map[string]any, error) { + it := make(map[string]any, len(obj.(map[string]any))) + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"limit", "offset", "order_by", "order", "search", "ids"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "limit": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("limit")) + data, err := ec.unmarshalOInt2ᚖint(ctx, v) + if err != nil { + return it, err + } + it["limit"] = data + case "offset": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("offset")) + data, err := ec.unmarshalOInt2ᚖint(ctx, v) + if err != nil { + return it, err + } + it["offset"] = data + case "order_by": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("order_by")) + data, err := ec.unmarshalOSMLVersionFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersionFields(ctx, v) + if err != nil { + return it, err + } + it["order_by"] = data + case "order": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("order")) + data, err := ec.unmarshalOOrder2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOrder(ctx, v) + if err != nil { + return it, err + } + it["order"] = data + case "search": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("search")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it["search"] = data + case "ids": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("ids")) + data, err := ec.unmarshalOString2ᚕstringᚄ(ctx, v) + if err != nil { + return it, err + } + it["ids"] = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputTagFilter(ctx context.Context, obj any) (TagFilter, error) { + var it TagFilter + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"limit", "offset", "order", "search", "ids"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "limit": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("limit")) + data, err := ec.unmarshalOInt2ᚖint(ctx, v) + if err != nil { + return it, err + } + it.Limit = data + case "offset": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("offset")) + data, err := ec.unmarshalOInt2ᚖint(ctx, v) + if err != nil { + return it, err + } + it.Offset = data + case "order": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("order")) + data, err := ec.unmarshalOOrder2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOrder(ctx, v) + if err != nil { + return it, err + } + it.Order = data + case "search": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("search")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.Search = data + case "ids": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("ids")) + data, err := ec.unmarshalOTagID2ᚕstringᚄ(ctx, v) + if err != nil { + return it, err + } + it.Ids = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputUpdateAnnouncement(ctx context.Context, obj any) (UpdateAnnouncement, error) { + var it UpdateAnnouncement + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"message", "importance"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "message": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("message")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.Message = data + case "importance": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("importance")) + data, err := ec.unmarshalOAnnouncementImportance2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementImportance(ctx, v) + if err != nil { + return it, err + } + it.Importance = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputUpdateGuide(ctx context.Context, obj any) (UpdateGuide, error) { + var it UpdateGuide + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"name", "short_description", "guide", "tagIDs"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "name": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("name")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.Name = data + case "short_description": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("short_description")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.ShortDescription = data + case "guide": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("guide")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.Guide = data + case "tagIDs": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("tagIDs")) + data, err := ec.unmarshalOTagID2ᚕstringᚄ(ctx, v) + if err != nil { + return it, err + } + it.TagIDs = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputUpdateMod(ctx context.Context, obj any) (UpdateMod, error) { + var it UpdateMod + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"name", "short_description", "full_description", "logo", "source_url", "mod_reference", "authors", "hidden", "tagIDs", "compatibility", "toggle_network_use", "network_use_disclosure", "ai_use_disclosure", "toggle_explicit_content"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "name": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("name")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.Name = data + case "short_description": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("short_description")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.ShortDescription = data + case "full_description": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("full_description")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.FullDescription = data + case "logo": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("logo")) + data, err := ec.unmarshalOUpload2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚐUpload(ctx, v) + if err != nil { + return it, err + } + it.Logo = data + case "source_url": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("source_url")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.SourceURL = data + case "mod_reference": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("mod_reference")) + data, err := ec.unmarshalOModReference2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.ModReference = data + case "authors": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("authors")) + data, err := ec.unmarshalOUpdateUserMod2ᚕgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateUserModᚄ(ctx, v) + if err != nil { + return it, err + } + it.Authors = data + case "hidden": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("hidden")) + data, err := ec.unmarshalOBoolean2ᚖbool(ctx, v) + if err != nil { + return it, err + } + it.Hidden = data + case "tagIDs": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("tagIDs")) + data, err := ec.unmarshalOTagID2ᚕstringᚄ(ctx, v) + if err != nil { + return it, err + } + it.TagIDs = data + case "compatibility": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("compatibility")) + data, err := ec.unmarshalOCompatibilityInfoInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInfoInput(ctx, v) + if err != nil { + return it, err + } + it.Compatibility = data + case "toggle_network_use": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("toggle_network_use")) + data, err := ec.unmarshalOBoolean2ᚖbool(ctx, v) + if err != nil { + return it, err + } + it.ToggleNetworkUse = data + case "network_use_disclosure": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("network_use_disclosure")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.NetworkUseDisclosure = graphql.OmittableOf(data) + case "ai_use_disclosure": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("ai_use_disclosure")) + data, err := ec.unmarshalOAIUseDisclosureInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAIUseDisclosureInput(ctx, v) + if err != nil { + return it, err + } + it.AiUseDisclosure = data + case "toggle_explicit_content": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("toggle_explicit_content")) + data, err := ec.unmarshalOBoolean2ᚖbool(ctx, v) + if err != nil { + return it, err + } + it.ToggleExplicitContent = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputUpdateSatisfactoryVersion(ctx context.Context, obj any) (UpdateSatisfactoryVersion, error) { + var it UpdateSatisfactoryVersion + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"version", "engine_version"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "version": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("version")) + data, err := ec.unmarshalOInt2ᚖint(ctx, v) + if err != nil { + return it, err + } + it.Version = data + case "engine_version": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("engine_version")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.EngineVersion = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputUpdateUser(ctx context.Context, obj any) (UpdateUser, error) { + var it UpdateUser + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"avatar", "groups", "username"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "avatar": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("avatar")) + data, err := ec.unmarshalOUpload2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚐUpload(ctx, v) + if err != nil { + return it, err + } + it.Avatar = data + case "groups": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("groups")) + directive0 := func(ctx context.Context) (any, error) { return ec.unmarshalOString2ᚕstringᚄ(ctx, v) } + + directive1 := func(ctx context.Context) (any, error) { + if ec.directives.CanEditUsers == nil { + var zeroVal []string + return zeroVal, errors.New("directive canEditUsers is not implemented") + } + return ec.directives.CanEditUsers(ctx, obj, directive0) + } + directive2 := func(ctx context.Context) (any, error) { + if ec.directives.IsLoggedIn == nil { + var zeroVal []string + return zeroVal, errors.New("directive isLoggedIn is not implemented") + } + return ec.directives.IsLoggedIn(ctx, obj, directive1) + } + + tmp, err := directive2(ctx) + if err != nil { + return it, graphql.ErrorOnPath(ctx, err) + } + if data, ok := tmp.([]string); ok { + it.Groups = data + } else if tmp == nil { + it.Groups = nil + } else { + err := fmt.Errorf(`unexpected type %T from directive, should be []string`, tmp) + return it, graphql.ErrorOnPath(ctx, err) + } + case "username": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("username")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.Username = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputUpdateUserMod(ctx context.Context, obj any) (UpdateUserMod, error) { + var it UpdateUserMod + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"user_id", "role"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "user_id": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("user_id")) + data, err := ec.unmarshalNUserID2string(ctx, v) + if err != nil { + return it, err + } + it.UserID = data + case "role": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("role")) + data, err := ec.unmarshalNString2string(ctx, v) + if err != nil { + return it, err + } + it.Role = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputUpdateVersion(ctx context.Context, obj any) (UpdateVersion, error) { + var it UpdateVersion + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"changelog", "stability"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "changelog": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("changelog")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it.Changelog = data + case "stability": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("stability")) + data, err := ec.unmarshalOVersionStabilities2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionStabilities(ctx, v) + if err != nil { + return it, err + } + it.Stability = data + } + } + + return it, nil +} + +func (ec *executionContext) unmarshalInputVersionFilter(ctx context.Context, obj any) (map[string]any, error) { + it := make(map[string]any, len(obj.(map[string]any))) + asMap := map[string]any{} + for k, v := range obj.(map[string]any) { + asMap[k] = v + } + + fieldsInOrder := [...]string{"limit", "offset", "order_by", "order", "search", "ids"} + for _, k := range fieldsInOrder { + v, ok := asMap[k] + if !ok { + continue + } + switch k { + case "limit": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("limit")) + data, err := ec.unmarshalOInt2ᚖint(ctx, v) + if err != nil { + return it, err + } + it["limit"] = data + case "offset": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("offset")) + data, err := ec.unmarshalOInt2ᚖint(ctx, v) + if err != nil { + return it, err + } + it["offset"] = data + case "order_by": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("order_by")) + data, err := ec.unmarshalOVersionFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionFields(ctx, v) + if err != nil { + return it, err + } + it["order_by"] = data + case "order": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("order")) + data, err := ec.unmarshalOOrder2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOrder(ctx, v) + if err != nil { + return it, err + } + it["order"] = data + case "search": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("search")) + data, err := ec.unmarshalOString2ᚖstring(ctx, v) + if err != nil { + return it, err + } + it["search"] = data + case "ids": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("ids")) + data, err := ec.unmarshalOString2ᚕstringᚄ(ctx, v) + if err != nil { + return it, err + } + it["ids"] = data + } + } + + return it, nil +} + +// endregion **************************** input.gotpl ***************************** + +// region ************************** interface.gotpl *************************** + +// endregion ************************** interface.gotpl *************************** + +// region **************************** object.gotpl **************************** + +var aIUseDisclosureInfoImplementors = []string{"AIUseDisclosureInfo"} + +func (ec *executionContext) _AIUseDisclosureInfo(ctx context.Context, sel ast.SelectionSet, obj *AIUseDisclosureInfo) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, aIUseDisclosureInfoImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("AIUseDisclosureInfo") + case "disclosure_type": + out.Values[i] = ec._AIUseDisclosureInfo_disclosure_type(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "disclosure_string": + out.Values[i] = ec._AIUseDisclosureInfo_disclosure_string(ctx, field, obj) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var announcementImplementors = []string{"Announcement"} + +func (ec *executionContext) _Announcement(ctx context.Context, sel ast.SelectionSet, obj *Announcement) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, announcementImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("Announcement") + case "id": + out.Values[i] = ec._Announcement_id(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "message": + out.Values[i] = ec._Announcement_message(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "importance": + out.Values[i] = ec._Announcement_importance(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var compatibilityImplementors = []string{"Compatibility"} + +func (ec *executionContext) _Compatibility(ctx context.Context, sel ast.SelectionSet, obj *Compatibility) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, compatibilityImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("Compatibility") + case "state": + out.Values[i] = ec._Compatibility_state(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "note": + out.Values[i] = ec._Compatibility_note(ctx, field, obj) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var compatibilityInfoImplementors = []string{"CompatibilityInfo"} + +func (ec *executionContext) _CompatibilityInfo(ctx context.Context, sel ast.SelectionSet, obj *CompatibilityInfo) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, compatibilityInfoImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("CompatibilityInfo") + case "EA": + out.Values[i] = ec._CompatibilityInfo_EA(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "EXP": + out.Values[i] = ec._CompatibilityInfo_EXP(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "Controller": + out.Values[i] = ec._CompatibilityInfo_Controller(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var controllerCompatibilityImplementors = []string{"ControllerCompatibility"} + +func (ec *executionContext) _ControllerCompatibility(ctx context.Context, sel ast.SelectionSet, obj *ControllerCompatibility) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, controllerCompatibilityImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("ControllerCompatibility") + case "state": + out.Values[i] = ec._ControllerCompatibility_state(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "note": + out.Values[i] = ec._ControllerCompatibility_note(ctx, field, obj) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var createVersionResponseImplementors = []string{"CreateVersionResponse"} + +func (ec *executionContext) _CreateVersionResponse(ctx context.Context, sel ast.SelectionSet, obj *CreateVersionResponse) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, createVersionResponseImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("CreateVersionResponse") + case "auto_approved": + out.Values[i] = ec._CreateVersionResponse_auto_approved(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "version": + out.Values[i] = ec._CreateVersionResponse_version(ctx, field, obj) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var getGuidesImplementors = []string{"GetGuides"} + +func (ec *executionContext) _GetGuides(ctx context.Context, sel ast.SelectionSet, obj *GetGuides) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, getGuidesImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("GetGuides") + case "guides": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._GetGuides_guides(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "count": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._GetGuides_count(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var getModsImplementors = []string{"GetMods"} + +func (ec *executionContext) _GetMods(ctx context.Context, sel ast.SelectionSet, obj *GetMods) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, getModsImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("GetMods") + case "mods": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._GetMods_mods(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "count": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._GetMods_count(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var getMyModsImplementors = []string{"GetMyMods"} + +func (ec *executionContext) _GetMyMods(ctx context.Context, sel ast.SelectionSet, obj *GetMyMods) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, getMyModsImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("GetMyMods") + case "mods": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._GetMyMods_mods(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "count": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._GetMyMods_count(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var getMyVersionsImplementors = []string{"GetMyVersions"} + +func (ec *executionContext) _GetMyVersions(ctx context.Context, sel ast.SelectionSet, obj *GetMyVersions) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, getMyVersionsImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("GetMyVersions") + case "versions": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._GetMyVersions_versions(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "count": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._GetMyVersions_count(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var getSMLVersionsImplementors = []string{"GetSMLVersions"} + +func (ec *executionContext) _GetSMLVersions(ctx context.Context, sel ast.SelectionSet, obj *GetSMLVersions) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, getSMLVersionsImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("GetSMLVersions") + case "sml_versions": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._GetSMLVersions_sml_versions(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "count": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._GetSMLVersions_count(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var getVersionsImplementors = []string{"GetVersions"} + +func (ec *executionContext) _GetVersions(ctx context.Context, sel ast.SelectionSet, obj *GetVersions) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, getVersionsImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("GetVersions") + case "versions": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._GetVersions_versions(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "count": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._GetVersions_count(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var groupImplementors = []string{"Group"} + +func (ec *executionContext) _Group(ctx context.Context, sel ast.SelectionSet, obj *Group) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, groupImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("Group") + case "id": + out.Values[i] = ec._Group_id(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "name": + out.Values[i] = ec._Group_name(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var guideImplementors = []string{"Guide"} + +func (ec *executionContext) _Guide(ctx context.Context, sel ast.SelectionSet, obj *Guide) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, guideImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("Guide") + case "id": + out.Values[i] = ec._Guide_id(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "name": + out.Values[i] = ec._Guide_name(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "short_description": + out.Values[i] = ec._Guide_short_description(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "guide": + out.Values[i] = ec._Guide_guide(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "views": + out.Values[i] = ec._Guide_views(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "user_id": + out.Values[i] = ec._Guide_user_id(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "updated_at": + out.Values[i] = ec._Guide_updated_at(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "created_at": + out.Values[i] = ec._Guide_created_at(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "tags": + out.Values[i] = ec._Guide_tags(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "user": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Guide_user(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var latestVersionsImplementors = []string{"LatestVersions"} + +func (ec *executionContext) _LatestVersions(ctx context.Context, sel ast.SelectionSet, obj *LatestVersions) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, latestVersionsImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("LatestVersions") + case "alpha": + out.Values[i] = ec._LatestVersions_alpha(ctx, field, obj) + case "beta": + out.Values[i] = ec._LatestVersions_beta(ctx, field, obj) + case "release": + out.Values[i] = ec._LatestVersions_release(ctx, field, obj) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var modImplementors = []string{"Mod"} + +func (ec *executionContext) _Mod(ctx context.Context, sel ast.SelectionSet, obj *Mod) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, modImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("Mod") + case "id": + out.Values[i] = ec._Mod_id(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "name": + out.Values[i] = ec._Mod_name(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "short_description": + out.Values[i] = ec._Mod_short_description(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "full_description": + out.Values[i] = ec._Mod_full_description(ctx, field, obj) + case "logo": + out.Values[i] = ec._Mod_logo(ctx, field, obj) + case "logo_thumbhash": + out.Values[i] = ec._Mod_logo_thumbhash(ctx, field, obj) + case "source_url": + out.Values[i] = ec._Mod_source_url(ctx, field, obj) + case "creator_id": + out.Values[i] = ec._Mod_creator_id(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "approved": + out.Values[i] = ec._Mod_approved(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "views": + out.Values[i] = ec._Mod_views(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "downloads": + out.Values[i] = ec._Mod_downloads(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "hotness": + out.Values[i] = ec._Mod_hotness(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "popularity": + out.Values[i] = ec._Mod_popularity(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "updated_at": + out.Values[i] = ec._Mod_updated_at(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "created_at": + out.Values[i] = ec._Mod_created_at(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "last_version_date": + out.Values[i] = ec._Mod_last_version_date(ctx, field, obj) + case "mod_reference": + out.Values[i] = ec._Mod_mod_reference(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "hidden": + out.Values[i] = ec._Mod_hidden(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "tags": + out.Values[i] = ec._Mod_tags(ctx, field, obj) + case "compatibility": + out.Values[i] = ec._Mod_compatibility(ctx, field, obj) + case "toggle_network_use": + out.Values[i] = ec._Mod_toggle_network_use(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "network_use_disclosure": + out.Values[i] = ec._Mod_network_use_disclosure(ctx, field, obj) + case "ai_use_disclosure": + out.Values[i] = ec._Mod_ai_use_disclosure(ctx, field, obj) + case "toggle_explicit_content": + out.Values[i] = ec._Mod_toggle_explicit_content(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "authors": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Mod_authors(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "version": + field := field + + innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Mod_version(ctx, field, obj) + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "versions": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Mod_versions(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "latestVersions": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Mod_latestVersions(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var modVersionImplementors = []string{"ModVersion"} + +func (ec *executionContext) _ModVersion(ctx context.Context, sel ast.SelectionSet, obj *ModVersion) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, modVersionImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("ModVersion") + case "id": + out.Values[i] = ec._ModVersion_id(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "mod_reference": + out.Values[i] = ec._ModVersion_mod_reference(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "versions": + out.Values[i] = ec._ModVersion_versions(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var mutationImplementors = []string{"Mutation"} + +func (ec *executionContext) _Mutation(ctx context.Context, sel ast.SelectionSet) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, mutationImplementors) + ctx = graphql.WithFieldContext(ctx, &graphql.FieldContext{ + Object: "Mutation", + }) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + innerCtx := graphql.WithRootFieldContext(ctx, &graphql.RootFieldContext{ + Object: field.Name, + Field: field, + }) + + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("Mutation") + case "discourseSSO": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_discourseSSO(ctx, field) + }) + case "createAnnouncement": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_createAnnouncement(ctx, field) + }) + case "updateAnnouncement": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_updateAnnouncement(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "deleteAnnouncement": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_deleteAnnouncement(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "updateModCompatibility": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_updateModCompatibility(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "updateMultipleModCompatibilities": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_updateMultipleModCompatibilities(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "createGuide": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_createGuide(ctx, field) + }) + case "updateGuide": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_updateGuide(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "deleteGuide": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_deleteGuide(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "createMod": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_createMod(ctx, field) + }) + case "updateMod": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_updateMod(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "deleteMod": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_deleteMod(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "approveMod": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_approveMod(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "denyMod": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_denyMod(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "createSatisfactoryVersion": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_createSatisfactoryVersion(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "updateSatisfactoryVersion": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_updateSatisfactoryVersion(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "deleteSatisfactoryVersion": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_deleteSatisfactoryVersion(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "createTag": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_createTag(ctx, field) + }) + case "createMultipleTags": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_createMultipleTags(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "updateTag": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_updateTag(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "deleteTag": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_deleteTag(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "updateUser": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_updateUser(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "logout": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_logout(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "oAuthGithub": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_oAuthGithub(ctx, field) + }) + case "oAuthGoogle": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_oAuthGoogle(ctx, field) + }) + case "oAuthFacebook": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_oAuthFacebook(ctx, field) + }) + case "createVersion": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_createVersion(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "uploadVersionPart": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_uploadVersionPart(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "finalizeCreateVersion": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_finalizeCreateVersion(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "updateVersion": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_updateVersion(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "deleteVersion": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_deleteVersion(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "approveVersion": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_approveVersion(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "denyVersion": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Mutation_denyVersion(ctx, field) + }) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var oAuthOptionsImplementors = []string{"OAuthOptions"} + +func (ec *executionContext) _OAuthOptions(ctx context.Context, sel ast.SelectionSet, obj *OAuthOptions) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, oAuthOptionsImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("OAuthOptions") + case "github": + out.Values[i] = ec._OAuthOptions_github(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "google": + out.Values[i] = ec._OAuthOptions_google(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "facebook": + out.Values[i] = ec._OAuthOptions_facebook(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var queryImplementors = []string{"Query"} + +func (ec *executionContext) _Query(ctx context.Context, sel ast.SelectionSet) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, queryImplementors) + ctx = graphql.WithFieldContext(ctx, &graphql.FieldContext{ + Object: "Query", + }) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + innerCtx := graphql.WithRootFieldContext(ctx, &graphql.RootFieldContext{ + Object: field.Name, + Field: field, + }) + + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("Query") + case "getOAuthOptions": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getOAuthOptions(ctx, field) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getAnnouncement": + field := field + + innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getAnnouncement(ctx, field) + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getAnnouncements": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getAnnouncements(ctx, field) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getAnnouncementsByImportance": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getAnnouncementsByImportance(ctx, field) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getGuide": + field := field + + innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getGuide(ctx, field) + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getGuides": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getGuides(ctx, field) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getMod": + field := field + + innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getMod(ctx, field) + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getModByReference": + field := field + + innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getModByReference(ctx, field) + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getModByIdOrReference": + field := field + + innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getModByIdOrReference(ctx, field) + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getMods": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getMods(ctx, field) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getUnapprovedMods": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getUnapprovedMods(ctx, field) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getMyMods": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getMyMods(ctx, field) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getMyUnapprovedMods": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getMyUnapprovedMods(ctx, field) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "resolveModVersions": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_resolveModVersions(ctx, field) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getModAssetList": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getModAssetList(ctx, field) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getSatisfactoryVersions": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getSatisfactoryVersions(ctx, field) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getSatisfactoryVersion": + field := field + + innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getSatisfactoryVersion(ctx, field) + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getSMLVersion": + field := field + + innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getSMLVersion(ctx, field) + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getSMLVersions": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getSMLVersions(ctx, field) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getTag": + field := field + + innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getTag(ctx, field) + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getTags": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getTags(ctx, field) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getMe": + field := field + + innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getMe(ctx, field) + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getUser": + field := field + + innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getUser(ctx, field) + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getUsers": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getUsers(ctx, field) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getVersion": + field := field + + innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getVersion(ctx, field) + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getVersions": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getVersions(ctx, field) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getUnapprovedVersions": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getUnapprovedVersions(ctx, field) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "checkVersionUploadState": + field := field + + innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_checkVersionUploadState(ctx, field) + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getMyVersions": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getMyVersions(ctx, field) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "getMyUnapprovedVersions": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Query_getMyUnapprovedVersions(ctx, field) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + rrm := func(ctx context.Context) graphql.Marshaler { + return ec.OperationContext.RootResolverMiddleware(ctx, + func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return rrm(innerCtx) }) + case "__type": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Query___type(ctx, field) + }) + case "__schema": + out.Values[i] = ec.OperationContext.RootResolverMiddleware(innerCtx, func(ctx context.Context) (res graphql.Marshaler) { + return ec._Query___schema(ctx, field) + }) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var sMLVersionImplementors = []string{"SMLVersion"} + +func (ec *executionContext) _SMLVersion(ctx context.Context, sel ast.SelectionSet, obj *SMLVersion) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, sMLVersionImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("SMLVersion") + case "id": + out.Values[i] = ec._SMLVersion_id(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "version": + out.Values[i] = ec._SMLVersion_version(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "satisfactory_version": + out.Values[i] = ec._SMLVersion_satisfactory_version(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "stability": + out.Values[i] = ec._SMLVersion_stability(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "link": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._SMLVersion_link(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "targets": + out.Values[i] = ec._SMLVersion_targets(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "changelog": + out.Values[i] = ec._SMLVersion_changelog(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "date": + out.Values[i] = ec._SMLVersion_date(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "bootstrap_version": + field := field + + innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._SMLVersion_bootstrap_version(ctx, field, obj) + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "engine_version": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._SMLVersion_engine_version(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "updated_at": + out.Values[i] = ec._SMLVersion_updated_at(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "created_at": + out.Values[i] = ec._SMLVersion_created_at(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var sMLVersionTargetImplementors = []string{"SMLVersionTarget"} + +func (ec *executionContext) _SMLVersionTarget(ctx context.Context, sel ast.SelectionSet, obj *SMLVersionTarget) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, sMLVersionTargetImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("SMLVersionTarget") + case "VersionID": + out.Values[i] = ec._SMLVersionTarget_VersionID(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "targetName": + out.Values[i] = ec._SMLVersionTarget_targetName(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "link": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._SMLVersionTarget_link(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var satisfactoryVersionImplementors = []string{"SatisfactoryVersion"} + +func (ec *executionContext) _SatisfactoryVersion(ctx context.Context, sel ast.SelectionSet, obj *SatisfactoryVersion) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, satisfactoryVersionImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("SatisfactoryVersion") + case "id": + out.Values[i] = ec._SatisfactoryVersion_id(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "version": + out.Values[i] = ec._SatisfactoryVersion_version(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "engine_version": + out.Values[i] = ec._SatisfactoryVersion_engine_version(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var tagImplementors = []string{"Tag"} + +func (ec *executionContext) _Tag(ctx context.Context, sel ast.SelectionSet, obj *Tag) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, tagImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("Tag") + case "id": + out.Values[i] = ec._Tag_id(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "name": + out.Values[i] = ec._Tag_name(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "description": + out.Values[i] = ec._Tag_description(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var userImplementors = []string{"User"} + +func (ec *executionContext) _User(ctx context.Context, sel ast.SelectionSet, obj *User) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, userImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("User") + case "id": + out.Values[i] = ec._User_id(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "email": + out.Values[i] = ec._User_email(ctx, field, obj) + case "username": + out.Values[i] = ec._User_username(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "avatar": + out.Values[i] = ec._User_avatar(ctx, field, obj) + case "avatar_thumbhash": + out.Values[i] = ec._User_avatar_thumbhash(ctx, field, obj) + case "created_at": + out.Values[i] = ec._User_created_at(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "github_id": + out.Values[i] = ec._User_github_id(ctx, field, obj) + case "google_id": + out.Values[i] = ec._User_google_id(ctx, field, obj) + case "facebook_id": + out.Values[i] = ec._User_facebook_id(ctx, field, obj) + case "roles": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._User_roles(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "groups": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._User_groups(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "mods": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._User_mods(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "guides": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._User_guides(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var userModImplementors = []string{"UserMod"} + +func (ec *executionContext) _UserMod(ctx context.Context, sel ast.SelectionSet, obj *UserMod) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, userModImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("UserMod") + case "user_id": + out.Values[i] = ec._UserMod_user_id(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "mod_id": + out.Values[i] = ec._UserMod_mod_id(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "role": + out.Values[i] = ec._UserMod_role(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "user": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._UserMod_user(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "mod": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._UserMod_mod(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var userRolesImplementors = []string{"UserRoles"} + +func (ec *executionContext) _UserRoles(ctx context.Context, sel ast.SelectionSet, obj *UserRoles) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, userRolesImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("UserRoles") + case "approveMods": + out.Values[i] = ec._UserRoles_approveMods(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "approveVersions": + out.Values[i] = ec._UserRoles_approveVersions(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "deleteContent": + out.Values[i] = ec._UserRoles_deleteContent(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "editContent": + out.Values[i] = ec._UserRoles_editContent(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "editUsers": + out.Values[i] = ec._UserRoles_editUsers(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "editSatisfactoryVersions": + out.Values[i] = ec._UserRoles_editSatisfactoryVersions(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "editBootstrapVersions": + out.Values[i] = ec._UserRoles_editBootstrapVersions(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "editAnyModCompatibility": + out.Values[i] = ec._UserRoles_editAnyModCompatibility(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var userSessionImplementors = []string{"UserSession"} + +func (ec *executionContext) _UserSession(ctx context.Context, sel ast.SelectionSet, obj *UserSession) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, userSessionImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("UserSession") + case "token": + out.Values[i] = ec._UserSession_token(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var versionImplementors = []string{"Version"} + +func (ec *executionContext) _Version(ctx context.Context, sel ast.SelectionSet, obj *Version) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, versionImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("Version") + case "id": + out.Values[i] = ec._Version_id(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "mod_id": + out.Values[i] = ec._Version_mod_id(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "version": + out.Values[i] = ec._Version_version(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "sml_version": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Version_sml_version(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "game_version": + out.Values[i] = ec._Version_game_version(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "required_on_remote": + out.Values[i] = ec._Version_required_on_remote(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "changelog": + out.Values[i] = ec._Version_changelog(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "downloads": + out.Values[i] = ec._Version_downloads(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "stability": + out.Values[i] = ec._Version_stability(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "approved": + out.Values[i] = ec._Version_approved(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "updated_at": + out.Values[i] = ec._Version_updated_at(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "created_at": + out.Values[i] = ec._Version_created_at(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "link": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Version_link(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "targets": + out.Values[i] = ec._Version_targets(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "metadata": + out.Values[i] = ec._Version_metadata(ctx, field, obj) + case "size": + field := field + + innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Version_size(ctx, field, obj) + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "hash": + field := field + + innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Version_hash(ctx, field, obj) + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "mod": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Version_mod(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "dependencies": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Version_dependencies(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "virustotal_results": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._Version_virustotal_results(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var versionDependencyImplementors = []string{"VersionDependency"} + +func (ec *executionContext) _VersionDependency(ctx context.Context, sel ast.SelectionSet, obj *VersionDependency) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, versionDependencyImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("VersionDependency") + case "version_id": + out.Values[i] = ec._VersionDependency_version_id(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "mod_id": + out.Values[i] = ec._VersionDependency_mod_id(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "condition": + out.Values[i] = ec._VersionDependency_condition(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "optional": + out.Values[i] = ec._VersionDependency_optional(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "mod_reference": + out.Values[i] = ec._VersionDependency_mod_reference(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "mod": + field := field + + innerFunc := func(ctx context.Context, _ *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._VersionDependency_mod(ctx, field, obj) + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "version": + out.Values[i] = ec._VersionDependency_version(ctx, field, obj) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var versionTargetImplementors = []string{"VersionTarget"} + +func (ec *executionContext) _VersionTarget(ctx context.Context, sel ast.SelectionSet, obj *VersionTarget) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, versionTargetImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("VersionTarget") + case "VersionID": + out.Values[i] = ec._VersionTarget_VersionID(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "targetName": + out.Values[i] = ec._VersionTarget_targetName(ctx, field, obj) + if out.Values[i] == graphql.Null { + atomic.AddUint32(&out.Invalids, 1) + } + case "link": + field := field + + innerFunc := func(ctx context.Context, fs *graphql.FieldSet) (res graphql.Marshaler) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + } + }() + res = ec._VersionTarget_link(ctx, field, obj) + if res == graphql.Null { + atomic.AddUint32(&fs.Invalids, 1) + } + return res + } + + if field.Deferrable != nil { + dfs, ok := deferred[field.Deferrable.Label] + di := 0 + if ok { + dfs.AddField(field) + di = len(dfs.Values) - 1 + } else { + dfs = graphql.NewFieldSet([]graphql.CollectedField{field}) + deferred[field.Deferrable.Label] = dfs + } + dfs.Concurrently(di, func(ctx context.Context) graphql.Marshaler { + return innerFunc(ctx, dfs) + }) + + // don't run the out.Concurrently() call below + out.Values[i] = graphql.Null + continue + } + + out.Concurrently(i, func(ctx context.Context) graphql.Marshaler { return innerFunc(ctx, out) }) + case "size": + out.Values[i] = ec._VersionTarget_size(ctx, field, obj) + case "hash": + out.Values[i] = ec._VersionTarget_hash(ctx, field, obj) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var virustotalResultImplementors = []string{"VirustotalResult"} + +func (ec *executionContext) _VirustotalResult(ctx context.Context, sel ast.SelectionSet, obj *VirustotalResult) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, virustotalResultImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("VirustotalResult") + case "id": + out.Values[i] = ec._VirustotalResult_id(ctx, field, obj) + case "hash": + out.Values[i] = ec._VirustotalResult_hash(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "safe": + out.Values[i] = ec._VirustotalResult_safe(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "file_name": + out.Values[i] = ec._VirustotalResult_file_name(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "version_id": + out.Values[i] = ec._VirustotalResult_version_id(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "created_at": + out.Values[i] = ec._VirustotalResult_created_at(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "updated_at": + out.Values[i] = ec._VirustotalResult_updated_at(ctx, field, obj) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var __DirectiveImplementors = []string{"__Directive"} + +func (ec *executionContext) ___Directive(ctx context.Context, sel ast.SelectionSet, obj *introspection.Directive) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, __DirectiveImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("__Directive") + case "name": + out.Values[i] = ec.___Directive_name(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "description": + out.Values[i] = ec.___Directive_description(ctx, field, obj) + case "isRepeatable": + out.Values[i] = ec.___Directive_isRepeatable(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "locations": + out.Values[i] = ec.___Directive_locations(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "args": + out.Values[i] = ec.___Directive_args(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var __EnumValueImplementors = []string{"__EnumValue"} + +func (ec *executionContext) ___EnumValue(ctx context.Context, sel ast.SelectionSet, obj *introspection.EnumValue) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, __EnumValueImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("__EnumValue") + case "name": + out.Values[i] = ec.___EnumValue_name(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "description": + out.Values[i] = ec.___EnumValue_description(ctx, field, obj) + case "isDeprecated": + out.Values[i] = ec.___EnumValue_isDeprecated(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "deprecationReason": + out.Values[i] = ec.___EnumValue_deprecationReason(ctx, field, obj) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var __FieldImplementors = []string{"__Field"} + +func (ec *executionContext) ___Field(ctx context.Context, sel ast.SelectionSet, obj *introspection.Field) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, __FieldImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("__Field") + case "name": + out.Values[i] = ec.___Field_name(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "description": + out.Values[i] = ec.___Field_description(ctx, field, obj) + case "args": + out.Values[i] = ec.___Field_args(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "type": + out.Values[i] = ec.___Field_type(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "isDeprecated": + out.Values[i] = ec.___Field_isDeprecated(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "deprecationReason": + out.Values[i] = ec.___Field_deprecationReason(ctx, field, obj) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var __InputValueImplementors = []string{"__InputValue"} + +func (ec *executionContext) ___InputValue(ctx context.Context, sel ast.SelectionSet, obj *introspection.InputValue) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, __InputValueImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("__InputValue") + case "name": + out.Values[i] = ec.___InputValue_name(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "description": + out.Values[i] = ec.___InputValue_description(ctx, field, obj) + case "type": + out.Values[i] = ec.___InputValue_type(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "defaultValue": + out.Values[i] = ec.___InputValue_defaultValue(ctx, field, obj) + case "isDeprecated": + out.Values[i] = ec.___InputValue_isDeprecated(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "deprecationReason": + out.Values[i] = ec.___InputValue_deprecationReason(ctx, field, obj) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var __SchemaImplementors = []string{"__Schema"} + +func (ec *executionContext) ___Schema(ctx context.Context, sel ast.SelectionSet, obj *introspection.Schema) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, __SchemaImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("__Schema") + case "description": + out.Values[i] = ec.___Schema_description(ctx, field, obj) + case "types": + out.Values[i] = ec.___Schema_types(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "queryType": + out.Values[i] = ec.___Schema_queryType(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "mutationType": + out.Values[i] = ec.___Schema_mutationType(ctx, field, obj) + case "subscriptionType": + out.Values[i] = ec.___Schema_subscriptionType(ctx, field, obj) + case "directives": + out.Values[i] = ec.___Schema_directives(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +var __TypeImplementors = []string{"__Type"} + +func (ec *executionContext) ___Type(ctx context.Context, sel ast.SelectionSet, obj *introspection.Type) graphql.Marshaler { + fields := graphql.CollectFields(ec.OperationContext, sel, __TypeImplementors) + + out := graphql.NewFieldSet(fields) + deferred := make(map[string]*graphql.FieldSet) + for i, field := range fields { + switch field.Name { + case "__typename": + out.Values[i] = graphql.MarshalString("__Type") + case "kind": + out.Values[i] = ec.___Type_kind(ctx, field, obj) + if out.Values[i] == graphql.Null { + out.Invalids++ + } + case "name": + out.Values[i] = ec.___Type_name(ctx, field, obj) + case "description": + out.Values[i] = ec.___Type_description(ctx, field, obj) + case "specifiedByURL": + out.Values[i] = ec.___Type_specifiedByURL(ctx, field, obj) + case "fields": + out.Values[i] = ec.___Type_fields(ctx, field, obj) + case "interfaces": + out.Values[i] = ec.___Type_interfaces(ctx, field, obj) + case "possibleTypes": + out.Values[i] = ec.___Type_possibleTypes(ctx, field, obj) + case "enumValues": + out.Values[i] = ec.___Type_enumValues(ctx, field, obj) + case "inputFields": + out.Values[i] = ec.___Type_inputFields(ctx, field, obj) + case "ofType": + out.Values[i] = ec.___Type_ofType(ctx, field, obj) + case "isOneOf": + out.Values[i] = ec.___Type_isOneOf(ctx, field, obj) + default: + panic("unknown field " + strconv.Quote(field.Name)) + } + } + out.Dispatch(ctx) + if out.Invalids > 0 { + return graphql.Null + } + + atomic.AddInt32(&ec.deferred, int32(len(deferred))) + + for label, dfs := range deferred { + ec.processDeferredGroup(graphql.DeferredGroup{ + Label: label, + Path: graphql.GetPath(ctx), + FieldSet: dfs, + Context: ctx, + }) + } + + return out +} + +// endregion **************************** object.gotpl **************************** + +// region ***************************** type.gotpl ***************************** + +func (ec *executionContext) unmarshalNAIUseDisclosureType2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAIUseDisclosureType(ctx context.Context, v any) (AIUseDisclosureType, error) { + var res AIUseDisclosureType + err := res.UnmarshalGQL(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNAIUseDisclosureType2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAIUseDisclosureType(ctx context.Context, sel ast.SelectionSet, v AIUseDisclosureType) graphql.Marshaler { + return v +} + +func (ec *executionContext) marshalNAnnouncement2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncement(ctx context.Context, sel ast.SelectionSet, v Announcement) graphql.Marshaler { + return ec._Announcement(ctx, sel, &v) +} + +func (ec *executionContext) marshalNAnnouncement2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementᚄ(ctx context.Context, sel ast.SelectionSet, v []*Announcement) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalNAnnouncement2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncement(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalNAnnouncement2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncement(ctx context.Context, sel ast.SelectionSet, v *Announcement) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._Announcement(ctx, sel, v) +} + +func (ec *executionContext) unmarshalNAnnouncementID2string(ctx context.Context, v any) (string, error) { + res, err := graphql.UnmarshalString(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNAnnouncementID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + _ = sel + res := graphql.MarshalString(v) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + +func (ec *executionContext) unmarshalNAnnouncementImportance2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementImportance(ctx context.Context, v any) (AnnouncementImportance, error) { + var res AnnouncementImportance + err := res.UnmarshalGQL(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNAnnouncementImportance2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementImportance(ctx context.Context, sel ast.SelectionSet, v AnnouncementImportance) graphql.Marshaler { + return v +} + +func (ec *executionContext) unmarshalNBoolean2bool(ctx context.Context, v any) (bool, error) { + res, err := graphql.UnmarshalBoolean(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNBoolean2bool(ctx context.Context, sel ast.SelectionSet, v bool) graphql.Marshaler { + _ = sel + res := graphql.MarshalBoolean(v) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + +func (ec *executionContext) marshalNCompatibility2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibility(ctx context.Context, sel ast.SelectionSet, v *Compatibility) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._Compatibility(ctx, sel, v) +} + +func (ec *executionContext) unmarshalNCompatibilityInfoInput2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInfoInput(ctx context.Context, v any) (CompatibilityInfoInput, error) { + res, err := ec.unmarshalInputCompatibilityInfoInput(ctx, v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalNCompatibilityInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInput(ctx context.Context, v any) (*CompatibilityInput, error) { + res, err := ec.unmarshalInputCompatibilityInput(ctx, v) + return &res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalNCompatibilityState2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityState(ctx context.Context, v any) (CompatibilityState, error) { + var res CompatibilityState + err := res.UnmarshalGQL(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNCompatibilityState2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityState(ctx context.Context, sel ast.SelectionSet, v CompatibilityState) graphql.Marshaler { + return v +} + +func (ec *executionContext) marshalNControllerCompatibility2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐControllerCompatibility(ctx context.Context, sel ast.SelectionSet, v *ControllerCompatibility) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._ControllerCompatibility(ctx, sel, v) +} + +func (ec *executionContext) unmarshalNControllerCompatibilityInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐControllerCompatibilityInput(ctx context.Context, v any) (*ControllerCompatibilityInput, error) { + res, err := ec.unmarshalInputControllerCompatibilityInput(ctx, v) + return &res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalNControllerCompatibilityState2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐControllerCompatibilityState(ctx context.Context, v any) (ControllerCompatibilityState, error) { + var res ControllerCompatibilityState + err := res.UnmarshalGQL(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNControllerCompatibilityState2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐControllerCompatibilityState(ctx context.Context, sel ast.SelectionSet, v ControllerCompatibilityState) graphql.Marshaler { + return v +} + +func (ec *executionContext) unmarshalNDate2string(ctx context.Context, v any) (string, error) { + res, err := graphql.UnmarshalString(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNDate2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + _ = sel + res := graphql.MarshalString(v) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + +func (ec *executionContext) marshalNGetGuides2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetGuides(ctx context.Context, sel ast.SelectionSet, v GetGuides) graphql.Marshaler { + return ec._GetGuides(ctx, sel, &v) +} + +func (ec *executionContext) marshalNGetGuides2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetGuides(ctx context.Context, sel ast.SelectionSet, v *GetGuides) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._GetGuides(ctx, sel, v) +} + +func (ec *executionContext) marshalNGetMods2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMods(ctx context.Context, sel ast.SelectionSet, v GetMods) graphql.Marshaler { + return ec._GetMods(ctx, sel, &v) +} + +func (ec *executionContext) marshalNGetMods2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMods(ctx context.Context, sel ast.SelectionSet, v *GetMods) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._GetMods(ctx, sel, v) +} + +func (ec *executionContext) marshalNGetMyMods2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMyMods(ctx context.Context, sel ast.SelectionSet, v GetMyMods) graphql.Marshaler { + return ec._GetMyMods(ctx, sel, &v) +} + +func (ec *executionContext) marshalNGetMyMods2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMyMods(ctx context.Context, sel ast.SelectionSet, v *GetMyMods) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._GetMyMods(ctx, sel, v) +} + +func (ec *executionContext) marshalNGetMyVersions2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMyVersions(ctx context.Context, sel ast.SelectionSet, v GetMyVersions) graphql.Marshaler { + return ec._GetMyVersions(ctx, sel, &v) +} + +func (ec *executionContext) marshalNGetMyVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetMyVersions(ctx context.Context, sel ast.SelectionSet, v *GetMyVersions) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._GetMyVersions(ctx, sel, v) +} + +func (ec *executionContext) marshalNGetSMLVersions2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetSMLVersions(ctx context.Context, sel ast.SelectionSet, v GetSMLVersions) graphql.Marshaler { + return ec._GetSMLVersions(ctx, sel, &v) +} + +func (ec *executionContext) marshalNGetSMLVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetSMLVersions(ctx context.Context, sel ast.SelectionSet, v *GetSMLVersions) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._GetSMLVersions(ctx, sel, v) +} + +func (ec *executionContext) marshalNGetVersions2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetVersions(ctx context.Context, sel ast.SelectionSet, v GetVersions) graphql.Marshaler { + return ec._GetVersions(ctx, sel, &v) +} + +func (ec *executionContext) marshalNGetVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGetVersions(ctx context.Context, sel ast.SelectionSet, v *GetVersions) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._GetVersions(ctx, sel, v) +} + +func (ec *executionContext) marshalNGroup2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGroupᚄ(ctx context.Context, sel ast.SelectionSet, v []*Group) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalNGroup2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGroup(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalNGroup2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGroup(ctx context.Context, sel ast.SelectionSet, v *Group) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._Group(ctx, sel, v) +} + +func (ec *executionContext) marshalNGuide2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuide(ctx context.Context, sel ast.SelectionSet, v Guide) graphql.Marshaler { + return ec._Guide(ctx, sel, &v) +} + +func (ec *executionContext) marshalNGuide2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuideᚄ(ctx context.Context, sel ast.SelectionSet, v []*Guide) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalNGuide2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuide(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalNGuide2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuide(ctx context.Context, sel ast.SelectionSet, v *Guide) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._Guide(ctx, sel, v) +} + +func (ec *executionContext) unmarshalNGuideID2string(ctx context.Context, v any) (string, error) { + res, err := graphql.UnmarshalString(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNGuideID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + _ = sel + res := graphql.MarshalString(v) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + +func (ec *executionContext) unmarshalNInt2int(ctx context.Context, v any) (int, error) { + res, err := graphql.UnmarshalInt(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNInt2int(ctx context.Context, sel ast.SelectionSet, v int) graphql.Marshaler { + _ = sel + res := graphql.MarshalInt(v) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + +func (ec *executionContext) marshalNLatestVersions2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐLatestVersions(ctx context.Context, sel ast.SelectionSet, v LatestVersions) graphql.Marshaler { + return ec._LatestVersions(ctx, sel, &v) +} + +func (ec *executionContext) marshalNLatestVersions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐLatestVersions(ctx context.Context, sel ast.SelectionSet, v *LatestVersions) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._LatestVersions(ctx, sel, v) +} + +func (ec *executionContext) marshalNMod2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx context.Context, sel ast.SelectionSet, v Mod) graphql.Marshaler { + return ec._Mod(ctx, sel, &v) +} + +func (ec *executionContext) marshalNMod2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModᚄ(ctx context.Context, sel ast.SelectionSet, v []*Mod) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalNMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalNMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx context.Context, sel ast.SelectionSet, v *Mod) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._Mod(ctx, sel, v) +} + +func (ec *executionContext) unmarshalNModID2string(ctx context.Context, v any) (string, error) { + res, err := graphql.UnmarshalString(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNModID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + _ = sel + res := graphql.MarshalString(v) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + +func (ec *executionContext) unmarshalNModID2ᚕstringᚄ(ctx context.Context, v any) ([]string, error) { + var vSlice []any + vSlice = graphql.CoerceList(v) + var err error + res := make([]string, len(vSlice)) + for i := range vSlice { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) + res[i], err = ec.unmarshalNModID2string(ctx, vSlice[i]) + if err != nil { + return nil, err + } + } + return res, nil +} + +func (ec *executionContext) marshalNModID2ᚕstringᚄ(ctx context.Context, sel ast.SelectionSet, v []string) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + for i := range v { + ret[i] = ec.marshalNModID2string(ctx, sel, v[i]) + } + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) unmarshalNModReference2string(ctx context.Context, v any) (string, error) { + res, err := graphql.UnmarshalString(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNModReference2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + _ = sel + res := graphql.MarshalString(v) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + +func (ec *executionContext) marshalNModVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModVersionᚄ(ctx context.Context, sel ast.SelectionSet, v []*ModVersion) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalNModVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModVersion(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalNModVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModVersion(ctx context.Context, sel ast.SelectionSet, v *ModVersion) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._ModVersion(ctx, sel, v) +} + +func (ec *executionContext) unmarshalNModVersionConstraint2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModVersionConstraintᚄ(ctx context.Context, v any) ([]*ModVersionConstraint, error) { + var vSlice []any + vSlice = graphql.CoerceList(v) + var err error + res := make([]*ModVersionConstraint, len(vSlice)) + for i := range vSlice { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) + res[i], err = ec.unmarshalNModVersionConstraint2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModVersionConstraint(ctx, vSlice[i]) + if err != nil { + return nil, err + } + } + return res, nil +} + +func (ec *executionContext) unmarshalNModVersionConstraint2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModVersionConstraint(ctx context.Context, v any) (*ModVersionConstraint, error) { + res, err := ec.unmarshalInputModVersionConstraint(ctx, v) + return &res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalNNewAnnouncement2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewAnnouncement(ctx context.Context, v any) (NewAnnouncement, error) { + res, err := ec.unmarshalInputNewAnnouncement(ctx, v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalNNewGuide2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewGuide(ctx context.Context, v any) (NewGuide, error) { + res, err := ec.unmarshalInputNewGuide(ctx, v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalNNewMod2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewMod(ctx context.Context, v any) (NewMod, error) { + res, err := ec.unmarshalInputNewMod(ctx, v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalNNewSatisfactoryVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewSatisfactoryVersion(ctx context.Context, v any) (NewSatisfactoryVersion, error) { + res, err := ec.unmarshalInputNewSatisfactoryVersion(ctx, v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalNNewTag2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewTagᚄ(ctx context.Context, v any) ([]*NewTag, error) { + var vSlice []any + vSlice = graphql.CoerceList(v) + var err error + res := make([]*NewTag, len(vSlice)) + for i := range vSlice { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) + res[i], err = ec.unmarshalNNewTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewTag(ctx, vSlice[i]) + if err != nil { + return nil, err + } + } + return res, nil +} + +func (ec *executionContext) unmarshalNNewTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewTag(ctx context.Context, v any) (*NewTag, error) { + res, err := ec.unmarshalInputNewTag(ctx, v) + return &res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalNNewVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐNewVersion(ctx context.Context, v any) (NewVersion, error) { + res, err := ec.unmarshalInputNewVersion(ctx, v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNOAuthOptions2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOAuthOptions(ctx context.Context, sel ast.SelectionSet, v OAuthOptions) graphql.Marshaler { + return ec._OAuthOptions(ctx, sel, &v) +} + +func (ec *executionContext) marshalNOAuthOptions2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOAuthOptions(ctx context.Context, sel ast.SelectionSet, v *OAuthOptions) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._OAuthOptions(ctx, sel, v) +} + +func (ec *executionContext) marshalNSMLVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersionᚄ(ctx context.Context, sel ast.SelectionSet, v []*SMLVersion) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalNSMLVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersion(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalNSMLVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersion(ctx context.Context, sel ast.SelectionSet, v *SMLVersion) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._SMLVersion(ctx, sel, v) +} + +func (ec *executionContext) unmarshalNSMLVersionID2string(ctx context.Context, v any) (string, error) { + res, err := graphql.UnmarshalString(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNSMLVersionID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + _ = sel + res := graphql.MarshalString(v) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + +func (ec *executionContext) marshalNSMLVersionTarget2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersionTarget(ctx context.Context, sel ast.SelectionSet, v []*SMLVersionTarget) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalOSMLVersionTarget2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersionTarget(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + return ret +} + +func (ec *executionContext) marshalNSatisfactoryVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSatisfactoryVersion(ctx context.Context, sel ast.SelectionSet, v SatisfactoryVersion) graphql.Marshaler { + return ec._SatisfactoryVersion(ctx, sel, &v) +} + +func (ec *executionContext) marshalNSatisfactoryVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSatisfactoryVersionᚄ(ctx context.Context, sel ast.SelectionSet, v []*SatisfactoryVersion) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalNSatisfactoryVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSatisfactoryVersion(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalNSatisfactoryVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSatisfactoryVersion(ctx context.Context, sel ast.SelectionSet, v *SatisfactoryVersion) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._SatisfactoryVersion(ctx, sel, v) +} + +func (ec *executionContext) unmarshalNSatisfactoryVersionID2string(ctx context.Context, v any) (string, error) { + res, err := graphql.UnmarshalString(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNSatisfactoryVersionID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + _ = sel + res := graphql.MarshalString(v) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + +func (ec *executionContext) unmarshalNString2string(ctx context.Context, v any) (string, error) { + res, err := graphql.UnmarshalString(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNString2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + _ = sel + res := graphql.MarshalString(v) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + +func (ec *executionContext) unmarshalNString2ᚕstringᚄ(ctx context.Context, v any) ([]string, error) { + var vSlice []any + vSlice = graphql.CoerceList(v) + var err error + res := make([]string, len(vSlice)) + for i := range vSlice { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) + res[i], err = ec.unmarshalNString2string(ctx, vSlice[i]) + if err != nil { + return nil, err + } + } + return res, nil +} + +func (ec *executionContext) marshalNString2ᚕstringᚄ(ctx context.Context, sel ast.SelectionSet, v []string) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + for i := range v { + ret[i] = ec.marshalNString2string(ctx, sel, v[i]) + } + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalNTag2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTag(ctx context.Context, sel ast.SelectionSet, v Tag) graphql.Marshaler { + return ec._Tag(ctx, sel, &v) +} + +func (ec *executionContext) marshalNTag2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTagᚄ(ctx context.Context, sel ast.SelectionSet, v []*Tag) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalNTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTag(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalNTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTag(ctx context.Context, sel ast.SelectionSet, v *Tag) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._Tag(ctx, sel, v) +} + +func (ec *executionContext) unmarshalNTagID2string(ctx context.Context, v any) (string, error) { + res, err := graphql.UnmarshalString(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNTagID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + _ = sel + res := graphql.MarshalString(v) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + +func (ec *executionContext) unmarshalNTagName2string(ctx context.Context, v any) (string, error) { + res, err := graphql.UnmarshalString(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNTagName2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + _ = sel + res := graphql.MarshalString(v) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + +func (ec *executionContext) unmarshalNTargetName2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTargetName(ctx context.Context, v any) (TargetName, error) { + var res TargetName + err := res.UnmarshalGQL(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNTargetName2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTargetName(ctx context.Context, sel ast.SelectionSet, v TargetName) graphql.Marshaler { + return v +} + +func (ec *executionContext) unmarshalNUpdateAnnouncement2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateAnnouncement(ctx context.Context, v any) (UpdateAnnouncement, error) { + res, err := ec.unmarshalInputUpdateAnnouncement(ctx, v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalNUpdateGuide2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateGuide(ctx context.Context, v any) (UpdateGuide, error) { + res, err := ec.unmarshalInputUpdateGuide(ctx, v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalNUpdateMod2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateMod(ctx context.Context, v any) (UpdateMod, error) { + res, err := ec.unmarshalInputUpdateMod(ctx, v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalNUpdateSatisfactoryVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateSatisfactoryVersion(ctx context.Context, v any) (UpdateSatisfactoryVersion, error) { + res, err := ec.unmarshalInputUpdateSatisfactoryVersion(ctx, v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalNUpdateUser2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateUser(ctx context.Context, v any) (UpdateUser, error) { + res, err := ec.unmarshalInputUpdateUser(ctx, v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalNUpdateUserMod2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateUserMod(ctx context.Context, v any) (UpdateUserMod, error) { + res, err := ec.unmarshalInputUpdateUserMod(ctx, v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalNUpdateVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateVersion(ctx context.Context, v any) (UpdateVersion, error) { + res, err := ec.unmarshalInputUpdateVersion(ctx, v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalNUpload2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚐUpload(ctx context.Context, v any) (graphql.Upload, error) { + res, err := graphql.UnmarshalUpload(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNUpload2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚐUpload(ctx context.Context, sel ast.SelectionSet, v graphql.Upload) graphql.Marshaler { + _ = sel + res := graphql.MarshalUpload(v) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + +func (ec *executionContext) marshalNUser2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx context.Context, sel ast.SelectionSet, v User) graphql.Marshaler { + return ec._User(ctx, sel, &v) +} + +func (ec *executionContext) marshalNUser2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx context.Context, sel ast.SelectionSet, v []*User) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalOUser2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + return ret +} + +func (ec *executionContext) marshalNUser2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx context.Context, sel ast.SelectionSet, v *User) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._User(ctx, sel, v) +} + +func (ec *executionContext) unmarshalNUserID2string(ctx context.Context, v any) (string, error) { + res, err := graphql.UnmarshalString(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNUserID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + _ = sel + res := graphql.MarshalString(v) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + +func (ec *executionContext) unmarshalNUserID2ᚕstringᚄ(ctx context.Context, v any) ([]string, error) { + var vSlice []any + vSlice = graphql.CoerceList(v) + var err error + res := make([]string, len(vSlice)) + for i := range vSlice { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) + res[i], err = ec.unmarshalNUserID2string(ctx, vSlice[i]) + if err != nil { + return nil, err + } + } + return res, nil +} + +func (ec *executionContext) marshalNUserID2ᚕstringᚄ(ctx context.Context, sel ast.SelectionSet, v []string) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + for i := range v { + ret[i] = ec.marshalNUserID2string(ctx, sel, v[i]) + } + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalNUserMod2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserModᚄ(ctx context.Context, sel ast.SelectionSet, v []*UserMod) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalNUserMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserMod(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalNUserMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserMod(ctx context.Context, sel ast.SelectionSet, v *UserMod) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._UserMod(ctx, sel, v) +} + +func (ec *executionContext) marshalNUserRoles2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserRoles(ctx context.Context, sel ast.SelectionSet, v UserRoles) graphql.Marshaler { + return ec._UserRoles(ctx, sel, &v) +} + +func (ec *executionContext) marshalNUserRoles2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserRoles(ctx context.Context, sel ast.SelectionSet, v *UserRoles) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._UserRoles(ctx, sel, v) +} + +func (ec *executionContext) marshalNVersion2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx context.Context, sel ast.SelectionSet, v Version) graphql.Marshaler { + return ec._Version(ctx, sel, &v) +} + +func (ec *executionContext) marshalNVersion2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionᚄ(ctx context.Context, sel ast.SelectionSet, v []*Version) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalNVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalNVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx context.Context, sel ast.SelectionSet, v *Version) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._Version(ctx, sel, v) +} + +func (ec *executionContext) marshalNVersionDependency2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionDependencyᚄ(ctx context.Context, sel ast.SelectionSet, v []*VersionDependency) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalNVersionDependency2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionDependency(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalNVersionDependency2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionDependency(ctx context.Context, sel ast.SelectionSet, v *VersionDependency) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._VersionDependency(ctx, sel, v) +} + +func (ec *executionContext) unmarshalNVersionID2string(ctx context.Context, v any) (string, error) { + res, err := graphql.UnmarshalString(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNVersionID2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + _ = sel + res := graphql.MarshalString(v) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + +func (ec *executionContext) unmarshalNVersionStabilities2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionStabilities(ctx context.Context, v any) (VersionStabilities, error) { + var res VersionStabilities + err := res.UnmarshalGQL(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNVersionStabilities2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionStabilities(ctx context.Context, sel ast.SelectionSet, v VersionStabilities) graphql.Marshaler { + return v +} + +func (ec *executionContext) marshalNVersionTarget2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionTarget(ctx context.Context, sel ast.SelectionSet, v []*VersionTarget) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalOVersionTarget2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionTarget(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + return ret +} + +func (ec *executionContext) unmarshalNVirustotalHash2string(ctx context.Context, v any) (string, error) { + res, err := graphql.UnmarshalString(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalNVirustotalHash2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + _ = sel + res := graphql.MarshalString(v) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + +func (ec *executionContext) marshalNVirustotalResult2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVirustotalResultᚄ(ctx context.Context, sel ast.SelectionSet, v []*VirustotalResult) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalNVirustotalResult2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVirustotalResult(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalNVirustotalResult2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVirustotalResult(ctx context.Context, sel ast.SelectionSet, v *VirustotalResult) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec._VirustotalResult(ctx, sel, v) +} + +func (ec *executionContext) marshalN__Directive2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐDirective(ctx context.Context, sel ast.SelectionSet, v introspection.Directive) graphql.Marshaler { + return ec.___Directive(ctx, sel, &v) +} + +func (ec *executionContext) marshalN__Directive2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐDirectiveᚄ(ctx context.Context, sel ast.SelectionSet, v []introspection.Directive) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalN__Directive2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐDirective(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) unmarshalN__DirectiveLocation2string(ctx context.Context, v any) (string, error) { + res, err := graphql.UnmarshalString(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalN__DirectiveLocation2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + _ = sel + res := graphql.MarshalString(v) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + +func (ec *executionContext) unmarshalN__DirectiveLocation2ᚕstringᚄ(ctx context.Context, v any) ([]string, error) { + var vSlice []any + vSlice = graphql.CoerceList(v) + var err error + res := make([]string, len(vSlice)) + for i := range vSlice { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) + res[i], err = ec.unmarshalN__DirectiveLocation2string(ctx, vSlice[i]) + if err != nil { + return nil, err + } + } + return res, nil +} + +func (ec *executionContext) marshalN__DirectiveLocation2ᚕstringᚄ(ctx context.Context, sel ast.SelectionSet, v []string) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalN__DirectiveLocation2string(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalN__EnumValue2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐEnumValue(ctx context.Context, sel ast.SelectionSet, v introspection.EnumValue) graphql.Marshaler { + return ec.___EnumValue(ctx, sel, &v) +} + +func (ec *executionContext) marshalN__Field2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐField(ctx context.Context, sel ast.SelectionSet, v introspection.Field) graphql.Marshaler { + return ec.___Field(ctx, sel, &v) +} + +func (ec *executionContext) marshalN__InputValue2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValue(ctx context.Context, sel ast.SelectionSet, v introspection.InputValue) graphql.Marshaler { + return ec.___InputValue(ctx, sel, &v) +} + +func (ec *executionContext) marshalN__InputValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValueᚄ(ctx context.Context, sel ast.SelectionSet, v []introspection.InputValue) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalN__InputValue2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValue(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalN__Type2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx context.Context, sel ast.SelectionSet, v introspection.Type) graphql.Marshaler { + return ec.___Type(ctx, sel, &v) +} + +func (ec *executionContext) marshalN__Type2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐTypeᚄ(ctx context.Context, sel ast.SelectionSet, v []introspection.Type) graphql.Marshaler { + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalN__Type2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalN__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx context.Context, sel ast.SelectionSet, v *introspection.Type) graphql.Marshaler { + if v == nil { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + return graphql.Null + } + return ec.___Type(ctx, sel, v) +} + +func (ec *executionContext) unmarshalN__TypeKind2string(ctx context.Context, v any) (string, error) { + res, err := graphql.UnmarshalString(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalN__TypeKind2string(ctx context.Context, sel ast.SelectionSet, v string) graphql.Marshaler { + _ = sel + res := graphql.MarshalString(v) + if res == graphql.Null { + if !graphql.HasFieldError(ctx, graphql.GetFieldContext(ctx)) { + ec.Errorf(ctx, "the requested element is null which the schema does not allow") + } + } + return res +} + +func (ec *executionContext) marshalOAIUseDisclosureInfo2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAIUseDisclosureInfo(ctx context.Context, sel ast.SelectionSet, v *AIUseDisclosureInfo) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return ec._AIUseDisclosureInfo(ctx, sel, v) +} + +func (ec *executionContext) unmarshalOAIUseDisclosureInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAIUseDisclosureInput(ctx context.Context, v any) (*AIUseDisclosureInput, error) { + if v == nil { + return nil, nil + } + res, err := ec.unmarshalInputAIUseDisclosureInput(ctx, v) + return &res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOAnnouncement2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncement(ctx context.Context, sel ast.SelectionSet, v *Announcement) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return ec._Announcement(ctx, sel, v) +} + +func (ec *executionContext) unmarshalOAnnouncementImportance2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementImportance(ctx context.Context, v any) (*AnnouncementImportance, error) { + if v == nil { + return nil, nil + } + var res = new(AnnouncementImportance) + err := res.UnmarshalGQL(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOAnnouncementImportance2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAnnouncementImportance(ctx context.Context, sel ast.SelectionSet, v *AnnouncementImportance) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return v +} + +func (ec *executionContext) unmarshalOBoolean2bool(ctx context.Context, v any) (bool, error) { + res, err := graphql.UnmarshalBoolean(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOBoolean2bool(ctx context.Context, sel ast.SelectionSet, v bool) graphql.Marshaler { + _ = sel + _ = ctx + res := graphql.MarshalBoolean(v) + return res +} + +func (ec *executionContext) unmarshalOBoolean2ᚖbool(ctx context.Context, v any) (*bool, error) { + if v == nil { + return nil, nil + } + res, err := graphql.UnmarshalBoolean(v) + return &res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOBoolean2ᚖbool(ctx context.Context, sel ast.SelectionSet, v *bool) graphql.Marshaler { + if v == nil { + return graphql.Null + } + _ = sel + _ = ctx + res := graphql.MarshalBoolean(*v) + return res +} + +func (ec *executionContext) marshalOCompatibilityInfo2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInfo(ctx context.Context, sel ast.SelectionSet, v *CompatibilityInfo) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return ec._CompatibilityInfo(ctx, sel, v) +} + +func (ec *executionContext) unmarshalOCompatibilityInfoInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCompatibilityInfoInput(ctx context.Context, v any) (*CompatibilityInfoInput, error) { + if v == nil { + return nil, nil + } + res, err := ec.unmarshalInputCompatibilityInfoInput(ctx, v) + return &res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOCreateVersionResponse2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐCreateVersionResponse(ctx context.Context, sel ast.SelectionSet, v *CreateVersionResponse) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return ec._CreateVersionResponse(ctx, sel, v) +} + +func (ec *executionContext) unmarshalODate2ᚖstring(ctx context.Context, v any) (*string, error) { + if v == nil { + return nil, nil + } + res, err := graphql.UnmarshalString(v) + return &res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalODate2ᚖstring(ctx context.Context, sel ast.SelectionSet, v *string) graphql.Marshaler { + if v == nil { + return graphql.Null + } + _ = sel + _ = ctx + res := graphql.MarshalString(*v) + return res +} + +func (ec *executionContext) marshalOGuide2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuide(ctx context.Context, sel ast.SelectionSet, v *Guide) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return ec._Guide(ctx, sel, v) +} + +func (ec *executionContext) unmarshalOGuideFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuideFields(ctx context.Context, v any) (*GuideFields, error) { + if v == nil { + return nil, nil + } + var res = new(GuideFields) + err := res.UnmarshalGQL(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOGuideFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐGuideFields(ctx context.Context, sel ast.SelectionSet, v *GuideFields) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return v +} + +func (ec *executionContext) unmarshalOGuideFilter2map(ctx context.Context, v any) (map[string]any, error) { + if v == nil { + return nil, nil + } + res, err := ec.unmarshalInputGuideFilter(ctx, v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalOInt2ᚖint(ctx context.Context, v any) (*int, error) { + if v == nil { + return nil, nil + } + res, err := graphql.UnmarshalInt(v) + return &res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOInt2ᚖint(ctx context.Context, sel ast.SelectionSet, v *int) graphql.Marshaler { + if v == nil { + return graphql.Null + } + _ = sel + _ = ctx + res := graphql.MarshalInt(*v) + return res +} + +func (ec *executionContext) marshalOMod2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐMod(ctx context.Context, sel ast.SelectionSet, v *Mod) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return ec._Mod(ctx, sel, v) +} + +func (ec *executionContext) unmarshalOModFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModFields(ctx context.Context, v any) (*ModFields, error) { + if v == nil { + return nil, nil + } + var res = new(ModFields) + err := res.UnmarshalGQL(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOModFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐModFields(ctx context.Context, sel ast.SelectionSet, v *ModFields) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return v +} + +func (ec *executionContext) unmarshalOModFilter2map(ctx context.Context, v any) (map[string]any, error) { + if v == nil { + return nil, nil + } + res, err := ec.unmarshalInputModFilter(ctx, v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalOModReference2ᚖstring(ctx context.Context, v any) (*string, error) { + if v == nil { + return nil, nil + } + res, err := graphql.UnmarshalString(v) + return &res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOModReference2ᚖstring(ctx context.Context, sel ast.SelectionSet, v *string) graphql.Marshaler { + if v == nil { + return graphql.Null + } + _ = sel + _ = ctx + res := graphql.MarshalString(*v) + return res +} + +func (ec *executionContext) unmarshalOOrder2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOrder(ctx context.Context, v any) (*Order, error) { + if v == nil { + return nil, nil + } + var res = new(Order) + err := res.UnmarshalGQL(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOOrder2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐOrder(ctx context.Context, sel ast.SelectionSet, v *Order) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return v +} + +func (ec *executionContext) marshalOSMLVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersion(ctx context.Context, sel ast.SelectionSet, v *SMLVersion) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return ec._SMLVersion(ctx, sel, v) +} + +func (ec *executionContext) unmarshalOSMLVersionFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersionFields(ctx context.Context, v any) (*SMLVersionFields, error) { + if v == nil { + return nil, nil + } + var res = new(SMLVersionFields) + err := res.UnmarshalGQL(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOSMLVersionFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersionFields(ctx context.Context, sel ast.SelectionSet, v *SMLVersionFields) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return v +} + +func (ec *executionContext) unmarshalOSMLVersionFilter2map(ctx context.Context, v any) (map[string]any, error) { + if v == nil { + return nil, nil + } + res, err := ec.unmarshalInputSMLVersionFilter(ctx, v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOSMLVersionTarget2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSMLVersionTarget(ctx context.Context, sel ast.SelectionSet, v *SMLVersionTarget) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return ec._SMLVersionTarget(ctx, sel, v) +} + +func (ec *executionContext) marshalOSatisfactoryVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐSatisfactoryVersion(ctx context.Context, sel ast.SelectionSet, v *SatisfactoryVersion) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return ec._SatisfactoryVersion(ctx, sel, v) +} + +func (ec *executionContext) unmarshalOString2ᚕstringᚄ(ctx context.Context, v any) ([]string, error) { + if v == nil { + return nil, nil + } + var vSlice []any + vSlice = graphql.CoerceList(v) + var err error + res := make([]string, len(vSlice)) + for i := range vSlice { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) + res[i], err = ec.unmarshalNString2string(ctx, vSlice[i]) + if err != nil { + return nil, err + } + } + return res, nil +} + +func (ec *executionContext) marshalOString2ᚕstringᚄ(ctx context.Context, sel ast.SelectionSet, v []string) graphql.Marshaler { + if v == nil { + return graphql.Null + } + ret := make(graphql.Array, len(v)) + for i := range v { + ret[i] = ec.marshalNString2string(ctx, sel, v[i]) + } + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) unmarshalOString2ᚖstring(ctx context.Context, v any) (*string, error) { + if v == nil { + return nil, nil + } + res, err := graphql.UnmarshalString(v) + return &res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOString2ᚖstring(ctx context.Context, sel ast.SelectionSet, v *string) graphql.Marshaler { + if v == nil { + return graphql.Null + } + _ = sel + _ = ctx + res := graphql.MarshalString(*v) + return res +} + +func (ec *executionContext) marshalOTag2ᚕᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTagᚄ(ctx context.Context, sel ast.SelectionSet, v []*Tag) graphql.Marshaler { + if v == nil { + return graphql.Null + } + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalNTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTag(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalOTag2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTag(ctx context.Context, sel ast.SelectionSet, v *Tag) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return ec._Tag(ctx, sel, v) +} + +func (ec *executionContext) unmarshalOTagFilter2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐTagFilter(ctx context.Context, v any) (*TagFilter, error) { + if v == nil { + return nil, nil + } + res, err := ec.unmarshalInputTagFilter(ctx, v) + return &res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalOTagID2ᚕstringᚄ(ctx context.Context, v any) ([]string, error) { + if v == nil { + return nil, nil + } + var vSlice []any + vSlice = graphql.CoerceList(v) + var err error + res := make([]string, len(vSlice)) + for i := range vSlice { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) + res[i], err = ec.unmarshalNTagID2string(ctx, vSlice[i]) + if err != nil { + return nil, err + } + } + return res, nil +} + +func (ec *executionContext) marshalOTagID2ᚕstringᚄ(ctx context.Context, sel ast.SelectionSet, v []string) graphql.Marshaler { + if v == nil { + return graphql.Null + } + ret := make(graphql.Array, len(v)) + for i := range v { + ret[i] = ec.marshalNTagID2string(ctx, sel, v[i]) + } + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) unmarshalOUpdateUserMod2ᚕgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateUserModᚄ(ctx context.Context, v any) ([]UpdateUserMod, error) { + if v == nil { + return nil, nil + } + var vSlice []any + vSlice = graphql.CoerceList(v) + var err error + res := make([]UpdateUserMod, len(vSlice)) + for i := range vSlice { + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithIndex(i)) + res[i], err = ec.unmarshalNUpdateUserMod2githubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUpdateUserMod(ctx, vSlice[i]) + if err != nil { + return nil, err + } + } + return res, nil +} + +func (ec *executionContext) unmarshalOUpload2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚐUpload(ctx context.Context, v any) (*graphql.Upload, error) { + if v == nil { + return nil, nil + } + res, err := graphql.UnmarshalUpload(v) + return &res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOUpload2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚐUpload(ctx context.Context, sel ast.SelectionSet, v *graphql.Upload) graphql.Marshaler { + if v == nil { + return graphql.Null + } + _ = sel + _ = ctx + res := graphql.MarshalUpload(*v) + return res +} + +func (ec *executionContext) marshalOUser2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUser(ctx context.Context, sel ast.SelectionSet, v *User) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return ec._User(ctx, sel, v) +} + +func (ec *executionContext) marshalOUserSession2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐUserSession(ctx context.Context, sel ast.SelectionSet, v *UserSession) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return ec._UserSession(ctx, sel, v) +} + +func (ec *executionContext) marshalOVersion2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersion(ctx context.Context, sel ast.SelectionSet, v *Version) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return ec._Version(ctx, sel, v) +} + +func (ec *executionContext) unmarshalOVersionFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionFields(ctx context.Context, v any) (*VersionFields, error) { + if v == nil { + return nil, nil + } + var res = new(VersionFields) + err := res.UnmarshalGQL(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOVersionFields2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionFields(ctx context.Context, sel ast.SelectionSet, v *VersionFields) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return v +} + +func (ec *executionContext) unmarshalOVersionFilter2map(ctx context.Context, v any) (map[string]any, error) { + if v == nil { + return nil, nil + } + res, err := ec.unmarshalInputVersionFilter(ctx, v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) unmarshalOVersionStabilities2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionStabilities(ctx context.Context, v any) (*VersionStabilities, error) { + if v == nil { + return nil, nil + } + var res = new(VersionStabilities) + err := res.UnmarshalGQL(v) + return res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOVersionStabilities2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionStabilities(ctx context.Context, sel ast.SelectionSet, v *VersionStabilities) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return v +} + +func (ec *executionContext) marshalOVersionTarget2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐVersionTarget(ctx context.Context, sel ast.SelectionSet, v *VersionTarget) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return ec._VersionTarget(ctx, sel, v) +} + +func (ec *executionContext) unmarshalOVirustotalID2ᚖstring(ctx context.Context, v any) (*string, error) { + if v == nil { + return nil, nil + } + res, err := graphql.UnmarshalString(v) + return &res, graphql.ErrorOnPath(ctx, err) +} + +func (ec *executionContext) marshalOVirustotalID2ᚖstring(ctx context.Context, sel ast.SelectionSet, v *string) graphql.Marshaler { + if v == nil { + return graphql.Null + } + _ = sel + _ = ctx + res := graphql.MarshalString(*v) + return res +} + +func (ec *executionContext) marshalO__EnumValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐEnumValueᚄ(ctx context.Context, sel ast.SelectionSet, v []introspection.EnumValue) graphql.Marshaler { + if v == nil { + return graphql.Null + } + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalN__EnumValue2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐEnumValue(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalO__Field2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐFieldᚄ(ctx context.Context, sel ast.SelectionSet, v []introspection.Field) graphql.Marshaler { + if v == nil { + return graphql.Null + } + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalN__Field2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐField(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalO__InputValue2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValueᚄ(ctx context.Context, sel ast.SelectionSet, v []introspection.InputValue) graphql.Marshaler { + if v == nil { + return graphql.Null + } + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalN__InputValue2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐInputValue(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalO__Schema2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐSchema(ctx context.Context, sel ast.SelectionSet, v *introspection.Schema) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return ec.___Schema(ctx, sel, v) +} + +func (ec *executionContext) marshalO__Type2ᚕgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐTypeᚄ(ctx context.Context, sel ast.SelectionSet, v []introspection.Type) graphql.Marshaler { + if v == nil { + return graphql.Null + } + ret := make(graphql.Array, len(v)) + var wg sync.WaitGroup + isLen1 := len(v) == 1 + if !isLen1 { + wg.Add(len(v)) + } + for i := range v { + i := i + fc := &graphql.FieldContext{ + Index: &i, + Result: &v[i], + } + ctx := graphql.WithFieldContext(ctx, fc) + f := func(i int) { + defer func() { + if r := recover(); r != nil { + ec.Error(ctx, ec.Recover(ctx, r)) + ret = nil + } + }() + if !isLen1 { + defer wg.Done() + } + ret[i] = ec.marshalN__Type2githubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx, sel, v[i]) + } + if isLen1 { + f(i) + } else { + go f(i) + } + + } + wg.Wait() + + for _, e := range ret { + if e == graphql.Null { + return graphql.Null + } + } + + return ret +} + +func (ec *executionContext) marshalO__Type2ᚖgithubᚗcomᚋ99designsᚋgqlgenᚋgraphqlᚋintrospectionᚐType(ctx context.Context, sel ast.SelectionSet, v *introspection.Type) graphql.Marshaler { + if v == nil { + return graphql.Null + } + return ec.___Type(ctx, sel, v) +} + +// endregion ***************************** type.gotpl ***************************** diff --git a/generated/models_gen.go b/generated/models_gen.go new file mode 100644 index 00000000..375c5b77 --- /dev/null +++ b/generated/models_gen.go @@ -0,0 +1,1013 @@ +// Code generated by github.com/99designs/gqlgen, DO NOT EDIT. + +package generated + +import ( + "bytes" + "fmt" + "io" + "strconv" + + "github.com/99designs/gqlgen/graphql" +) + +type AIUseDisclosureInfo struct { + DisclosureType AIUseDisclosureType `json:"disclosure_type"` + DisclosureString *string `json:"disclosure_string,omitempty"` +} + +type AIUseDisclosureInput struct { + DisclosureType AIUseDisclosureType `json:"disclosure_type"` + DisclosureString *string `json:"disclosure_string,omitempty"` +} + +type Announcement struct { + ID string `json:"id"` + Message string `json:"message"` + Importance AnnouncementImportance `json:"importance"` +} + +type Compatibility struct { + State CompatibilityState `json:"state"` + Note *string `json:"note,omitempty"` +} + +type CompatibilityInfo struct { + Ea *Compatibility `json:"EA"` + Exp *Compatibility `json:"EXP"` + Controller *ControllerCompatibility `json:"Controller"` +} + +type CompatibilityInfoInput struct { + Ea *CompatibilityInput `json:"EA"` + Exp *CompatibilityInput `json:"EXP"` + Controller *ControllerCompatibilityInput `json:"Controller"` +} + +type CompatibilityInput struct { + State CompatibilityState `json:"state"` + Note *string `json:"note,omitempty"` +} + +type ControllerCompatibility struct { + State ControllerCompatibilityState `json:"state"` + Note *string `json:"note,omitempty"` +} + +type ControllerCompatibilityInput struct { + State ControllerCompatibilityState `json:"state"` + Note *string `json:"note,omitempty"` +} + +type CreateVersionResponse struct { + AutoApproved bool `json:"auto_approved"` + Version *Version `json:"version,omitempty"` +} + +type GetGuides struct { + Guides []*Guide `json:"guides"` + Count int `json:"count"` +} + +type GetMods struct { + Mods []*Mod `json:"mods"` + Count int `json:"count"` +} + +type GetMyMods struct { + Mods []*Mod `json:"mods"` + Count int `json:"count"` +} + +type GetMyVersions struct { + Versions []*Version `json:"versions"` + Count int `json:"count"` +} + +type GetSMLVersions struct { + SmlVersions []*SMLVersion `json:"sml_versions"` + Count int `json:"count"` +} + +type GetVersions struct { + Versions []*Version `json:"versions"` + Count int `json:"count"` +} + +type Group struct { + ID string `json:"id"` + Name string `json:"name"` +} + +type Guide struct { + ID string `json:"id"` + Name string `json:"name"` + ShortDescription string `json:"short_description"` + Guide string `json:"guide"` + Views int `json:"views"` + UserID string `json:"user_id"` + UpdatedAt string `json:"updated_at"` + CreatedAt string `json:"created_at"` + Tags []*Tag `json:"tags"` + User *User `json:"user"` +} + +type LatestVersions struct { + Alpha *Version `json:"alpha,omitempty"` + Beta *Version `json:"beta,omitempty"` + Release *Version `json:"release,omitempty"` +} + +type Mod struct { + ID string `json:"id"` + Name string `json:"name"` + ShortDescription string `json:"short_description"` + FullDescription *string `json:"full_description,omitempty"` + Logo *string `json:"logo,omitempty"` + LogoThumbhash *string `json:"logo_thumbhash,omitempty"` + SourceURL *string `json:"source_url,omitempty"` + CreatorID string `json:"creator_id"` + Approved bool `json:"approved"` + Views int `json:"views"` + Downloads int `json:"downloads"` + Hotness int `json:"hotness"` + Popularity int `json:"popularity"` + UpdatedAt string `json:"updated_at"` + CreatedAt string `json:"created_at"` + LastVersionDate *string `json:"last_version_date,omitempty"` + ModReference string `json:"mod_reference"` + Hidden bool `json:"hidden"` + Tags []*Tag `json:"tags,omitempty"` + Compatibility *CompatibilityInfo `json:"compatibility,omitempty"` + ToggleNetworkUse bool `json:"toggle_network_use"` + NetworkUseDisclosure *string `json:"network_use_disclosure,omitempty"` + AiUseDisclosure *AIUseDisclosureInfo `json:"ai_use_disclosure,omitempty"` + ToggleExplicitContent bool `json:"toggle_explicit_content"` + Authors []*UserMod `json:"authors"` + Version *Version `json:"version,omitempty"` + Versions []*Version `json:"versions"` + LatestVersions *LatestVersions `json:"latestVersions"` +} + +type ModVersion struct { + ID string `json:"id"` + ModReference string `json:"mod_reference"` + Versions []*Version `json:"versions"` +} + +type ModVersionConstraint struct { + ModIDOrReference string `json:"modIdOrReference"` + Version string `json:"version"` +} + +type Mutation struct { +} + +type NewAnnouncement struct { + Message string `json:"message"` + Importance AnnouncementImportance `json:"importance"` +} + +type NewGuide struct { + Name string `json:"name"` + ShortDescription string `json:"short_description"` + Guide string `json:"guide"` + TagIDs []string `json:"tagIDs,omitempty"` +} + +type NewSatisfactoryVersion struct { + Version int `json:"version"` + EngineVersion string `json:"engine_version"` +} + +type NewTag struct { + Name string `json:"name"` + Description string `json:"description"` +} + +type NewVersion struct { + Changelog string `json:"changelog"` + Stability VersionStabilities `json:"stability"` +} + +type OAuthOptions struct { + Github string `json:"github"` + Google string `json:"google"` + Facebook string `json:"facebook"` +} + +type Query struct { +} + +type SMLVersion struct { + ID string `json:"id"` + Version string `json:"version"` + SatisfactoryVersion int `json:"satisfactory_version"` + Stability VersionStabilities `json:"stability"` + Link string `json:"link"` + Targets []*SMLVersionTarget `json:"targets"` + Changelog string `json:"changelog"` + Date string `json:"date"` + BootstrapVersion *string `json:"bootstrap_version,omitempty"` + EngineVersion string `json:"engine_version"` + UpdatedAt string `json:"updated_at"` + CreatedAt string `json:"created_at"` +} + +type SMLVersionTarget struct { + VersionID string `json:"VersionID"` + TargetName TargetName `json:"targetName"` + Link string `json:"link"` +} + +type SatisfactoryVersion struct { + ID string `json:"id"` + Version int `json:"version"` + EngineVersion string `json:"engine_version"` +} + +type Tag struct { + ID string `json:"id"` + Name string `json:"name"` + Description string `json:"description"` +} + +type TagFilter struct { + Limit *int `json:"limit,omitempty"` + Offset *int `json:"offset,omitempty"` + Order *Order `json:"order,omitempty"` + Search *string `json:"search,omitempty"` + Ids []string `json:"ids,omitempty"` +} + +type UpdateAnnouncement struct { + Message *string `json:"message,omitempty"` + Importance *AnnouncementImportance `json:"importance,omitempty"` +} + +type UpdateGuide struct { + Name *string `json:"name,omitempty"` + ShortDescription *string `json:"short_description,omitempty"` + Guide *string `json:"guide,omitempty"` + TagIDs []string `json:"tagIDs,omitempty"` +} + +type UpdateSatisfactoryVersion struct { + Version *int `json:"version,omitempty"` + EngineVersion *string `json:"engine_version,omitempty"` +} + +type UpdateUser struct { + Avatar *graphql.Upload `json:"avatar,omitempty"` + Groups []string `json:"groups,omitempty"` + Username *string `json:"username,omitempty"` +} + +type UpdateUserMod struct { + UserID string `json:"user_id"` + Role string `json:"role"` +} + +type UpdateVersion struct { + Changelog *string `json:"changelog,omitempty"` + Stability *VersionStabilities `json:"stability,omitempty"` +} + +type User struct { + ID string `json:"id"` + Email *string `json:"email,omitempty"` + Username string `json:"username"` + Avatar *string `json:"avatar,omitempty"` + AvatarThumbhash *string `json:"avatar_thumbhash,omitempty"` + CreatedAt string `json:"created_at"` + GithubID *string `json:"github_id,omitempty"` + GoogleID *string `json:"google_id,omitempty"` + FacebookID *string `json:"facebook_id,omitempty"` + Roles *UserRoles `json:"roles"` + Groups []*Group `json:"groups"` + Mods []*UserMod `json:"mods"` + Guides []*Guide `json:"guides"` +} + +type UserMod struct { + UserID string `json:"user_id"` + ModID string `json:"mod_id"` + Role string `json:"role"` + User *User `json:"user"` + Mod *Mod `json:"mod"` +} + +type UserRoles struct { + ApproveMods bool `json:"approveMods"` + ApproveVersions bool `json:"approveVersions"` + DeleteContent bool `json:"deleteContent"` + EditContent bool `json:"editContent"` + EditUsers bool `json:"editUsers"` + EditSatisfactoryVersions bool `json:"editSatisfactoryVersions"` + EditBootstrapVersions bool `json:"editBootstrapVersions"` + EditAnyModCompatibility bool `json:"editAnyModCompatibility"` +} + +type UserSession struct { + Token string `json:"token"` +} + +type Version struct { + ID string `json:"id"` + ModID string `json:"mod_id"` + Version string `json:"version"` + SmlVersion string `json:"sml_version"` + GameVersion string `json:"game_version"` + RequiredOnRemote bool `json:"required_on_remote"` + Changelog string `json:"changelog"` + Downloads int `json:"downloads"` + Stability VersionStabilities `json:"stability"` + Approved bool `json:"approved"` + UpdatedAt string `json:"updated_at"` + CreatedAt string `json:"created_at"` + Link string `json:"link"` + Targets []*VersionTarget `json:"targets"` + Metadata *string `json:"metadata,omitempty"` + Size *int `json:"size,omitempty"` + Hash *string `json:"hash,omitempty"` + Mod *Mod `json:"mod"` + Dependencies []*VersionDependency `json:"dependencies"` + VirustotalResults []*VirustotalResult `json:"virustotal_results"` +} + +type VersionDependency struct { + VersionID string `json:"version_id"` + ModID string `json:"mod_id"` + Condition string `json:"condition"` + Optional bool `json:"optional"` + ModReference string `json:"mod_reference"` + Mod *Mod `json:"mod,omitempty"` + Version *Version `json:"version,omitempty"` +} + +type VersionTarget struct { + VersionID string `json:"VersionID"` + TargetName TargetName `json:"targetName"` + Link string `json:"link"` + Size *int `json:"size,omitempty"` + Hash *string `json:"hash,omitempty"` +} + +type VirustotalResult struct { + ID *string `json:"id,omitempty"` + Hash string `json:"hash"` + Safe bool `json:"safe"` + FileName string `json:"file_name"` + VersionID string `json:"version_id"` + CreatedAt string `json:"created_at"` + UpdatedAt *string `json:"updated_at,omitempty"` +} + +type AIUseDisclosureType string + +const ( + AIUseDisclosureTypeNoAiUsage AIUseDisclosureType = "no_ai_usage" + AIUseDisclosureTypeAiUsage AIUseDisclosureType = "ai_usage" + AIUseDisclosureTypeRuntimeAiUsage AIUseDisclosureType = "runtime_ai_usage" +) + +var AllAIUseDisclosureType = []AIUseDisclosureType{ + AIUseDisclosureTypeNoAiUsage, + AIUseDisclosureTypeAiUsage, + AIUseDisclosureTypeRuntimeAiUsage, +} + +func (e AIUseDisclosureType) IsValid() bool { + switch e { + case AIUseDisclosureTypeNoAiUsage, AIUseDisclosureTypeAiUsage, AIUseDisclosureTypeRuntimeAiUsage: + return true + } + return false +} + +func (e AIUseDisclosureType) String() string { + return string(e) +} + +func (e *AIUseDisclosureType) UnmarshalGQL(v any) error { + str, ok := v.(string) + if !ok { + return fmt.Errorf("enums must be strings") + } + + *e = AIUseDisclosureType(str) + if !e.IsValid() { + return fmt.Errorf("%s is not a valid AIUseDisclosureType", str) + } + return nil +} + +func (e AIUseDisclosureType) MarshalGQL(w io.Writer) { + fmt.Fprint(w, strconv.Quote(e.String())) +} + +func (e *AIUseDisclosureType) UnmarshalJSON(b []byte) error { + s, err := strconv.Unquote(string(b)) + if err != nil { + return err + } + return e.UnmarshalGQL(s) +} + +func (e AIUseDisclosureType) MarshalJSON() ([]byte, error) { + var buf bytes.Buffer + e.MarshalGQL(&buf) + return buf.Bytes(), nil +} + +type AnnouncementImportance string + +const ( + AnnouncementImportanceFix AnnouncementImportance = "Fix" + AnnouncementImportanceInfo AnnouncementImportance = "Info" + AnnouncementImportanceWarning AnnouncementImportance = "Warning" + AnnouncementImportanceAlert AnnouncementImportance = "Alert" +) + +var AllAnnouncementImportance = []AnnouncementImportance{ + AnnouncementImportanceFix, + AnnouncementImportanceInfo, + AnnouncementImportanceWarning, + AnnouncementImportanceAlert, +} + +func (e AnnouncementImportance) IsValid() bool { + switch e { + case AnnouncementImportanceFix, AnnouncementImportanceInfo, AnnouncementImportanceWarning, AnnouncementImportanceAlert: + return true + } + return false +} + +func (e AnnouncementImportance) String() string { + return string(e) +} + +func (e *AnnouncementImportance) UnmarshalGQL(v any) error { + str, ok := v.(string) + if !ok { + return fmt.Errorf("enums must be strings") + } + + *e = AnnouncementImportance(str) + if !e.IsValid() { + return fmt.Errorf("%s is not a valid AnnouncementImportance", str) + } + return nil +} + +func (e AnnouncementImportance) MarshalGQL(w io.Writer) { + fmt.Fprint(w, strconv.Quote(e.String())) +} + +func (e *AnnouncementImportance) UnmarshalJSON(b []byte) error { + s, err := strconv.Unquote(string(b)) + if err != nil { + return err + } + return e.UnmarshalGQL(s) +} + +func (e AnnouncementImportance) MarshalJSON() ([]byte, error) { + var buf bytes.Buffer + e.MarshalGQL(&buf) + return buf.Bytes(), nil +} + +type CompatibilityState string + +const ( + CompatibilityStateWorks CompatibilityState = "Works" + CompatibilityStateDamaged CompatibilityState = "Damaged" + CompatibilityStateBroken CompatibilityState = "Broken" +) + +var AllCompatibilityState = []CompatibilityState{ + CompatibilityStateWorks, + CompatibilityStateDamaged, + CompatibilityStateBroken, +} + +func (e CompatibilityState) IsValid() bool { + switch e { + case CompatibilityStateWorks, CompatibilityStateDamaged, CompatibilityStateBroken: + return true + } + return false +} + +func (e CompatibilityState) String() string { + return string(e) +} + +func (e *CompatibilityState) UnmarshalGQL(v any) error { + str, ok := v.(string) + if !ok { + return fmt.Errorf("enums must be strings") + } + + *e = CompatibilityState(str) + if !e.IsValid() { + return fmt.Errorf("%s is not a valid CompatibilityState", str) + } + return nil +} + +func (e CompatibilityState) MarshalGQL(w io.Writer) { + fmt.Fprint(w, strconv.Quote(e.String())) +} + +func (e *CompatibilityState) UnmarshalJSON(b []byte) error { + s, err := strconv.Unquote(string(b)) + if err != nil { + return err + } + return e.UnmarshalGQL(s) +} + +func (e CompatibilityState) MarshalJSON() ([]byte, error) { + var buf bytes.Buffer + e.MarshalGQL(&buf) + return buf.Bytes(), nil +} + +type ControllerCompatibilityState string + +const ( + ControllerCompatibilityStateUntested ControllerCompatibilityState = "Untested" + ControllerCompatibilityStateUnsupported ControllerCompatibilityState = "Unsupported" + ControllerCompatibilityStatePartial ControllerCompatibilityState = "Partial" + ControllerCompatibilityStateImplicit ControllerCompatibilityState = "Implicit" + ControllerCompatibilityStateSupported ControllerCompatibilityState = "Supported" +) + +var AllControllerCompatibilityState = []ControllerCompatibilityState{ + ControllerCompatibilityStateUntested, + ControllerCompatibilityStateUnsupported, + ControllerCompatibilityStatePartial, + ControllerCompatibilityStateImplicit, + ControllerCompatibilityStateSupported, +} + +func (e ControllerCompatibilityState) IsValid() bool { + switch e { + case ControllerCompatibilityStateUntested, ControllerCompatibilityStateUnsupported, ControllerCompatibilityStatePartial, ControllerCompatibilityStateImplicit, ControllerCompatibilityStateSupported: + return true + } + return false +} + +func (e ControllerCompatibilityState) String() string { + return string(e) +} + +func (e *ControllerCompatibilityState) UnmarshalGQL(v any) error { + str, ok := v.(string) + if !ok { + return fmt.Errorf("enums must be strings") + } + + *e = ControllerCompatibilityState(str) + if !e.IsValid() { + return fmt.Errorf("%s is not a valid ControllerCompatibilityState", str) + } + return nil +} + +func (e ControllerCompatibilityState) MarshalGQL(w io.Writer) { + fmt.Fprint(w, strconv.Quote(e.String())) +} + +func (e *ControllerCompatibilityState) UnmarshalJSON(b []byte) error { + s, err := strconv.Unquote(string(b)) + if err != nil { + return err + } + return e.UnmarshalGQL(s) +} + +func (e ControllerCompatibilityState) MarshalJSON() ([]byte, error) { + var buf bytes.Buffer + e.MarshalGQL(&buf) + return buf.Bytes(), nil +} + +type GuideFields string + +const ( + GuideFieldsName GuideFields = "name" + GuideFieldsCreatedAt GuideFields = "created_at" + GuideFieldsUpdatedAt GuideFields = "updated_at" + GuideFieldsViews GuideFields = "views" +) + +var AllGuideFields = []GuideFields{ + GuideFieldsName, + GuideFieldsCreatedAt, + GuideFieldsUpdatedAt, + GuideFieldsViews, +} + +func (e GuideFields) IsValid() bool { + switch e { + case GuideFieldsName, GuideFieldsCreatedAt, GuideFieldsUpdatedAt, GuideFieldsViews: + return true + } + return false +} + +func (e GuideFields) String() string { + return string(e) +} + +func (e *GuideFields) UnmarshalGQL(v any) error { + str, ok := v.(string) + if !ok { + return fmt.Errorf("enums must be strings") + } + + *e = GuideFields(str) + if !e.IsValid() { + return fmt.Errorf("%s is not a valid GuideFields", str) + } + return nil +} + +func (e GuideFields) MarshalGQL(w io.Writer) { + fmt.Fprint(w, strconv.Quote(e.String())) +} + +func (e *GuideFields) UnmarshalJSON(b []byte) error { + s, err := strconv.Unquote(string(b)) + if err != nil { + return err + } + return e.UnmarshalGQL(s) +} + +func (e GuideFields) MarshalJSON() ([]byte, error) { + var buf bytes.Buffer + e.MarshalGQL(&buf) + return buf.Bytes(), nil +} + +type ModFields string + +const ( + ModFieldsCreatedAt ModFields = "created_at" + ModFieldsUpdatedAt ModFields = "updated_at" + ModFieldsName ModFields = "name" + ModFieldsViews ModFields = "views" + ModFieldsDownloads ModFields = "downloads" + ModFieldsHotness ModFields = "hotness" + ModFieldsPopularity ModFields = "popularity" + ModFieldsLastVersionDate ModFields = "last_version_date" + ModFieldsSearch ModFields = "search" +) + +var AllModFields = []ModFields{ + ModFieldsCreatedAt, + ModFieldsUpdatedAt, + ModFieldsName, + ModFieldsViews, + ModFieldsDownloads, + ModFieldsHotness, + ModFieldsPopularity, + ModFieldsLastVersionDate, + ModFieldsSearch, +} + +func (e ModFields) IsValid() bool { + switch e { + case ModFieldsCreatedAt, ModFieldsUpdatedAt, ModFieldsName, ModFieldsViews, ModFieldsDownloads, ModFieldsHotness, ModFieldsPopularity, ModFieldsLastVersionDate, ModFieldsSearch: + return true + } + return false +} + +func (e ModFields) String() string { + return string(e) +} + +func (e *ModFields) UnmarshalGQL(v any) error { + str, ok := v.(string) + if !ok { + return fmt.Errorf("enums must be strings") + } + + *e = ModFields(str) + if !e.IsValid() { + return fmt.Errorf("%s is not a valid ModFields", str) + } + return nil +} + +func (e ModFields) MarshalGQL(w io.Writer) { + fmt.Fprint(w, strconv.Quote(e.String())) +} + +func (e *ModFields) UnmarshalJSON(b []byte) error { + s, err := strconv.Unquote(string(b)) + if err != nil { + return err + } + return e.UnmarshalGQL(s) +} + +func (e ModFields) MarshalJSON() ([]byte, error) { + var buf bytes.Buffer + e.MarshalGQL(&buf) + return buf.Bytes(), nil +} + +type Order string + +const ( + OrderAsc Order = "asc" + OrderDesc Order = "desc" +) + +var AllOrder = []Order{ + OrderAsc, + OrderDesc, +} + +func (e Order) IsValid() bool { + switch e { + case OrderAsc, OrderDesc: + return true + } + return false +} + +func (e Order) String() string { + return string(e) +} + +func (e *Order) UnmarshalGQL(v any) error { + str, ok := v.(string) + if !ok { + return fmt.Errorf("enums must be strings") + } + + *e = Order(str) + if !e.IsValid() { + return fmt.Errorf("%s is not a valid Order", str) + } + return nil +} + +func (e Order) MarshalGQL(w io.Writer) { + fmt.Fprint(w, strconv.Quote(e.String())) +} + +func (e *Order) UnmarshalJSON(b []byte) error { + s, err := strconv.Unquote(string(b)) + if err != nil { + return err + } + return e.UnmarshalGQL(s) +} + +func (e Order) MarshalJSON() ([]byte, error) { + var buf bytes.Buffer + e.MarshalGQL(&buf) + return buf.Bytes(), nil +} + +type SMLVersionFields string + +const ( + SMLVersionFieldsName SMLVersionFields = "name" + SMLVersionFieldsCreatedAt SMLVersionFields = "created_at" + SMLVersionFieldsUpdatedAt SMLVersionFields = "updated_at" + SMLVersionFieldsSatisfactoryVersion SMLVersionFields = "satisfactory_version" + SMLVersionFieldsDate SMLVersionFields = "date" +) + +var AllSMLVersionFields = []SMLVersionFields{ + SMLVersionFieldsName, + SMLVersionFieldsCreatedAt, + SMLVersionFieldsUpdatedAt, + SMLVersionFieldsSatisfactoryVersion, + SMLVersionFieldsDate, +} + +func (e SMLVersionFields) IsValid() bool { + switch e { + case SMLVersionFieldsName, SMLVersionFieldsCreatedAt, SMLVersionFieldsUpdatedAt, SMLVersionFieldsSatisfactoryVersion, SMLVersionFieldsDate: + return true + } + return false +} + +func (e SMLVersionFields) String() string { + return string(e) +} + +func (e *SMLVersionFields) UnmarshalGQL(v any) error { + str, ok := v.(string) + if !ok { + return fmt.Errorf("enums must be strings") + } + + *e = SMLVersionFields(str) + if !e.IsValid() { + return fmt.Errorf("%s is not a valid SMLVersionFields", str) + } + return nil +} + +func (e SMLVersionFields) MarshalGQL(w io.Writer) { + fmt.Fprint(w, strconv.Quote(e.String())) +} + +func (e *SMLVersionFields) UnmarshalJSON(b []byte) error { + s, err := strconv.Unquote(string(b)) + if err != nil { + return err + } + return e.UnmarshalGQL(s) +} + +func (e SMLVersionFields) MarshalJSON() ([]byte, error) { + var buf bytes.Buffer + e.MarshalGQL(&buf) + return buf.Bytes(), nil +} + +type TargetName string + +const ( + TargetNameWindows TargetName = "Windows" + TargetNameWindowsServer TargetName = "WindowsServer" + TargetNameLinuxServer TargetName = "LinuxServer" +) + +var AllTargetName = []TargetName{ + TargetNameWindows, + TargetNameWindowsServer, + TargetNameLinuxServer, +} + +func (e TargetName) IsValid() bool { + switch e { + case TargetNameWindows, TargetNameWindowsServer, TargetNameLinuxServer: + return true + } + return false +} + +func (e TargetName) String() string { + return string(e) +} + +func (e *TargetName) UnmarshalGQL(v any) error { + str, ok := v.(string) + if !ok { + return fmt.Errorf("enums must be strings") + } + + *e = TargetName(str) + if !e.IsValid() { + return fmt.Errorf("%s is not a valid TargetName", str) + } + return nil +} + +func (e TargetName) MarshalGQL(w io.Writer) { + fmt.Fprint(w, strconv.Quote(e.String())) +} + +func (e *TargetName) UnmarshalJSON(b []byte) error { + s, err := strconv.Unquote(string(b)) + if err != nil { + return err + } + return e.UnmarshalGQL(s) +} + +func (e TargetName) MarshalJSON() ([]byte, error) { + var buf bytes.Buffer + e.MarshalGQL(&buf) + return buf.Bytes(), nil +} + +type VersionFields string + +const ( + VersionFieldsCreatedAt VersionFields = "created_at" + VersionFieldsUpdatedAt VersionFields = "updated_at" + VersionFieldsDownloads VersionFields = "downloads" +) + +var AllVersionFields = []VersionFields{ + VersionFieldsCreatedAt, + VersionFieldsUpdatedAt, + VersionFieldsDownloads, +} + +func (e VersionFields) IsValid() bool { + switch e { + case VersionFieldsCreatedAt, VersionFieldsUpdatedAt, VersionFieldsDownloads: + return true + } + return false +} + +func (e VersionFields) String() string { + return string(e) +} + +func (e *VersionFields) UnmarshalGQL(v any) error { + str, ok := v.(string) + if !ok { + return fmt.Errorf("enums must be strings") + } + + *e = VersionFields(str) + if !e.IsValid() { + return fmt.Errorf("%s is not a valid VersionFields", str) + } + return nil +} + +func (e VersionFields) MarshalGQL(w io.Writer) { + fmt.Fprint(w, strconv.Quote(e.String())) +} + +func (e *VersionFields) UnmarshalJSON(b []byte) error { + s, err := strconv.Unquote(string(b)) + if err != nil { + return err + } + return e.UnmarshalGQL(s) +} + +func (e VersionFields) MarshalJSON() ([]byte, error) { + var buf bytes.Buffer + e.MarshalGQL(&buf) + return buf.Bytes(), nil +} + +type VersionStabilities string + +const ( + VersionStabilitiesAlpha VersionStabilities = "alpha" + VersionStabilitiesBeta VersionStabilities = "beta" + VersionStabilitiesRelease VersionStabilities = "release" +) + +var AllVersionStabilities = []VersionStabilities{ + VersionStabilitiesAlpha, + VersionStabilitiesBeta, + VersionStabilitiesRelease, +} + +func (e VersionStabilities) IsValid() bool { + switch e { + case VersionStabilitiesAlpha, VersionStabilitiesBeta, VersionStabilitiesRelease: + return true + } + return false +} + +func (e VersionStabilities) String() string { + return string(e) +} + +func (e *VersionStabilities) UnmarshalGQL(v any) error { + str, ok := v.(string) + if !ok { + return fmt.Errorf("enums must be strings") + } + + *e = VersionStabilities(str) + if !e.IsValid() { + return fmt.Errorf("%s is not a valid VersionStabilities", str) + } + return nil +} + +func (e VersionStabilities) MarshalGQL(w io.Writer) { + fmt.Fprint(w, strconv.Quote(e.String())) +} + +func (e *VersionStabilities) UnmarshalJSON(b []byte) error { + s, err := strconv.Unquote(string(b)) + if err != nil { + return err + } + return e.UnmarshalGQL(s) +} + +func (e VersionStabilities) MarshalJSON() ([]byte, error) { + var buf bytes.Buffer + e.MarshalGQL(&buf) + return buf.Bytes(), nil +} diff --git a/gql/resolver_mods.go b/gql/resolver_mods.go index 5fd2421c..b9104dcd 100644 --- a/gql/resolver_mods.go +++ b/gql/resolver_mods.go @@ -192,10 +192,10 @@ func (r *mutationResolver) UpdateMod(ctx context.Context, modID string, updateMo newNetworkDisclosure, isSet := updateMod.NetworkUseDisclosure.ValueOK() if isSet { - if newNetworkDisclosure == nil { - dbUpdate.ClearNetworkUseDisclosure() - } else { + if newNetworkDisclosure != nil { dbUpdate.SetNetworkUseDisclosure(*newNetworkDisclosure) + } else { + return nil, errors.New("this mod already has a network use disclosure, and thus it cannot be cleared") } } SetINNF(updateMod.ToggleExplicitContent, dbUpdate.SetToggleExplicitContent) diff --git a/gql/resolver_versions.go b/gql/resolver_versions.go index 89d61458..dfb88a84 100644 --- a/gql/resolver_versions.go +++ b/gql/resolver_versions.go @@ -52,13 +52,17 @@ func (r *mutationResolver) CreateVersion(ctx context.Context, modID string) (str } if mod.AiUseDisclosure == nil { - return "", errors.New("you must update AI use disclosure on the site before uploading a version") + return "", errors.New("you must update an AI use disclosure on the site before uploading a version") } if mod.AiUseDisclosure.DisclosureType != "no_ai_usage" && mod.AiUseDisclosure.DisclosureString == "" { return "", errors.New("you must provide a description for AI use before uploading a version") } + if mod.NetworkUseDisclosure == "" { + return "", errors.New("you must update a network use disclosure on the site before uploading a version") + } + uploadID := util.GenerateUniqueID() _, _ = storage.StartUploadMultipartMod(ctx, mod.ID, mod.Name, uploadID) From 9f12e94d4ced85b23ff84a4f4a50214ac27a0a70 Mon Sep 17 00:00:00 2001 From: rhit-silkaijr Date: Mon, 6 Apr 2026 01:21:45 -0400 Subject: [PATCH 053/100] feat: supporting unspecified disclosure --- generated/generated.go | 1 + generated/models_gen.go | 4 +++- gql/resolver_mods.go | 3 +++ gql/resolver_versions.go | 2 +- schemas/mod.graphql | 1 + 5 files changed, 9 insertions(+), 2 deletions(-) diff --git a/generated/generated.go b/generated/generated.go index 409635c2..c95cb995 100644 --- a/generated/generated.go +++ b/generated/generated.go @@ -2781,6 +2781,7 @@ enum ModFields { } enum AIUseDisclosureType { + no_disclosure no_ai_usage ai_usage runtime_ai_usage diff --git a/generated/models_gen.go b/generated/models_gen.go index 375c5b77..7d2fe03f 100644 --- a/generated/models_gen.go +++ b/generated/models_gen.go @@ -366,12 +366,14 @@ type VirustotalResult struct { type AIUseDisclosureType string const ( + AIUseDisclosureTypeNoDisclosure AIUseDisclosureType = "no_disclosure" AIUseDisclosureTypeNoAiUsage AIUseDisclosureType = "no_ai_usage" AIUseDisclosureTypeAiUsage AIUseDisclosureType = "ai_usage" AIUseDisclosureTypeRuntimeAiUsage AIUseDisclosureType = "runtime_ai_usage" ) var AllAIUseDisclosureType = []AIUseDisclosureType{ + AIUseDisclosureTypeNoDisclosure, AIUseDisclosureTypeNoAiUsage, AIUseDisclosureTypeAiUsage, AIUseDisclosureTypeRuntimeAiUsage, @@ -379,7 +381,7 @@ var AllAIUseDisclosureType = []AIUseDisclosureType{ func (e AIUseDisclosureType) IsValid() bool { switch e { - case AIUseDisclosureTypeNoAiUsage, AIUseDisclosureTypeAiUsage, AIUseDisclosureTypeRuntimeAiUsage: + case AIUseDisclosureTypeNoDisclosure, AIUseDisclosureTypeNoAiUsage, AIUseDisclosureTypeAiUsage, AIUseDisclosureTypeRuntimeAiUsage: return true } return false diff --git a/gql/resolver_mods.go b/gql/resolver_mods.go index b9104dcd..0d38c2f1 100644 --- a/gql/resolver_mods.go +++ b/gql/resolver_mods.go @@ -188,6 +188,9 @@ func (r *mutationResolver) UpdateMod(ctx context.Context, modID string, updateMo SetINNF(updateMod.Hidden, dbUpdate.SetHidden) SetCompatibilityINNF(updateMod.Compatibility, dbUpdate.SetCompatibility) SetINNF(updateMod.ToggleNetworkUse, dbUpdate.SetToggleNetworkUse) + if dbMod.AiUseDisclosure != nil && updateMod.AiUseDisclosure.DisclosureType == "no_disclosure" && dbMod.AiUseDisclosure.DisclosureType != "no_disclosure" { + return nil, errors.New("this mod already has an AI use disclosure, and thus it cannot be cleared") + } SetAIDisclosureINNF(updateMod.AiUseDisclosure, dbUpdate.SetAiUseDisclosure) newNetworkDisclosure, isSet := updateMod.NetworkUseDisclosure.ValueOK() diff --git a/gql/resolver_versions.go b/gql/resolver_versions.go index dfb88a84..5eb25f10 100644 --- a/gql/resolver_versions.go +++ b/gql/resolver_versions.go @@ -51,7 +51,7 @@ func (r *mutationResolver) CreateVersion(ctx context.Context, modID string) (str return "", errors.New("you must update your mod reference on the site to match your mod_reference in your data.json") } - if mod.AiUseDisclosure == nil { + if mod.AiUseDisclosure == nil || mod.AiUseDisclosure.DisclosureType == "no_disclosure" { return "", errors.New("you must update an AI use disclosure on the site before uploading a version") } diff --git a/schemas/mod.graphql b/schemas/mod.graphql index dd2a7c92..81da4dee 100755 --- a/schemas/mod.graphql +++ b/schemas/mod.graphql @@ -16,6 +16,7 @@ enum ModFields { } enum AIUseDisclosureType { + no_disclosure no_ai_usage ai_usage runtime_ai_usage From 9a99b9dc18d27bc1b0ab86add3ced3707b478dcf Mon Sep 17 00:00:00 2001 From: rhit-silkaijr Date: Mon, 6 Apr 2026 21:58:13 -0400 Subject: [PATCH 054/100] feat: required string input for positive disclosure --- gql/resolver_mods.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gql/resolver_mods.go b/gql/resolver_mods.go index 0d38c2f1..4a435e58 100644 --- a/gql/resolver_mods.go +++ b/gql/resolver_mods.go @@ -191,6 +191,9 @@ func (r *mutationResolver) UpdateMod(ctx context.Context, modID string, updateMo if dbMod.AiUseDisclosure != nil && updateMod.AiUseDisclosure.DisclosureType == "no_disclosure" && dbMod.AiUseDisclosure.DisclosureType != "no_disclosure" { return nil, errors.New("this mod already has an AI use disclosure, and thus it cannot be cleared") } + if dbMod.AiUseDisclosure != nil && updateMod.AiUseDisclosure.DisclosureType != "no_disclosure" && updateMod.AiUseDisclosure.DisclosureType != "no_ai_usage" && *updateMod.AiUseDisclosure.DisclosureString == "" { + return nil, errors.New("you need to input a disclosure message when disclosing AI usage") + } SetAIDisclosureINNF(updateMod.AiUseDisclosure, dbUpdate.SetAiUseDisclosure) newNetworkDisclosure, isSet := updateMod.NetworkUseDisclosure.ValueOK() From 14fd12bd6cc2a2f932958d1cff4e634acc5e05b4 Mon Sep 17 00:00:00 2001 From: Rob B Date: Wed, 8 Apr 2026 01:25:52 -0400 Subject: [PATCH 055/100] docs: update configuration steps, update sample config port to match frontend default --- README.md | 42 ++++++++++++++++++++++++++++-------------- config.sample.json | 2 +- mise.toml | 5 ++++- 3 files changed, 33 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 40f04b28..8c2b0aaf 100755 --- a/README.md +++ b/README.md @@ -26,6 +26,7 @@ The Satisfactory Mod Repository backend API - a Go-based service providing REST If you are on Windows, due to a bug in [mise and aqua](https://github.com/aquaproj/aqua-registry/pull/42498/), you will also need to do the following: + ```ps1 > mise where aqua:minio/mc @@ -33,7 +34,19 @@ The Satisfactory Mod Repository backend API - a Go-based service providing REST # Rename the `mc` file to give it an extension: `mc.exe` ``` -2. Start Development Services +2. (First Time Setup Only) Set up the Configuration File + + First, start the containers so you can generate some of the required configuration tokens: + + ```bash + # If this command fails, ensure you have Docker running and configured correctly + mise run setup + ``` + + Next, create a copy of `config.sample.json` as `config.json` and fill in the required fields. + See the [Configuration](#configuration) section for details. + +3. Start Development Services ```bash # If this command fails, ensure you have Docker running and configured correctly @@ -44,17 +57,14 @@ The Satisfactory Mod Repository backend API - a Go-based service providing REST mise run api ``` + If the first line of the output contains `config initialized using defaults and environment only!` then ensure your config file is formatted correctly and does not include `//` comments. + If running `api` produces errors about the database failing to apply migrations, you may have switched branches without cleaning up after database changes you were working on. The easiest way to get back from this state is to delete the `postgres` Docker container and delete all not-in-use volumes so it creates a fresh one. -3. Set up the Configuration File - - Create a copy of `config.sample.json` as `config.json` and fill in the required fields. - See the [Configuration](#configuration) section for details. - ## Development Commands ```bash @@ -150,22 +160,26 @@ Doing this requires manually creating a `user_groups` entry for you user. - Generated code in `generated/` - Database schemas in `db/schema/` -## Configuration - -Create `config.json`, or use environment variables with `REPO_` prefix. -A sample is provided: `config.sample.json`. - **Required services:** 1. **PostgreSQL** - Database (dev: port 5432) 2. **Redis** - Cache/sessions (dev: port 6379) 3. **MinIO** - Object storage (dev: ports 9000/9001) -4. **OAuth providers** - GitHub, Google, Facebook. For testing purposes, [setting up just GitHub](https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/creating-an-oauth-app) is the easiest. -5. **PASETO keys** - Generate these with `go run cmd/paseto/main.go` -6. **VirusTotal API key** - For mod scanning. Optional for testing. +4. **VirusTotal** - External API for mod scanning. Optional for testing and local development. + +## Configuration **Development services** are started automatically with `mise run setup`. MinIO configuration is included in the setup task. +Create `config.json`, or use environment variables with `REPO_` prefix. +A sample is provided: `config.sample.json`. + +**For local development, you should change:** + +1. **OAuth providers** - For testing purposes, [setting up just GitHub](https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/creating-an-oauth-app) is the easiest. +2. **PASETO keys** - Generate these with `mise run make_paseto_keys` +3. **VirusTotal API key** - If you want to test the mod scanning features (optional). + See `config/config.go` for full configuration structure. ## Development Workflow diff --git a/config.sample.json b/config.sample.json index d1dd4799..b415bda6 100644 --- a/config.sample.json +++ b/config.sample.json @@ -52,7 +52,7 @@ }, "frontend": { - "url": "http://localhost:4200" + "url": "http://localhost:3000" }, "feature_flags": { diff --git a/mise.toml b/mise.toml index b6476e3d..fe23047d 100644 --- a/mise.toml +++ b/mise.toml @@ -26,7 +26,6 @@ run = "go run cmd/api/serve.go" description = "Run all tests (with verbose output, for CI)" run = "go test -parallel 1 -v -timeout 1h ./..." -# Run the tests without the verbose flag so it is easier to parse the output for local development [tasks.localtest] description = "Run all tests (without the verbose flag, so it's easier to parse the output for local development)" run = "go test -parallel 1 -timeout 1h ./..." @@ -68,3 +67,7 @@ run_windows = "mise run migrate_diff_windows" description = "Use Atlas to create a new manual SQL migration file (see https://atlasgo.io/versioned/new)" run= "mise run migrate_new_linux" run_windows = "mise run migrate_new_windows" + +[tasks.make_paseto_keys] +description = "Generates PASETO keys for initial setup, put them in your config.json" +run = "go run cmd/paseto/main.go" From c58630f559ec36112d81bfb3e13cccaa37b26164 Mon Sep 17 00:00:00 2001 From: Rob B Date: Mon, 13 Apr 2026 19:22:24 -0400 Subject: [PATCH 056/100] chore: `mise run format` --- tests/ai_use_disclosure_test.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/ai_use_disclosure_test.go b/tests/ai_use_disclosure_test.go index 0d69eb31..b82fa915 100644 --- a/tests/ai_use_disclosure_test.go +++ b/tests/ai_use_disclosure_test.go @@ -53,11 +53,12 @@ func TestAiDisclosure(t *testing.T) { } } }`, token) - var disclosureString string = "This mod uses AI for testing purposes" + disclosureString := "This mod uses AI for testing purposes" disclosureRequest.Var("mod_reference", "newMod") disclosureRequest.Var("ai_use_disclosure", generated.AIUseDisclosureInput{ DisclosureType: "ai_usage", - DisclosureString: &disclosureString}) + DisclosureString: &disclosureString, + }) var createResponse struct { CreateMod generated.Mod From 4b6234ff2b2da6c27ecf741b350bb3f738b4b594 Mon Sep 17 00:00:00 2001 From: Rob B Date: Mon, 13 Apr 2026 20:23:42 -0400 Subject: [PATCH 057/100] refactor: clarify test data --- tests/ai_use_disclosure_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/ai_use_disclosure_test.go b/tests/ai_use_disclosure_test.go index b82fa915..c2627887 100644 --- a/tests/ai_use_disclosure_test.go +++ b/tests/ai_use_disclosure_test.go @@ -24,8 +24,8 @@ func TestAiDisclosure(t *testing.T) { createRequest := authRequest(`mutation ($mod_reference: ModReference!) { createMod(mod: { - name: "Rate Limit Test Mod", - short_description: "Testing rate limiting functionality", + name: "AI Disclosure Mod", + short_description: "Testing AI disclosure functionality", full_description: "Lorem ipsum dolor sit amet", mod_reference: $mod_reference }) { From bad85596e3624dcbb195ee4dfb3df81172a4d802 Mon Sep 17 00:00:00 2001 From: Rob B Date: Mon, 13 Apr 2026 20:48:44 -0400 Subject: [PATCH 058/100] test: fix broken test - call create mod expected to fail - correct syntax + inputs for updatemod - fix that successful update was --- tests/ai_use_disclosure_test.go | 66 +++++++++++++++++++-------------- 1 file changed, 39 insertions(+), 27 deletions(-) diff --git a/tests/ai_use_disclosure_test.go b/tests/ai_use_disclosure_test.go index c2627887..74622649 100644 --- a/tests/ai_use_disclosure_test.go +++ b/tests/ai_use_disclosure_test.go @@ -22,6 +22,7 @@ func TestAiDisclosure(t *testing.T) { token, _, err := makeUser(ctx) testza.AssertNoError(t, err) + // Creating a mod without an AI disclosure succeeds and there is no disclosure information createRequest := authRequest(`mutation ($mod_reference: ModReference!) { createMod(mod: { name: "AI Disclosure Mod", @@ -34,19 +35,25 @@ func TestAiDisclosure(t *testing.T) { mod_reference } }`, token) - createRequest.Var("mod_reference", "newMod") + createRequest.Var("mod_reference", "aiDisclosureMod") - var response struct { + var createResponse struct { CreateMod generated.Mod } - testza.AssertNoError(t, err) - testza.AssertNotNil(t, response.CreateMod) + testza.AssertNoError(t, client.Run(ctx, createRequest, &createResponse)) + testza.AssertNotNil(t, createResponse.CreateMod) + testza.AssertNil(t, createResponse.CreateMod.AiUseDisclosure) + modId := createResponse.CreateMod.ID - disclosureRequest := authRequest(`mutation ($mod_reference: ModReference!, $ai_use_disclosure: AIUseDisclosureInput!) { - updateMod(mod: { - name: "disclosure test", - ai_use_disclosure: $ai_use_disclosure, - }) { + // Assigning an AI disclosure succeeds and updates the mod's disclosure information + disclosureRequest := authRequest(`mutation ($id: ModID!, $ai_use_disclosure: AIUseDisclosureInput!) { + updateMod( + modId: $id + mod: { + ai_use_disclosure: $ai_use_disclosure, + } + ) { + id ai_use_disclosure { disclosure_type disclosure_string @@ -54,37 +61,42 @@ func TestAiDisclosure(t *testing.T) { } }`, token) disclosureString := "This mod uses AI for testing purposes" - disclosureRequest.Var("mod_reference", "newMod") + disclosureRequest.Var("id", modId) disclosureRequest.Var("ai_use_disclosure", generated.AIUseDisclosureInput{ DisclosureType: "ai_usage", DisclosureString: &disclosureString, }) - var createResponse struct { - CreateMod generated.Mod + var updateResponse struct { + UpdateMod generated.Mod } - err = client.Run(ctx, disclosureRequest, &createResponse) - testza.AssertNotNil(t, err) + testza.AssertNoError(t, client.Run(ctx, disclosureRequest, &updateResponse)) + testza.AssertNotNil(t, updateResponse.UpdateMod.AiUseDisclosure.DisclosureType) + testza.AssertEqual(t, generated.AIUseDisclosureTypeAiUsage, updateResponse.UpdateMod.AiUseDisclosure.DisclosureType) + testza.AssertEqual(t, &disclosureString, updateResponse.UpdateMod.AiUseDisclosure.DisclosureString) - failedUpdate := authRequest(`mutation ($mod_reference: ModReference!, $ai_use_disclosure: AIUseDisclosureInput!) { - updateMod(mod: { - name: "disclosure test", - ai_use_disclosure: $ai_use_disclosure, - }) { + // Trying to set to nil is not allowed + failedUpdateNil := authRequest(`mutation ($id: ModID!, $ai_use_disclosure: AIUseDisclosureInput!) { + updateMod( + modId: $id + mod: { + ai_use_disclosure: $ai_use_disclosure, + } + ) { + id ai_use_disclosure { disclosure_type disclosure_string } } }`, token) - disclosureRequest.Var("mod_reference", "newMod") - disclosureRequest.Var("ai_use_disclosure", nil) - // Should not update since input is nil - var failedResponse struct { - CreateMod generated.Mod + failedUpdateNil.Var("id", modId) + failedUpdateNil.Var("ai_use_disclosure", nil) + + var failedNilResponse struct { + UpdateMod generated.Mod } - err = client.Run(ctx, failedUpdate, &failedResponse) + err = client.Run(ctx, failedUpdateNil, &failedNilResponse) testza.AssertNotNil(t, err) - testza.AssertEqual(t, failedResponse.CreateMod.AiUseDisclosure.DisclosureType, "ai_usage") - testza.AssertEqual(t, failedResponse.CreateMod.AiUseDisclosure.DisclosureString, disclosureString) + testza.AssertContains(t, err.Error(), "cannot be null") } From 9f75abf78f34d52d013e048035f65df2445cf6a1 Mon Sep 17 00:00:00 2001 From: Rob B Date: Mon, 13 Apr 2026 21:10:53 -0400 Subject: [PATCH 059/100] fix: non-empty string disclosure check should still happen even if no disclosure set --- gql/resolver_mods.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gql/resolver_mods.go b/gql/resolver_mods.go index 4a435e58..b8c61dc5 100644 --- a/gql/resolver_mods.go +++ b/gql/resolver_mods.go @@ -188,10 +188,12 @@ func (r *mutationResolver) UpdateMod(ctx context.Context, modID string, updateMo SetINNF(updateMod.Hidden, dbUpdate.SetHidden) SetCompatibilityINNF(updateMod.Compatibility, dbUpdate.SetCompatibility) SetINNF(updateMod.ToggleNetworkUse, dbUpdate.SetToggleNetworkUse) + SetINNF(updateMod.ToggleExplicitContent, dbUpdate.SetToggleExplicitContent) + if dbMod.AiUseDisclosure != nil && updateMod.AiUseDisclosure.DisclosureType == "no_disclosure" && dbMod.AiUseDisclosure.DisclosureType != "no_disclosure" { return nil, errors.New("this mod already has an AI use disclosure, and thus it cannot be cleared") } - if dbMod.AiUseDisclosure != nil && updateMod.AiUseDisclosure.DisclosureType != "no_disclosure" && updateMod.AiUseDisclosure.DisclosureType != "no_ai_usage" && *updateMod.AiUseDisclosure.DisclosureString == "" { + if updateMod.AiUseDisclosure.DisclosureType != "no_disclosure" && updateMod.AiUseDisclosure.DisclosureType != "no_ai_usage" && *updateMod.AiUseDisclosure.DisclosureString == "" { return nil, errors.New("you need to input a disclosure message when disclosing AI usage") } SetAIDisclosureINNF(updateMod.AiUseDisclosure, dbUpdate.SetAiUseDisclosure) @@ -204,7 +206,6 @@ func (r *mutationResolver) UpdateMod(ctx context.Context, modID string, updateMo return nil, errors.New("this mod already has a network use disclosure, and thus it cannot be cleared") } } - SetINNF(updateMod.ToggleExplicitContent, dbUpdate.SetToggleExplicitContent) if updateMod.Logo != nil { file, err := io.ReadAll(updateMod.Logo.File) From 3bc4c4454508af2d73b3f4e448546079823b8232 Mon Sep 17 00:00:00 2001 From: Rob B Date: Mon, 13 Apr 2026 21:13:46 -0400 Subject: [PATCH 060/100] tests: ensure disclosure can't be set back to No Disclosure, ensure disclosure message can't be empty --- tests/ai_use_disclosure_test.go | 80 ++++++++++++++++++++++++++++----- 1 file changed, 69 insertions(+), 11 deletions(-) diff --git a/tests/ai_use_disclosure_test.go b/tests/ai_use_disclosure_test.go index 74622649..aa91a16c 100644 --- a/tests/ai_use_disclosure_test.go +++ b/tests/ai_use_disclosure_test.go @@ -43,9 +43,63 @@ func TestAiDisclosure(t *testing.T) { testza.AssertNoError(t, client.Run(ctx, createRequest, &createResponse)) testza.AssertNotNil(t, createResponse.CreateMod) testza.AssertNil(t, createResponse.CreateMod.AiUseDisclosure) - modId := createResponse.CreateMod.ID + modID := createResponse.CreateMod.ID - // Assigning an AI disclosure succeeds and updates the mod's disclosure information + // Passing nil disclosure is not allowed + failedUpdateNil := authRequest(`mutation ($id: ModID!, $ai_use_disclosure: AIUseDisclosureInput!) { + updateMod( + modId: $id + mod: { + ai_use_disclosure: $ai_use_disclosure, + } + ) { + id + ai_use_disclosure { + disclosure_type + disclosure_string + } + } + }`, token) + failedUpdateNil.Var("id", modID) + failedUpdateNil.Var("ai_use_disclosure", nil) + + var failedNilResponse struct { + UpdateMod generated.Mod + } + err = client.Run(ctx, failedUpdateNil, &failedNilResponse) + testza.AssertNotNil(t, err) + testza.AssertContains(t, err.Error(), "cannot be null") + + // Empty string disclosure message is not allowed + failedUpdateEmptyString := authRequest(`mutation ($id: ModID!, $ai_use_disclosure: AIUseDisclosureInput!) { + updateMod( + modId: $id + mod: { + ai_use_disclosure: $ai_use_disclosure, + } + ) { + id + ai_use_disclosure { + disclosure_type + disclosure_string + } + } + }`, token) + failedUpdateEmptyString.Var("id", modID) + emptyString := "" + failedUpdateEmptyString.Var("ai_use_disclosure", generated.AIUseDisclosureInput{ + DisclosureType: generated.AIUseDisclosureTypeAiUsage, + DisclosureString: &emptyString, + }) + + var failedEmptyStringResponse struct { + UpdateMod generated.Mod + } + err = client.Run(ctx, failedUpdateEmptyString, &failedEmptyStringResponse) + testza.AssertNotNil(t, err) + testza.AssertContains(t, err.Error(), "you need to input a disclosure message when disclosing AI usage") + + // Assigning a valid AI disclosure succeeds and updates the mod's disclosure information disclosureRequest := authRequest(`mutation ($id: ModID!, $ai_use_disclosure: AIUseDisclosureInput!) { updateMod( modId: $id @@ -61,9 +115,9 @@ func TestAiDisclosure(t *testing.T) { } }`, token) disclosureString := "This mod uses AI for testing purposes" - disclosureRequest.Var("id", modId) + disclosureRequest.Var("id", modID) disclosureRequest.Var("ai_use_disclosure", generated.AIUseDisclosureInput{ - DisclosureType: "ai_usage", + DisclosureType: generated.AIUseDisclosureTypeAiUsage, DisclosureString: &disclosureString, }) @@ -75,8 +129,8 @@ func TestAiDisclosure(t *testing.T) { testza.AssertEqual(t, generated.AIUseDisclosureTypeAiUsage, updateResponse.UpdateMod.AiUseDisclosure.DisclosureType) testza.AssertEqual(t, &disclosureString, updateResponse.UpdateMod.AiUseDisclosure.DisclosureString) - // Trying to set to nil is not allowed - failedUpdateNil := authRequest(`mutation ($id: ModID!, $ai_use_disclosure: AIUseDisclosureInput!) { + // Trying to unassign the disclosure is not allowed + failedUpdateUndisclosed := authRequest(`mutation ($id: ModID!, $ai_use_disclosure: AIUseDisclosureInput!) { updateMod( modId: $id mod: { @@ -90,13 +144,17 @@ func TestAiDisclosure(t *testing.T) { } } }`, token) - failedUpdateNil.Var("id", modId) - failedUpdateNil.Var("ai_use_disclosure", nil) + failedUpdateUndisclosed.Var("id", modID) + messageDoesNotMatter := "grumbus" + failedUpdateUndisclosed.Var("ai_use_disclosure", generated.AIUseDisclosureInput{ + DisclosureType: generated.AIUseDisclosureTypeNoDisclosure, + DisclosureString: &messageDoesNotMatter, + }) - var failedNilResponse struct { + var failedUpdateUndisclosedResponse struct { UpdateMod generated.Mod } - err = client.Run(ctx, failedUpdateNil, &failedNilResponse) + err = client.Run(ctx, failedUpdateUndisclosed, &failedUpdateUndisclosedResponse) testza.AssertNotNil(t, err) - testza.AssertContains(t, err.Error(), "cannot be null") + testza.AssertContains(t, err.Error(), "this mod already has an AI use disclosure, and thus it cannot be cleared") } From 951219ab9c2a4437cea83e8506e217f72d7e5841 Mon Sep 17 00:00:00 2001 From: Rob B Date: Mon, 13 Apr 2026 21:28:31 -0400 Subject: [PATCH 061/100] refactor: use types instead of string literals --- gql/resolver_mods.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gql/resolver_mods.go b/gql/resolver_mods.go index b8c61dc5..a8ec3f44 100644 --- a/gql/resolver_mods.go +++ b/gql/resolver_mods.go @@ -160,6 +160,10 @@ func (r *mutationResolver) CreateMod(ctx context.Context, newMod generated.NewMo return (*conv.ModImpl)(nil).Convert(resultMod), nil } +func requiresMessage(disclosureType generated.AIUseDisclosureType) bool { + return disclosureType == generated.AIUseDisclosureTypeAiUsage || disclosureType == generated.AIUseDisclosureTypeRuntimeAiUsage +} + func (r *mutationResolver) UpdateMod(ctx context.Context, modID string, updateMod generated.UpdateMod) (*generated.Mod, error) { val := ctx.Value(util.ContextValidator{}).(*validator.Validate) if err := val.Struct(&updateMod); err != nil { @@ -190,10 +194,10 @@ func (r *mutationResolver) UpdateMod(ctx context.Context, modID string, updateMo SetINNF(updateMod.ToggleNetworkUse, dbUpdate.SetToggleNetworkUse) SetINNF(updateMod.ToggleExplicitContent, dbUpdate.SetToggleExplicitContent) - if dbMod.AiUseDisclosure != nil && updateMod.AiUseDisclosure.DisclosureType == "no_disclosure" && dbMod.AiUseDisclosure.DisclosureType != "no_disclosure" { + if dbMod.AiUseDisclosure != nil && dbMod.AiUseDisclosure.DisclosureType != generated.AIUseDisclosureTypeNoDisclosure.String() && updateMod.AiUseDisclosure.DisclosureType == generated.AIUseDisclosureTypeNoDisclosure { return nil, errors.New("this mod already has an AI use disclosure, and thus it cannot be cleared") } - if updateMod.AiUseDisclosure.DisclosureType != "no_disclosure" && updateMod.AiUseDisclosure.DisclosureType != "no_ai_usage" && *updateMod.AiUseDisclosure.DisclosureString == "" { + if requiresMessage(updateMod.AiUseDisclosure.DisclosureType) && *updateMod.AiUseDisclosure.DisclosureString == "" { return nil, errors.New("you need to input a disclosure message when disclosing AI usage") } SetAIDisclosureINNF(updateMod.AiUseDisclosure, dbUpdate.SetAiUseDisclosure) From 824131423440de33b3b3ffcd94e742638f6649c6 Mon Sep 17 00:00:00 2001 From: rhit-silkaijr Date: Tue, 14 Apr 2026 00:37:15 -0400 Subject: [PATCH 062/100] feat: fixing network disclosure check --- db/schema/mod.go | 2 +- generated/conv/mod.go | 6 ++++-- generated/ent/internal/schema.go | 2 +- generated/ent/mod.go | 11 +++++++---- generated/ent/mod_create.go | 2 +- generated/ent/mutation.go | 2 +- gql/resolver_mods.go | 10 ++++------ gql/resolver_versions.go | 6 +++--- 8 files changed, 22 insertions(+), 19 deletions(-) diff --git a/db/schema/mod.go b/db/schema/mod.go index e7013923..a7e8a599 100644 --- a/db/schema/mod.go +++ b/db/schema/mod.go @@ -41,7 +41,7 @@ func (Mod) Fields() []ent.Field { field.Bool("hidden").Default(false), field.JSON("compatibility", &util.CompatibilityInfo{}).Optional(), field.Bool("toggle_network_use").Default(false), - field.String("network_use_disclosure").Optional(), + field.String("network_use_disclosure").Optional().Nillable(), field.JSON("ai_use_disclosure", &util.AIUseDisclosureInfo{}).Optional(), field.Bool("toggle_explicit_content").Default(false), } diff --git a/generated/conv/mod.go b/generated/conv/mod.go index 33dca9bc..4aa761f9 100755 --- a/generated/conv/mod.go +++ b/generated/conv/mod.go @@ -47,8 +47,10 @@ func (c *ModImpl) Convert(source *ent.Mod) *generated.Mod { } generatedMod.Compatibility = c.pUtilCompatibilityInfoToPGeneratedCompatibilityInfo((*source).Compatibility) generatedMod.ToggleNetworkUse = (*source).ToggleNetworkUse - pString5 := (*source).NetworkUseDisclosure - generatedMod.NetworkUseDisclosure = &pString5 + if (*source).NetworkUseDisclosure != nil { + xstring := *(*source).NetworkUseDisclosure + generatedMod.NetworkUseDisclosure = &xstring + } generatedMod.AiUseDisclosure = c.pUtilAIUseDisclosureInfoToPGeneratedAIUseDisclosureInfo((*source).AiUseDisclosure) generatedMod.ToggleExplicitContent = (*source).ToggleExplicitContent pGeneratedMod = &generatedMod diff --git a/generated/ent/internal/schema.go b/generated/ent/internal/schema.go index 207977e3..08bc167b 100644 --- a/generated/ent/internal/schema.go +++ b/generated/ent/internal/schema.go @@ -6,4 +6,4 @@ // Package internal holds a loadable version of the latest schema. package internal -const Schema = "{\"Schema\":\"github.com/satisfactorymodding/smr-api/db/schema\",\"Package\":\"github.com/satisfactorymodding/smr-api/generated/ent\",\"Schemas\":[{\"name\":\"Announcement\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"message\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"importance\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Guide\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"guides\",\"unique\":true,\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"}}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"guide\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":2,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"GuideTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guide\",\"type\":\"Guide\",\"field\":\"guide_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"guide_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"guide_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"Mod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"versions\",\"type\":\"Version\"},{\"name\":\"authors\",\"type\":\"User\",\"ref_name\":\"mods\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"},\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"}},{\"name\":\"dependents\",\"type\":\"Version\",\"ref_name\":\"dependencies\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"full_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"source_url\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"creator_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"popularity\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"last_version_date\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hidden\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"compatibility\",\"type\":{\"Type\":3,\"Ident\":\"*util.CompatibilityInfo\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":true,\"RType\":{\"Name\":\"CompatibilityInfo\",\"Ident\":\"util.CompatibilityInfo\",\"Kind\":22,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{}}},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_network_use\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"network_use_disclosure\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":18,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"ai_use_disclosure\",\"type\":{\"Type\":3,\"Ident\":\"*util.AIUseDisclosureInfo\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":true,\"RType\":{\"Name\":\"AIUseDisclosureInfo\",\"Ident\":\"util.AIUseDisclosureInfo\",\"Kind\":22,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{}}},\"optional\":true,\"position\":{\"Index\":19,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_explicit_content\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":20,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"last_version_date\"]},{\"unique\":true,\"fields\":[\"mod_reference\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"ModTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"mod_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"SatisfactoryVersion\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"unique\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"engine_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"default\":true,\"default_value\":\"4.26\",\"default_kind\":24,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}]},{\"name\":\"Tag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mods\",\"type\":\"Mod\",\"ref_name\":\"tags\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"},\"inverse\":true},{\"name\":\"guides\",\"type\":\"Guide\",\"ref_name\":\"tags\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":24,\"unique\":true,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"optional\":true,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"User\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guides\",\"type\":\"Guide\"},{\"name\":\"sessions\",\"type\":\"UserSession\",\"storage_key\":{\"Table\":\"\",\"Symbols\":null,\"Columns\":[\"user_id\"]}},{\"name\":\"mods\",\"type\":\"Mod\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"}},{\"name\":\"groups\",\"type\":\"UserGroup\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"email\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":256,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"username\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"joined_from\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"banned\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"rank\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":1,\"default_kind\":2,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"github_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"optional\":true,\"validators\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"google_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"optional\":true,\"validators\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"facebook_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"optional\":true,\"validators\":1,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"email\"]},{\"unique\":true,\"fields\":[\"github_id\"]},{\"unique\":true,\"fields\":[\"google_id\"]},{\"unique\":true,\"fields\":[\"facebook_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserGroup\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"groups\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"group_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"user_id\",\"group_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserMod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"role\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"user_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"UserSession\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"ref_name\":\"sessions\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"token\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"user_agent\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"token\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Version\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"ref_name\":\"versions\",\"unique\":true,\"inverse\":true,\"required\":true},{\"name\":\"dependencies\",\"type\":\"Mod\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"}},{\"name\":\"targets\",\"type\":\"VersionTarget\"},{\"name\":\"virustotal_results\",\"type\":\"VirustotalResult\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"game_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"required_on_remote\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":true,\"default_kind\":1,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"changelog\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"stability\",\"type\":{\"Type\":6,\"Ident\":\"util.Stability\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":false,\"RType\":{\"Name\":\"Stability\",\"Ident\":\"util.Stability\",\"Kind\":24,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{\"Values\":{\"In\":[],\"Out\":[{\"Name\":\"\",\"Ident\":\"[]string\",\"Kind\":23,\"PkgPath\":\"\",\"Methods\":null}]}}}},\"enums\":[{\"N\":\"release\",\"V\":\"release\"},{\"N\":\"beta\",\"V\":\"beta\"},{\"N\":\"alpha\",\"V\":\"alpha\"}],\"default\":true,\"default_value\":\"release\",\"default_kind\":24,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"metadata\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_major\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_minor\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_patch\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"optional\":true,\"validators\":2,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"approved\"]},{\"fields\":[\"denied\"]},{\"fields\":[\"mod_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"VersionDependency\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"condition\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"optional\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"annotations\":{\"Fields\":{\"ID\":[\"version_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"VersionTarget\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"targets\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"target_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"unique\":true,\"fields\":[\"version_id\",\"target_name\"]}]},{\"name\":\"VirustotalResult\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"virustotal_results\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"safe\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":2,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"file_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":2,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"safe\"]},{\"unique\":true,\"fields\":[\"hash\",\"version_id\"]},{\"fields\":[\"file_name\"]}]}],\"Features\":[\"sql/modifier\",\"intercept\",\"schema/snapshot\",\"sql/execquery\",\"sql/upsert\"]}" +const Schema = "{\"Schema\":\"github.com/satisfactorymodding/smr-api/db/schema\",\"Package\":\"github.com/satisfactorymodding/smr-api/generated/ent\",\"Schemas\":[{\"name\":\"Announcement\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"message\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"importance\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Guide\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"guides\",\"unique\":true,\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"}}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"guide\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":2,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"GuideTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guide\",\"type\":\"Guide\",\"field\":\"guide_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"guide_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"guide_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"Mod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"versions\",\"type\":\"Version\"},{\"name\":\"authors\",\"type\":\"User\",\"ref_name\":\"mods\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"},\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"}},{\"name\":\"dependents\",\"type\":\"Version\",\"ref_name\":\"dependencies\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"full_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"source_url\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"creator_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"popularity\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"last_version_date\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hidden\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"compatibility\",\"type\":{\"Type\":3,\"Ident\":\"*util.CompatibilityInfo\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":true,\"RType\":{\"Name\":\"CompatibilityInfo\",\"Ident\":\"util.CompatibilityInfo\",\"Kind\":22,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{}}},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_network_use\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"network_use_disclosure\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"nillable\":true,\"optional\":true,\"position\":{\"Index\":18,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"ai_use_disclosure\",\"type\":{\"Type\":3,\"Ident\":\"*util.AIUseDisclosureInfo\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":true,\"RType\":{\"Name\":\"AIUseDisclosureInfo\",\"Ident\":\"util.AIUseDisclosureInfo\",\"Kind\":22,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{}}},\"optional\":true,\"position\":{\"Index\":19,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_explicit_content\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":20,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"last_version_date\"]},{\"unique\":true,\"fields\":[\"mod_reference\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"ModTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"mod_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"SatisfactoryVersion\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"unique\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"engine_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"default\":true,\"default_value\":\"4.26\",\"default_kind\":24,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}]},{\"name\":\"Tag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mods\",\"type\":\"Mod\",\"ref_name\":\"tags\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"},\"inverse\":true},{\"name\":\"guides\",\"type\":\"Guide\",\"ref_name\":\"tags\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":24,\"unique\":true,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"optional\":true,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"User\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guides\",\"type\":\"Guide\"},{\"name\":\"sessions\",\"type\":\"UserSession\",\"storage_key\":{\"Table\":\"\",\"Symbols\":null,\"Columns\":[\"user_id\"]}},{\"name\":\"mods\",\"type\":\"Mod\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"}},{\"name\":\"groups\",\"type\":\"UserGroup\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"email\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":256,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"username\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"joined_from\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"banned\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"rank\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":1,\"default_kind\":2,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"github_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"optional\":true,\"validators\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"google_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"optional\":true,\"validators\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"facebook_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"optional\":true,\"validators\":1,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"email\"]},{\"unique\":true,\"fields\":[\"github_id\"]},{\"unique\":true,\"fields\":[\"google_id\"]},{\"unique\":true,\"fields\":[\"facebook_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserGroup\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"groups\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"group_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"user_id\",\"group_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserMod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"role\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"user_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"UserSession\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"ref_name\":\"sessions\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"token\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"user_agent\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"token\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Version\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"ref_name\":\"versions\",\"unique\":true,\"inverse\":true,\"required\":true},{\"name\":\"dependencies\",\"type\":\"Mod\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"}},{\"name\":\"targets\",\"type\":\"VersionTarget\"},{\"name\":\"virustotal_results\",\"type\":\"VirustotalResult\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"game_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"required_on_remote\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":true,\"default_kind\":1,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"changelog\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"stability\",\"type\":{\"Type\":6,\"Ident\":\"util.Stability\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":false,\"RType\":{\"Name\":\"Stability\",\"Ident\":\"util.Stability\",\"Kind\":24,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{\"Values\":{\"In\":[],\"Out\":[{\"Name\":\"\",\"Ident\":\"[]string\",\"Kind\":23,\"PkgPath\":\"\",\"Methods\":null}]}}}},\"enums\":[{\"N\":\"release\",\"V\":\"release\"},{\"N\":\"beta\",\"V\":\"beta\"},{\"N\":\"alpha\",\"V\":\"alpha\"}],\"default\":true,\"default_value\":\"release\",\"default_kind\":24,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"metadata\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_major\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_minor\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_patch\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"optional\":true,\"validators\":2,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"approved\"]},{\"fields\":[\"denied\"]},{\"fields\":[\"mod_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"VersionDependency\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"condition\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"optional\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"annotations\":{\"Fields\":{\"ID\":[\"version_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"VersionTarget\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"targets\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"target_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"unique\":true,\"fields\":[\"version_id\",\"target_name\"]}]},{\"name\":\"VirustotalResult\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"virustotal_results\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"safe\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":2,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"file_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":2,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"safe\"]},{\"unique\":true,\"fields\":[\"hash\",\"version_id\"]},{\"fields\":[\"file_name\"]}]}],\"Features\":[\"sql/modifier\",\"intercept\",\"schema/snapshot\",\"sql/execquery\",\"sql/upsert\"]}" diff --git a/generated/ent/mod.go b/generated/ent/mod.go index d39011ff..acad741a 100644 --- a/generated/ent/mod.go +++ b/generated/ent/mod.go @@ -62,7 +62,7 @@ type Mod struct { // ToggleNetworkUse holds the value of the "toggle_network_use" field. ToggleNetworkUse bool `json:"toggle_network_use,omitempty"` // NetworkUseDisclosure holds the value of the "network_use_disclosure" field. - NetworkUseDisclosure string `json:"network_use_disclosure,omitempty"` + NetworkUseDisclosure *string `json:"network_use_disclosure,omitempty"` // AiUseDisclosure holds the value of the "ai_use_disclosure" field. AiUseDisclosure *util.AIUseDisclosureInfo `json:"ai_use_disclosure,omitempty"` // ToggleExplicitContent holds the value of the "toggle_explicit_content" field. @@ -325,7 +325,8 @@ func (m *Mod) assignValues(columns []string, values []any) error { if value, ok := values[i].(*sql.NullString); !ok { return fmt.Errorf("unexpected type %T for field network_use_disclosure", values[i]) } else if value.Valid { - m.NetworkUseDisclosure = value.String + m.NetworkUseDisclosure = new(string) + *m.NetworkUseDisclosure = value.String } case mod.FieldAiUseDisclosure: if value, ok := values[i].(*[]byte); !ok { @@ -475,8 +476,10 @@ func (m *Mod) String() string { builder.WriteString("toggle_network_use=") builder.WriteString(fmt.Sprintf("%v", m.ToggleNetworkUse)) builder.WriteString(", ") - builder.WriteString("network_use_disclosure=") - builder.WriteString(m.NetworkUseDisclosure) + if v := m.NetworkUseDisclosure; v != nil { + builder.WriteString("network_use_disclosure=") + builder.WriteString(*v) + } builder.WriteString(", ") builder.WriteString("ai_use_disclosure=") builder.WriteString(fmt.Sprintf("%v", m.AiUseDisclosure)) diff --git a/generated/ent/mod_create.go b/generated/ent/mod_create.go index 8572cbe9..2182606f 100644 --- a/generated/ent/mod_create.go +++ b/generated/ent/mod_create.go @@ -665,7 +665,7 @@ func (mc *ModCreate) createSpec() (*Mod, *sqlgraph.CreateSpec) { } if value, ok := mc.mutation.NetworkUseDisclosure(); ok { _spec.SetField(mod.FieldNetworkUseDisclosure, field.TypeString, value) - _node.NetworkUseDisclosure = value + _node.NetworkUseDisclosure = &value } if value, ok := mc.mutation.AiUseDisclosure(); ok { _spec.SetField(mod.FieldAiUseDisclosure, field.TypeJSON, value) diff --git a/generated/ent/mutation.go b/generated/ent/mutation.go index 34033380..cf0701b7 100644 --- a/generated/ent/mutation.go +++ b/generated/ent/mutation.go @@ -3018,7 +3018,7 @@ func (m *ModMutation) NetworkUseDisclosure() (r string, exists bool) { // OldNetworkUseDisclosure returns the old "network_use_disclosure" field's value of the Mod entity. // If the Mod object wasn't provided to the builder, the object is fetched from the database. // An error is returned if the mutation operation is not UpdateOne, or the database query fails. -func (m *ModMutation) OldNetworkUseDisclosure(ctx context.Context) (v string, err error) { +func (m *ModMutation) OldNetworkUseDisclosure(ctx context.Context) (v *string, err error) { if !m.op.Is(OpUpdateOne) { return v, errors.New("OldNetworkUseDisclosure is only allowed on UpdateOne operations") } diff --git a/gql/resolver_mods.go b/gql/resolver_mods.go index a8ec3f44..1d15fd18 100644 --- a/gql/resolver_mods.go +++ b/gql/resolver_mods.go @@ -203,12 +203,10 @@ func (r *mutationResolver) UpdateMod(ctx context.Context, modID string, updateMo SetAIDisclosureINNF(updateMod.AiUseDisclosure, dbUpdate.SetAiUseDisclosure) newNetworkDisclosure, isSet := updateMod.NetworkUseDisclosure.ValueOK() - if isSet { - if newNetworkDisclosure != nil { - dbUpdate.SetNetworkUseDisclosure(*newNetworkDisclosure) - } else { - return nil, errors.New("this mod already has a network use disclosure, and thus it cannot be cleared") - } + if isSet && newNetworkDisclosure != nil { + dbUpdate.SetNetworkUseDisclosure(*newNetworkDisclosure) + } else if newNetworkDisclosure == nil && dbMod.NetworkUseDisclosure != nil { + return nil, errors.New("this mod already has a network use disclosure, and thus it cannot be cleared") } if updateMod.Logo != nil { diff --git a/gql/resolver_versions.go b/gql/resolver_versions.go index 5eb25f10..4ad811da 100644 --- a/gql/resolver_versions.go +++ b/gql/resolver_versions.go @@ -51,15 +51,15 @@ func (r *mutationResolver) CreateVersion(ctx context.Context, modID string) (str return "", errors.New("you must update your mod reference on the site to match your mod_reference in your data.json") } - if mod.AiUseDisclosure == nil || mod.AiUseDisclosure.DisclosureType == "no_disclosure" { + if mod.AiUseDisclosure == nil || mod.AiUseDisclosure.DisclosureType == generated.AIUseDisclosureTypeNoDisclosure.String() { return "", errors.New("you must update an AI use disclosure on the site before uploading a version") } - if mod.AiUseDisclosure.DisclosureType != "no_ai_usage" && mod.AiUseDisclosure.DisclosureString == "" { + if mod.AiUseDisclosure.DisclosureType != generated.AIUseDisclosureTypeNoAiUsage.String() && mod.AiUseDisclosure.DisclosureString == "" { return "", errors.New("you must provide a description for AI use before uploading a version") } - if mod.NetworkUseDisclosure == "" { + if mod.NetworkUseDisclosure == nil { return "", errors.New("you must update a network use disclosure on the site before uploading a version") } From a741e4357e945a7662bb25fe227b316f5d07d158 Mon Sep 17 00:00:00 2001 From: rhit-zhangl8 <112708732+rhit-zhangl8@users.noreply.github.com> Date: Thu, 23 Apr 2026 01:54:33 -0400 Subject: [PATCH 063/100] test: sml_versions_test not quite working yet --- mise.toml | 17 ++++++++++++++--- tests/sml_versions_test.go | 21 +++++++++++++++++++++ 2 files changed, 35 insertions(+), 3 deletions(-) diff --git a/mise.toml b/mise.toml index fe23047d..bf4cfbd8 100644 --- a/mise.toml +++ b/mise.toml @@ -14,9 +14,20 @@ lockfile = true # File-based tasks are in the .mise/tasks/ directory [tasks.setup] -description = "Start docker containers and setup minio access" -run= "mise run setup_linux" -run_windows = "mise run setup_windows" +run = [ + "docker compose --file docker-compose-dev.yml up --detach --wait && sleep 5", + "mc alias set local http://localhost:9000 minio minio123", + "mc admin user svcacct remove local/ REPLACE_ME_KEY --dp || echo It is okay for this REMOVE command to fail if the account does not exist", + "mc admin user svcacct add local minio --access-key REPLACE_ME_KEY --secret-key REPLACE_ME_SECRET", + "mc anonymous set public local/smr" +] +run_windows = [ + "docker compose --file docker-compose-dev.yml up --detach --wait", + "mc alias set local http://localhost:9000 minio minio123", + "mc admin user svcacct remove local/ REPLACE_ME_KEY --dp || echo It is okay for this REMOVE command to fail if the account does not exist", + "mc admin user svcacct add local minio --access-key REPLACE_ME_KEY --secret-key REPLACE_ME_SECRET", + "mc anonymous set public local/smr" +] [tasks.api] description = "Run the API server. Make sure containers are running via `mise run setup` first." diff --git a/tests/sml_versions_test.go b/tests/sml_versions_test.go index 7a6be455..89a3bc87 100644 --- a/tests/sml_versions_test.go +++ b/tests/sml_versions_test.go @@ -14,6 +14,7 @@ import ( "testing" "time" + "github.com/99designs/gqlgen/graphql" "github.com/MarvinJWendt/testza" "github.com/spf13/viper" @@ -76,6 +77,26 @@ func TestSMLVersions(t *testing.T) { var versionID string var versionDate time.Time + updateDisclosure := authRequest(`mutation UpdateMod($mod_id: ModID!, $mod: UpdateMod!) { + updateMod(modId: $mod_id, mod: $mod) { + id + } + }`, token) + updateDisclosure.Var("mod_id", smlModID) + b := false + s := "no network use" + updateDisclosure.Var("mod", generated.UpdateMod{ + AiUseDisclosure: &generated.AIUseDisclosureInput{ + DisclosureType: generated.AIUseDisclosureTypeNoAiUsage, + }, + ToggleNetworkUse: &b, + NetworkUseDisclosure: graphql.OmittableOf(&s), + }) + var updateResponse struct { + UpdateMod *generated.Mod + } + testza.AssertNoError(t, client.Run(ctx, updateDisclosure, &updateResponse)) + t.Run("Create", func(t *testing.T) { t.Run("Create Version", func(t *testing.T) { createRequest := authRequest(`mutation CreateVersion($mod_id: ModID!) { From 13a294658e350072af25ab06bede3de204026adc Mon Sep 17 00:00:00 2001 From: rhit-silkaijr Date: Mon, 27 Apr 2026 17:09:59 -0400 Subject: [PATCH 064/100] fix: migrations and disclosure logic --- gql/resolver_mods.go | 10 ++- migrations/atlas.sum | 1 + ...20260427195353_add_ai_disclosure.down.sql} | 0 ...> 20260427195353_add_ai_disclosure.up.sql} | 0 migrations/sql/atlas.sum | 86 +++++++++---------- 5 files changed, 50 insertions(+), 47 deletions(-) create mode 100644 migrations/atlas.sum rename migrations/sql/{000031_add_ai_disclosure.down.sql => 20260427195353_add_ai_disclosure.down.sql} (100%) rename migrations/sql/{000031_add_ai_disclosure.up.sql => 20260427195353_add_ai_disclosure.up.sql} (100%) diff --git a/gql/resolver_mods.go b/gql/resolver_mods.go index 1d15fd18..f6f33e0e 100644 --- a/gql/resolver_mods.go +++ b/gql/resolver_mods.go @@ -203,10 +203,12 @@ func (r *mutationResolver) UpdateMod(ctx context.Context, modID string, updateMo SetAIDisclosureINNF(updateMod.AiUseDisclosure, dbUpdate.SetAiUseDisclosure) newNetworkDisclosure, isSet := updateMod.NetworkUseDisclosure.ValueOK() - if isSet && newNetworkDisclosure != nil { - dbUpdate.SetNetworkUseDisclosure(*newNetworkDisclosure) - } else if newNetworkDisclosure == nil && dbMod.NetworkUseDisclosure != nil { - return nil, errors.New("this mod already has a network use disclosure, and thus it cannot be cleared") + if isSet { + if newNetworkDisclosure != nil { + dbUpdate.SetNetworkUseDisclosure(*newNetworkDisclosure) + } else if dbMod.NetworkUseDisclosure != nil { + return nil, errors.New("this mod already has a network use disclosure, and thus it cannot be cleared") + } } if updateMod.Logo != nil { diff --git a/migrations/atlas.sum b/migrations/atlas.sum new file mode 100644 index 00000000..7d9c0f31 --- /dev/null +++ b/migrations/atlas.sum @@ -0,0 +1 @@ +h1:47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU= diff --git a/migrations/sql/000031_add_ai_disclosure.down.sql b/migrations/sql/20260427195353_add_ai_disclosure.down.sql similarity index 100% rename from migrations/sql/000031_add_ai_disclosure.down.sql rename to migrations/sql/20260427195353_add_ai_disclosure.down.sql diff --git a/migrations/sql/000031_add_ai_disclosure.up.sql b/migrations/sql/20260427195353_add_ai_disclosure.up.sql similarity index 100% rename from migrations/sql/000031_add_ai_disclosure.up.sql rename to migrations/sql/20260427195353_add_ai_disclosure.up.sql diff --git a/migrations/sql/atlas.sum b/migrations/sql/atlas.sum index ace337ec..4f1c0ecd 100644 --- a/migrations/sql/atlas.sum +++ b/migrations/sql/atlas.sum @@ -1,43 +1,43 @@ -h1:LxCHvYeNKcfUukTgQckplRta6/yjow1BiMX6YW5zbaE= -000001_create_initial_tables.up.sql h1:D0NgABAZGONTBH9/T9MFCYkbw/LSee86lP4XsQYMx98= -000002_create_user_group_table.up.sql h1:+fOxjCFeU5GoVTO5cXzxWsMZtz2Qz3tal9vT5kdYuFI= -000003_add_last_version_date_mod_table.up.sql h1:t73i5gC2YrwlIcDn/MZmznGnArF0aA8dLYuA9NnVtbE= -000004_add_more_oauth_options.up.sql h1:UfHJiPBYFTjXHL17LQZ4ZgV/DVrghwDXNW8/RbODtaE= -000005_create_user_group_table.up.sql h1:EJZXV0bZqwqoVa6P6PmaolKRIYicgIsChRGggsiJ6lo= -000006_sml_versions_table.up.sql h1:5XDtXz2jQbdvo60fy5B5Ce8IjIv8ps3Ft24WhUCeJgg= -000007_relationships.up.sql h1:1WYFF1wqu0RkWwkWaNwb2A/oB9w9QPG5arrp0mT4WqE= -000008_version_dependencies.up.sql h1:N1z3vwv9inkKVLNsFif1At1UKAcAESxcfxJvkFOcSDs= -000009_bootstrap_versions_table.up.sql h1:w/1bXOeE/oXZCpWrBAZqHRZpeobofO2u4fYQvLu1oGg= -000010_add_version_dependency_optional.up.sql h1:9cHZYZ6TO05wvf0KCfl7+kZJLtLk3UDzF82AN1Hn7l0= -000011_add_mod_reference.up.sql h1:xGokeJASPuf5VnbehlA+fK8zHpevyeZG+r7u1z3tBrA= -000012_add_version_metadata.up.sql h1:redOIFgiRg6ggVs6tmxXvwxJS1xrCrqMdNFm/Buc5d0= -000013_add_version_mod_reference.up.sql h1:JgnH3EpwY4tulGYAlwVztW+eXG6Fh2/rHyDQm5mxfrk= -000014_add_version_split_hidden.up.sql h1:m8+Ai12K/ktPMD5vnKzTmf826pJfsICbQ1YcIruwO4U= -000015_enable_trgm.up.sql h1:K8lVS0W+1MVfuavMgRHplm8mTJowQojOj6zYux6QqHQ= -000016_add_user_groups_dates.up.sql h1:UyASdzLCBLFXhSFU5DkIznmy/2pIj8NeiL86oac0R7I= -000017_add_version_indexes.up.sql h1:n+BDJKAqvkp+z2faXsIgwNLwqMsSS307rKHCfUou4zQ= -000018_add_announcements.up.sql h1:X6OHBgP8fHQwcfRemioYD+CbipdZW5IzQiXwz2aCaK0= -000019_add_tags.up.sql h1:XStGF4N1GNGY2HTgY8YjpCTB7+V9mj431P5zSGJ3Ewo= -000020_add_compatibility.up.sql h1:Q4v3tPOH5xhFjxHkgxBz6zAsDieltsjM0s0WgrF9C8g= -000021_add_mod_platform.up.sql h1:Gzea7AIiEqsxWT6ti3ZtnzlwaHcx8U93uVY/+A9QJrc= -000022_update_mod_targets.up.sql h1:9VZrns7VPceKdEfhfchdbss3GBP+Ih7/SJjs+sA4UnM= -000023_migrate_versions_to_targets.up.sql h1:NytNFpV/ug5hxc6OM1RWvI+eJ3n1QFsERjWZ3dP3fig= -000024_add_sml_engine_version.up.sql h1:s1fzd/7sjyxtfFuh8bFbGCLTlZLjryMV6GHtJNnuTaY= -000025_add_tag_description.up.sql h1:7UdZZTJ70RJ+tA9M+EiVh+KqwwljYdPw27UQxrMedH8= -000026_add_rng.up.sql h1:y2Q8DUV27wx8/eKvTPduSU0RseM7wfCU79x1tvMmRY0= -000027_add_id_columns.up.sql h1:lILQ8le1eipNJuHuqKMaRK6RW8jBGpWOz8GDhiKEAIo= -000028_increase_token_length_limit.up.sql h1:U70DVHXY6f6vqwKxOQJzhnEZmYE5ML0+7Jc5Vh4tXb4= -000029_sml_as_mod.up.sql h1:e6Foai/N7l/zYvntn9+kNKGGPagGWYDaJ5X6XGse4lY= -000030_db_normalization.up.sql h1:rF0E/b2sF9jz3rzm1/1Ql0/TkMirgaj4w0jXTo65TMo= -000031_add_ai_disclosure.up.sql h1:Siw5fyq4umknLg07i6eZ0vL/aZo3zgMSMUbO2eajwg8= -20240705180551_initial_transfer_to_atlas.up.sql h1:X5RA/qg+7SR4DNbdcOXThA7hSwlglymip9576RBHFjM= -20240815141045_drop_version_stability_enum.up.sql h1:6HjZLoyD5QwABcDoqIlnp+Pk6gFtY59ocQVQjtBZgeY= -20240818235330_index_fixes.up.sql h1:oY4NH4kMD0dZkOq33NR1Qg3nkYkKs9q+t61a5UsYYQU= -20240819092347_user_indexes.up.sql h1:7Txs5qB6YmVM0sYKC7kinQkSkIgKnT/9mGnD8EJ+msM= -20240823233610_add_mod_toggles.up.sql h1:xaMh9z7iWYTlvC0JR/vQmbQkpOIPLoFHpKPr2iudrPo= -20240826153722_add_thumbhash.up.sql h1:CWFghCAx4Vre4+vGzvTnV4G0Y723Z0IC2dHPJ2wMUbA= -20240930114249_add_required_on_remote.up.sql h1:u/3RDwO37gIPee+lof1d5QRdVdAdpWp5Gj0Qu2t89vY= -20241002191358_state_fix.up.sql h1:OkjuDkSNBJRo/+cXiZDuPjt2bBTaFx1m7+TPsq+7/Dw= -20241003161005_create_virustotal_results_table.up.sql h1:7lEbuSM3kGiWfhtrwNNPFjHSqyyrvMcXipVyDY5q9SA= -20241008092121_nullable_mod_logo.up.sql h1:CcOIBVLyiGIRzWJ4Rv86HklOBiIO8lzHnXWuLE/xFDU= -20250411023207_AddNetworkUsageDisclosure.up.sql h1:p1WWXHTvdK5CNiTHpPudzFDWd2xdQp/xjuuqSbUJtLw= +h1:F8w0+0F7TbP37g7d/NdLN+1DbyiTt9GFu1T1zLOaOc4= +000001_create_initial_tables.up.sql h1:eALkiKdKPk4+PRs015wQKce0l5buzaQIwU8o2Ee9MH4= +000002_create_user_group_table.up.sql h1:lbhpvkwy073swwmvFfCmRN9Xbib3MAhfNx/A1czmiho= +000003_add_last_version_date_mod_table.up.sql h1:be83iHBYpXLRUm+wlET6GJSgTmTEpSSW9aWQesroOhE= +000004_add_more_oauth_options.up.sql h1:3e3eXcmwKXqEQ0foDeFc1RZr54iQbdJLylFfGL4IlgY= +000005_create_user_group_table.up.sql h1:FUEVlyh/017ER3NItEniPtyouKPPFFNVin6jKuOO9P8= +000006_sml_versions_table.up.sql h1:NFcnIrkTLVH7U3KYTghenuGtXBxUkULShyWxsyUmvvU= +000007_relationships.up.sql h1:/jYyGHk37I2WiAGZZrDjCskNKyd4z/e+vQAU0U78GtA= +000008_version_dependencies.up.sql h1:/m+95QDQ8Ifsmqb2mqgN5AFlahi7rNfvLF5tE2zahRw= +000009_bootstrap_versions_table.up.sql h1:9M2iF5uclsrQ2UFJVVJLS1C6qvl2MULYIBRVUNox9Qw= +000010_add_version_dependency_optional.up.sql h1:P8auDs4F1fDyottTkgTsg8VXnVLfqY5MRWIBv7I0C4w= +000011_add_mod_reference.up.sql h1:isrLJWetXEYXPpJUrgXrtoXFhMdGUEOSgPkVzDYJ8Dc= +000012_add_version_metadata.up.sql h1:6nSxmKSOc3Mh/CrG8u/0p2drcpGPp1oeFzYjU2o4kUY= +000013_add_version_mod_reference.up.sql h1:mAJLIJaleQ5LV7oa++H1aRR+bJXM+f+j9nhYaEHQuj0= +000014_add_version_split_hidden.up.sql h1:93XZVBAGSZzO6uSC4s4FnYaiUvxvWcF7U5ZljNeQNR8= +000015_enable_trgm.up.sql h1:P+/V9+tbg8360tjbUobwebQnzstCqBQfZi7Hjst6FtQ= +000016_add_user_groups_dates.up.sql h1:/uyoHsFRGxGR1A3tn+nCZfxXfVROOE/YPPP7mLvjsA4= +000017_add_version_indexes.up.sql h1:i2MtlvEnFJwUdkRKJSUXE/L8QYkLNWk2bI17GiWw4do= +000018_add_announcements.up.sql h1:O34449SeAEbKOL1fZ3zATU12lwYvs94l8q+7Exos70Y= +000019_add_tags.up.sql h1:j6kn0pcdq7iy49jFWvtH7EpXjUjLsKxx3BFMQ8Lw27Y= +000020_add_compatibility.up.sql h1:HzVpQKnQXPiGaANjSVRdXPsSwgoYqYTvBYKaaOp2/cE= +000021_add_mod_platform.up.sql h1:DtdL0wqaqDDOy2q2HRZQ9Evr2PekSb4YdIt4Jn6w4sM= +000022_update_mod_targets.up.sql h1:OcblXeFSlcsGrxteqCVEWLvH/p7ReDXU3JtT+oX0eHM= +000023_migrate_versions_to_targets.up.sql h1:KEn9N6MrhSuRYyL84HpUAm13D2Qjd/LBB5hV3BmOUX0= +000024_add_sml_engine_version.up.sql h1:7bti1EojYknXOgjB3aHdv66DRISdCL72w+FHrDHjJF8= +000025_add_tag_description.up.sql h1:aSWwcp4uXkcvOEMAz3Dy6ZNxxtv6Somv0E0gzLtHA1I= +000026_add_rng.up.sql h1:JHwFMXBMWyTmdQXJDPRIXx7NYGd38T/BX9GffnBXq1k= +000027_add_id_columns.up.sql h1:sqAPyeXrgNCBVAMnt1VsNmqwZmrZxV+rjUQBrs9P0jU= +000028_increase_token_length_limit.up.sql h1:d5p1luBDnA9YvxQUD4nHHa3DdxdCnXxmpn7QDb5z4Tc= +000029_sml_as_mod.up.sql h1:I2Xbvq3Pu/rm7WbQbm+O2nlmUbka7lqM9pbPGKZdGRk= +000030_db_normalization.up.sql h1:nb7WSjHx9l5HIAAk/asnIltT7Eovb8K6g8Vv/qFdYLY= +20240705180551_initial_transfer_to_atlas.up.sql h1:X3BdZBaeuj/C+AolM1JH7PWy9ZCxqoiuYiqppXwvEEs= +20240815141045_drop_version_stability_enum.up.sql h1:Ui82xZfkbwI3Zjp7Y/L/uPDdUJ/ODJoxBPQ9aNQ4aT0= +20240818235330_index_fixes.up.sql h1:b69YMKa7FZlDJOBT9frmRx91+XFKBoraxhrkQTPNV1w= +20240819092347_user_indexes.up.sql h1:+9kXilutFbxW6AE/VA0AbvA9/U5mJe8ClPwz1vdbs7I= +20240823233610_add_mod_toggles.up.sql h1:eEK/n0xy1gKfWzgFBg7fFHtBGFaHeY5y04+9AS9jX+U= +20240826153722_add_thumbhash.up.sql h1:WktUCoRgVowDeShjfBe5GoIySaoiWrMS9pJKaW8O+BU= +20240930114249_add_required_on_remote.up.sql h1:SBZHTXEQCRC1INlK2nNXGQ8Sg5Cvqz9m8WcjKnrc9G4= +20241002191358_state_fix.up.sql h1:ai/YochcoNo8vpT09v9zHUq7AB4R6XpAU0ecFRghbmw= +20241003161005_create_virustotal_results_table.up.sql h1:8cqfx2/sIMFcvTbhvz2BS8xcz6bVDnYmKZ8RGDYIdms= +20241008092121_nullable_mod_logo.up.sql h1:pOV345UdHiAwZUgK9yzxRHK8ye7umoCoUG02qbsgAlY= +20250411023207_AddNetworkUsageDisclosure.up.sql h1:e3HqWusKNEh8WROCPTyN5vP64qNkvBKbVuEkCPUxXjk= +20260427195353_add_ai_disclosure.up.sql h1:gK6CfoH4J1NZ5tpocY+OQs6wH9+z5kYE3OGnPWIW/A8= From a3aba1ded0539f4006bcbfd5b57ece7f475af432 Mon Sep 17 00:00:00 2001 From: rhit-zhangl8 <112708732+rhit-zhangl8@users.noreply.github.com> Date: Mon, 27 Apr 2026 17:24:01 -0400 Subject: [PATCH 065/100] fix: addressed comments on PR --- generated/generated.go | 11 +---------- generated/models_gen.go | 4 +--- gql/resolver_mods.go | 12 +++++++----- gql/resolver_versions.go | 2 +- migrations/sql/atlas.sum | 4 ++-- mise.lock | 30 +++++++++++++++--------------- mise.toml | 2 +- schemas/mod.graphql | 2 -- tests/ai_use_disclosure_test.go | 33 ++------------------------------- 9 files changed, 30 insertions(+), 70 deletions(-) diff --git a/generated/generated.go b/generated/generated.go index c95cb995..1c83614e 100644 --- a/generated/generated.go +++ b/generated/generated.go @@ -2781,7 +2781,6 @@ enum ModFields { } enum AIUseDisclosureType { - no_disclosure no_ai_usage ai_usage runtime_ai_usage @@ -2865,7 +2864,6 @@ input NewMod { tagIDs: [TagID!] toggle_network_use: Boolean toggle_explicit_content: Boolean - ai_use_disclosure: AIUseDisclosureInput } input UpdateMod { @@ -21885,7 +21883,7 @@ func (ec *executionContext) unmarshalInputNewMod(ctx context.Context, obj any) ( asMap[k] = v } - fieldsInOrder := [...]string{"name", "short_description", "full_description", "logo", "source_url", "mod_reference", "hidden", "tagIDs", "toggle_network_use", "toggle_explicit_content", "ai_use_disclosure"} + fieldsInOrder := [...]string{"name", "short_description", "full_description", "logo", "source_url", "mod_reference", "hidden", "tagIDs", "toggle_network_use", "toggle_explicit_content"} for _, k := range fieldsInOrder { v, ok := asMap[k] if !ok { @@ -21962,13 +21960,6 @@ func (ec *executionContext) unmarshalInputNewMod(ctx context.Context, obj any) ( return it, err } it.ToggleExplicitContent = data - case "ai_use_disclosure": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("ai_use_disclosure")) - data, err := ec.unmarshalOAIUseDisclosureInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAIUseDisclosureInput(ctx, v) - if err != nil { - return it, err - } - it.AiUseDisclosure = data } } diff --git a/generated/models_gen.go b/generated/models_gen.go index 7d2fe03f..375c5b77 100644 --- a/generated/models_gen.go +++ b/generated/models_gen.go @@ -366,14 +366,12 @@ type VirustotalResult struct { type AIUseDisclosureType string const ( - AIUseDisclosureTypeNoDisclosure AIUseDisclosureType = "no_disclosure" AIUseDisclosureTypeNoAiUsage AIUseDisclosureType = "no_ai_usage" AIUseDisclosureTypeAiUsage AIUseDisclosureType = "ai_usage" AIUseDisclosureTypeRuntimeAiUsage AIUseDisclosureType = "runtime_ai_usage" ) var AllAIUseDisclosureType = []AIUseDisclosureType{ - AIUseDisclosureTypeNoDisclosure, AIUseDisclosureTypeNoAiUsage, AIUseDisclosureTypeAiUsage, AIUseDisclosureTypeRuntimeAiUsage, @@ -381,7 +379,7 @@ var AllAIUseDisclosureType = []AIUseDisclosureType{ func (e AIUseDisclosureType) IsValid() bool { switch e { - case AIUseDisclosureTypeNoDisclosure, AIUseDisclosureTypeNoAiUsage, AIUseDisclosureTypeAiUsage, AIUseDisclosureTypeRuntimeAiUsage: + case AIUseDisclosureTypeNoAiUsage, AIUseDisclosureTypeAiUsage, AIUseDisclosureTypeRuntimeAiUsage: return true } return false diff --git a/gql/resolver_mods.go b/gql/resolver_mods.go index f6f33e0e..b095c53a 100644 --- a/gql/resolver_mods.go +++ b/gql/resolver_mods.go @@ -194,13 +194,15 @@ func (r *mutationResolver) UpdateMod(ctx context.Context, modID string, updateMo SetINNF(updateMod.ToggleNetworkUse, dbUpdate.SetToggleNetworkUse) SetINNF(updateMod.ToggleExplicitContent, dbUpdate.SetToggleExplicitContent) - if dbMod.AiUseDisclosure != nil && dbMod.AiUseDisclosure.DisclosureType != generated.AIUseDisclosureTypeNoDisclosure.String() && updateMod.AiUseDisclosure.DisclosureType == generated.AIUseDisclosureTypeNoDisclosure { + aiDisclosureUpdate, isSet := graphql.OmittableOf(updateMod.AiUseDisclosure).ValueOK() + if isSet && aiDisclosureUpdate != nil { + if requiresMessage(updateMod.AiUseDisclosure.DisclosureType) && *updateMod.AiUseDisclosure.DisclosureString == "" { + return nil, errors.New("you need to input a disclosure message when disclosing AI usage") + } + SetAIDisclosureINNF(updateMod.AiUseDisclosure, dbUpdate.SetAiUseDisclosure) + } else if aiDisclosureUpdate == nil && dbMod.AiUseDisclosure != nil { return nil, errors.New("this mod already has an AI use disclosure, and thus it cannot be cleared") } - if requiresMessage(updateMod.AiUseDisclosure.DisclosureType) && *updateMod.AiUseDisclosure.DisclosureString == "" { - return nil, errors.New("you need to input a disclosure message when disclosing AI usage") - } - SetAIDisclosureINNF(updateMod.AiUseDisclosure, dbUpdate.SetAiUseDisclosure) newNetworkDisclosure, isSet := updateMod.NetworkUseDisclosure.ValueOK() if isSet { diff --git a/gql/resolver_versions.go b/gql/resolver_versions.go index 4ad811da..05e737d8 100644 --- a/gql/resolver_versions.go +++ b/gql/resolver_versions.go @@ -51,7 +51,7 @@ func (r *mutationResolver) CreateVersion(ctx context.Context, modID string) (str return "", errors.New("you must update your mod reference on the site to match your mod_reference in your data.json") } - if mod.AiUseDisclosure == nil || mod.AiUseDisclosure.DisclosureType == generated.AIUseDisclosureTypeNoDisclosure.String() { + if mod.AiUseDisclosure == nil { return "", errors.New("you must update an AI use disclosure on the site before uploading a version") } diff --git a/migrations/sql/atlas.sum b/migrations/sql/atlas.sum index 4f1c0ecd..35c047f5 100644 --- a/migrations/sql/atlas.sum +++ b/migrations/sql/atlas.sum @@ -1,4 +1,4 @@ -h1:F8w0+0F7TbP37g7d/NdLN+1DbyiTt9GFu1T1zLOaOc4= +h1:Df+fyeJlopmBz0REtcG4jhcB2/JkFpb3O3fTH9B4KdY= 000001_create_initial_tables.up.sql h1:eALkiKdKPk4+PRs015wQKce0l5buzaQIwU8o2Ee9MH4= 000002_create_user_group_table.up.sql h1:lbhpvkwy073swwmvFfCmRN9Xbib3MAhfNx/A1czmiho= 000003_add_last_version_date_mod_table.up.sql h1:be83iHBYpXLRUm+wlET6GJSgTmTEpSSW9aWQesroOhE= @@ -40,4 +40,4 @@ h1:F8w0+0F7TbP37g7d/NdLN+1DbyiTt9GFu1T1zLOaOc4= 20241003161005_create_virustotal_results_table.up.sql h1:8cqfx2/sIMFcvTbhvz2BS8xcz6bVDnYmKZ8RGDYIdms= 20241008092121_nullable_mod_logo.up.sql h1:pOV345UdHiAwZUgK9yzxRHK8ye7umoCoUG02qbsgAlY= 20250411023207_AddNetworkUsageDisclosure.up.sql h1:e3HqWusKNEh8WROCPTyN5vP64qNkvBKbVuEkCPUxXjk= -20260427195353_add_ai_disclosure.up.sql h1:gK6CfoH4J1NZ5tpocY+OQs6wH9+z5kYE3OGnPWIW/A8= +20260427195353_add_ai_disclosure.up.sql h1:pwQggZN7y+GwN6kT0ifhKKntZ4xPpamW8UPIDYftB0c= diff --git a/mise.lock b/mise.lock index b161d121..b195a74b 100644 --- a/mise.lock +++ b/mise.lock @@ -33,36 +33,36 @@ checksum = "sha256:45fb732d67cf26a1568c3750a1629d762c2f7b6990995cd02c4b1bb0c3de5 url = "https://dl.min.io/client/mc/release/windows-amd64/archive/mc.RELEASE.2025-04-08T15-39-49Z" [[tools.atlas]] -version = "1.0.0" +version = "1.2.0" backend = "aqua:ariga/atlas" [tools.atlas."platforms.linux-arm64"] -checksum = "sha256:69a463cf6d51a93abeffbdc906b69f969c12e7a706a6d0a4e388b4ebd713c5f9" -url = "https://release.ariga.io/atlas/atlas-linux-arm64-v1.0.0" +checksum = "sha256:b76308f558d50d006add507f3ab86afc1147644519dd327f7f5fac6d02d4f595" +url = "https://release.ariga.io/atlas/atlas-linux-arm64-v1.2.0" [tools.atlas."platforms.linux-arm64-musl"] -checksum = "sha256:69a463cf6d51a93abeffbdc906b69f969c12e7a706a6d0a4e388b4ebd713c5f9" -url = "https://release.ariga.io/atlas/atlas-linux-arm64-v1.0.0" +checksum = "sha256:b76308f558d50d006add507f3ab86afc1147644519dd327f7f5fac6d02d4f595" +url = "https://release.ariga.io/atlas/atlas-linux-arm64-v1.2.0" [tools.atlas."platforms.linux-x64"] -checksum = "sha256:7147245d95af96cd1e90ef5cfd57aa9e9df2a9e7ca5a735ddf0a1230f325cee2" -url = "https://release.ariga.io/atlas/atlas-linux-amd64-v1.0.0" +checksum = "sha256:c12b889e3349f0e5610aec32fe327e5a6911a0e472754a0c381c30c7c0630e88" +url = "https://release.ariga.io/atlas/atlas-linux-amd64-v1.2.0" [tools.atlas."platforms.linux-x64-musl"] -checksum = "sha256:7147245d95af96cd1e90ef5cfd57aa9e9df2a9e7ca5a735ddf0a1230f325cee2" -url = "https://release.ariga.io/atlas/atlas-linux-amd64-v1.0.0" +checksum = "sha256:c12b889e3349f0e5610aec32fe327e5a6911a0e472754a0c381c30c7c0630e88" +url = "https://release.ariga.io/atlas/atlas-linux-amd64-v1.2.0" [tools.atlas."platforms.macos-arm64"] -checksum = "sha256:e7fb3098cc46cf8c2a84f5ed57f371f0ed80986d37f0f606ec464518c20518b5" -url = "https://release.ariga.io/atlas/atlas-darwin-arm64-v1.0.0" +checksum = "sha256:c0d8443a603991c337341a303abf3812cb9f12d74d0ec0d585245735f18c1224" +url = "https://release.ariga.io/atlas/atlas-darwin-arm64-v1.2.0" [tools.atlas."platforms.macos-x64"] -checksum = "sha256:29c140e14d7b359af9cb36a91661a882fd806d4de16867b08b8b948aeba7a507" -url = "https://release.ariga.io/atlas/atlas-darwin-amd64-v1.0.0" +checksum = "sha256:47f98e6f0d6a203f6c84e643f1ad99519fa8c2b5b59c177af3c449bd3ae0bb5a" +url = "https://release.ariga.io/atlas/atlas-darwin-amd64-v1.2.0" [tools.atlas."platforms.windows-x64"] -checksum = "sha256:abf36ade639454afe25f646a09eb5c46629b0b06c640b565496fc5d45e56f8ec" -url = "https://release.ariga.io/atlas/atlas-windows-amd64-v1.0.0.exe" +checksum = "sha256:5dbf3e7ec63306bce97904c6ad6ecb82633f0299b98c73987607204d551a80b1" +url = "https://release.ariga.io/atlas/atlas-windows-amd64-v1.2.0.exe" [[tools.go]] version = "1.24.4" diff --git a/mise.toml b/mise.toml index bf4cfbd8..55bc4589 100644 --- a/mise.toml +++ b/mise.toml @@ -1,6 +1,6 @@ [tools] "aqua:minio/mc" = "RELEASE.2025-04-08T15-39-49Z" -atlas = "1.0.0" +atlas = "latest" go = "1.24.4" go-junit-report = "2.1.0" golangci-lint = "2.1.6" diff --git a/schemas/mod.graphql b/schemas/mod.graphql index 81da4dee..96339add 100755 --- a/schemas/mod.graphql +++ b/schemas/mod.graphql @@ -16,7 +16,6 @@ enum ModFields { } enum AIUseDisclosureType { - no_disclosure no_ai_usage ai_usage runtime_ai_usage @@ -100,7 +99,6 @@ input NewMod { tagIDs: [TagID!] toggle_network_use: Boolean toggle_explicit_content: Boolean - ai_use_disclosure: AIUseDisclosureInput } input UpdateMod { diff --git a/tests/ai_use_disclosure_test.go b/tests/ai_use_disclosure_test.go index aa91a16c..4aa5f5e7 100644 --- a/tests/ai_use_disclosure_test.go +++ b/tests/ai_use_disclosure_test.go @@ -45,31 +45,6 @@ func TestAiDisclosure(t *testing.T) { testza.AssertNil(t, createResponse.CreateMod.AiUseDisclosure) modID := createResponse.CreateMod.ID - // Passing nil disclosure is not allowed - failedUpdateNil := authRequest(`mutation ($id: ModID!, $ai_use_disclosure: AIUseDisclosureInput!) { - updateMod( - modId: $id - mod: { - ai_use_disclosure: $ai_use_disclosure, - } - ) { - id - ai_use_disclosure { - disclosure_type - disclosure_string - } - } - }`, token) - failedUpdateNil.Var("id", modID) - failedUpdateNil.Var("ai_use_disclosure", nil) - - var failedNilResponse struct { - UpdateMod generated.Mod - } - err = client.Run(ctx, failedUpdateNil, &failedNilResponse) - testza.AssertNotNil(t, err) - testza.AssertContains(t, err.Error(), "cannot be null") - // Empty string disclosure message is not allowed failedUpdateEmptyString := authRequest(`mutation ($id: ModID!, $ai_use_disclosure: AIUseDisclosureInput!) { updateMod( @@ -145,16 +120,12 @@ func TestAiDisclosure(t *testing.T) { } }`, token) failedUpdateUndisclosed.Var("id", modID) - messageDoesNotMatter := "grumbus" - failedUpdateUndisclosed.Var("ai_use_disclosure", generated.AIUseDisclosureInput{ - DisclosureType: generated.AIUseDisclosureTypeNoDisclosure, - DisclosureString: &messageDoesNotMatter, - }) + failedUpdateUndisclosed.Var("ai_use_disclosure", nil) var failedUpdateUndisclosedResponse struct { UpdateMod generated.Mod } err = client.Run(ctx, failedUpdateUndisclosed, &failedUpdateUndisclosedResponse) testza.AssertNotNil(t, err) - testza.AssertContains(t, err.Error(), "this mod already has an AI use disclosure, and thus it cannot be cleared") + testza.AssertContains(t, err.Error(), "graphql: cannot be null") } From 007db23914b6497338ade0c010881d9f391bac1d Mon Sep 17 00:00:00 2001 From: rhit-zhangl8 <112708732+rhit-zhangl8@users.noreply.github.com> Date: Mon, 27 Apr 2026 18:27:59 -0400 Subject: [PATCH 066/100] fix: reverted changes, added no_disclosure type to enum --- generated/generated.go | 1 + generated/models_gen.go | 4 +++- gql/resolver_mods.go | 4 ++-- schemas/mod.graphql | 1 + 4 files changed, 7 insertions(+), 3 deletions(-) diff --git a/generated/generated.go b/generated/generated.go index 1c83614e..8d970ccd 100644 --- a/generated/generated.go +++ b/generated/generated.go @@ -2781,6 +2781,7 @@ enum ModFields { } enum AIUseDisclosureType { + no_disclosure no_ai_usage ai_usage runtime_ai_usage diff --git a/generated/models_gen.go b/generated/models_gen.go index 375c5b77..7d2fe03f 100644 --- a/generated/models_gen.go +++ b/generated/models_gen.go @@ -366,12 +366,14 @@ type VirustotalResult struct { type AIUseDisclosureType string const ( + AIUseDisclosureTypeNoDisclosure AIUseDisclosureType = "no_disclosure" AIUseDisclosureTypeNoAiUsage AIUseDisclosureType = "no_ai_usage" AIUseDisclosureTypeAiUsage AIUseDisclosureType = "ai_usage" AIUseDisclosureTypeRuntimeAiUsage AIUseDisclosureType = "runtime_ai_usage" ) var AllAIUseDisclosureType = []AIUseDisclosureType{ + AIUseDisclosureTypeNoDisclosure, AIUseDisclosureTypeNoAiUsage, AIUseDisclosureTypeAiUsage, AIUseDisclosureTypeRuntimeAiUsage, @@ -379,7 +381,7 @@ var AllAIUseDisclosureType = []AIUseDisclosureType{ func (e AIUseDisclosureType) IsValid() bool { switch e { - case AIUseDisclosureTypeNoAiUsage, AIUseDisclosureTypeAiUsage, AIUseDisclosureTypeRuntimeAiUsage: + case AIUseDisclosureTypeNoDisclosure, AIUseDisclosureTypeNoAiUsage, AIUseDisclosureTypeAiUsage, AIUseDisclosureTypeRuntimeAiUsage: return true } return false diff --git a/gql/resolver_mods.go b/gql/resolver_mods.go index b095c53a..37a4fe47 100644 --- a/gql/resolver_mods.go +++ b/gql/resolver_mods.go @@ -195,12 +195,12 @@ func (r *mutationResolver) UpdateMod(ctx context.Context, modID string, updateMo SetINNF(updateMod.ToggleExplicitContent, dbUpdate.SetToggleExplicitContent) aiDisclosureUpdate, isSet := graphql.OmittableOf(updateMod.AiUseDisclosure).ValueOK() - if isSet && aiDisclosureUpdate != nil { + if isSet && aiDisclosureUpdate != nil && aiDisclosureUpdate.DisclosureType != generated.AIUseDisclosureTypeNoDisclosure { if requiresMessage(updateMod.AiUseDisclosure.DisclosureType) && *updateMod.AiUseDisclosure.DisclosureString == "" { return nil, errors.New("you need to input a disclosure message when disclosing AI usage") } SetAIDisclosureINNF(updateMod.AiUseDisclosure, dbUpdate.SetAiUseDisclosure) - } else if aiDisclosureUpdate == nil && dbMod.AiUseDisclosure != nil { + } else if (aiDisclosureUpdate == nil || aiDisclosureUpdate.DisclosureType == generated.AIUseDisclosureTypeNoDisclosure) && dbMod.AiUseDisclosure != nil && dbMod.AiUseDisclosure.DisclosureType != generated.AIUseDisclosureTypeNoDisclosure.String() { return nil, errors.New("this mod already has an AI use disclosure, and thus it cannot be cleared") } diff --git a/schemas/mod.graphql b/schemas/mod.graphql index 96339add..1d62e4cd 100755 --- a/schemas/mod.graphql +++ b/schemas/mod.graphql @@ -16,6 +16,7 @@ enum ModFields { } enum AIUseDisclosureType { + no_disclosure no_ai_usage ai_usage runtime_ai_usage From 2c71bb3417a990e37b6d79acb0f9588ed7a40d0b Mon Sep 17 00:00:00 2001 From: rhit-silkaijr Date: Mon, 27 Apr 2026 19:00:02 -0400 Subject: [PATCH 067/100] fix: readding ai_use_disclosure to NewMod --- generated/generated.go | 10 +++++++++- schemas/mod.graphql | 1 + 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/generated/generated.go b/generated/generated.go index 8d970ccd..c95cb995 100644 --- a/generated/generated.go +++ b/generated/generated.go @@ -2865,6 +2865,7 @@ input NewMod { tagIDs: [TagID!] toggle_network_use: Boolean toggle_explicit_content: Boolean + ai_use_disclosure: AIUseDisclosureInput } input UpdateMod { @@ -21884,7 +21885,7 @@ func (ec *executionContext) unmarshalInputNewMod(ctx context.Context, obj any) ( asMap[k] = v } - fieldsInOrder := [...]string{"name", "short_description", "full_description", "logo", "source_url", "mod_reference", "hidden", "tagIDs", "toggle_network_use", "toggle_explicit_content"} + fieldsInOrder := [...]string{"name", "short_description", "full_description", "logo", "source_url", "mod_reference", "hidden", "tagIDs", "toggle_network_use", "toggle_explicit_content", "ai_use_disclosure"} for _, k := range fieldsInOrder { v, ok := asMap[k] if !ok { @@ -21961,6 +21962,13 @@ func (ec *executionContext) unmarshalInputNewMod(ctx context.Context, obj any) ( return it, err } it.ToggleExplicitContent = data + case "ai_use_disclosure": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("ai_use_disclosure")) + data, err := ec.unmarshalOAIUseDisclosureInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAIUseDisclosureInput(ctx, v) + if err != nil { + return it, err + } + it.AiUseDisclosure = data } } diff --git a/schemas/mod.graphql b/schemas/mod.graphql index 1d62e4cd..81da4dee 100755 --- a/schemas/mod.graphql +++ b/schemas/mod.graphql @@ -100,6 +100,7 @@ input NewMod { tagIDs: [TagID!] toggle_network_use: Boolean toggle_explicit_content: Boolean + ai_use_disclosure: AIUseDisclosureInput } input UpdateMod { From 039eb30fe1d770d7e8cd9d8be228a805836a757d Mon Sep 17 00:00:00 2001 From: rhit-silkaijr Date: Mon, 27 Apr 2026 19:05:49 -0400 Subject: [PATCH 068/100] fix: hash migration --- migrations/sql/atlas.sum | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/migrations/sql/atlas.sum b/migrations/sql/atlas.sum index 35c047f5..4f1c0ecd 100644 --- a/migrations/sql/atlas.sum +++ b/migrations/sql/atlas.sum @@ -1,4 +1,4 @@ -h1:Df+fyeJlopmBz0REtcG4jhcB2/JkFpb3O3fTH9B4KdY= +h1:F8w0+0F7TbP37g7d/NdLN+1DbyiTt9GFu1T1zLOaOc4= 000001_create_initial_tables.up.sql h1:eALkiKdKPk4+PRs015wQKce0l5buzaQIwU8o2Ee9MH4= 000002_create_user_group_table.up.sql h1:lbhpvkwy073swwmvFfCmRN9Xbib3MAhfNx/A1czmiho= 000003_add_last_version_date_mod_table.up.sql h1:be83iHBYpXLRUm+wlET6GJSgTmTEpSSW9aWQesroOhE= @@ -40,4 +40,4 @@ h1:Df+fyeJlopmBz0REtcG4jhcB2/JkFpb3O3fTH9B4KdY= 20241003161005_create_virustotal_results_table.up.sql h1:8cqfx2/sIMFcvTbhvz2BS8xcz6bVDnYmKZ8RGDYIdms= 20241008092121_nullable_mod_logo.up.sql h1:pOV345UdHiAwZUgK9yzxRHK8ye7umoCoUG02qbsgAlY= 20250411023207_AddNetworkUsageDisclosure.up.sql h1:e3HqWusKNEh8WROCPTyN5vP64qNkvBKbVuEkCPUxXjk= -20260427195353_add_ai_disclosure.up.sql h1:pwQggZN7y+GwN6kT0ifhKKntZ4xPpamW8UPIDYftB0c= +20260427195353_add_ai_disclosure.up.sql h1:gK6CfoH4J1NZ5tpocY+OQs6wH9+z5kYE3OGnPWIW/A8= From 58dece6a7eaf6f46bc80d42187083ba3b9c5bd9c Mon Sep 17 00:00:00 2001 From: Rob B Date: Mon, 27 Apr 2026 19:42:38 -0400 Subject: [PATCH 069/100] fix: mise setup command regression in 14f8197d187b807e68218ccab57d34d66f86a2dd --- mise.toml | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) diff --git a/mise.toml b/mise.toml index 55bc4589..f63297bd 100644 --- a/mise.toml +++ b/mise.toml @@ -14,20 +14,9 @@ lockfile = true # File-based tasks are in the .mise/tasks/ directory [tasks.setup] -run = [ - "docker compose --file docker-compose-dev.yml up --detach --wait && sleep 5", - "mc alias set local http://localhost:9000 minio minio123", - "mc admin user svcacct remove local/ REPLACE_ME_KEY --dp || echo It is okay for this REMOVE command to fail if the account does not exist", - "mc admin user svcacct add local minio --access-key REPLACE_ME_KEY --secret-key REPLACE_ME_SECRET", - "mc anonymous set public local/smr" -] -run_windows = [ - "docker compose --file docker-compose-dev.yml up --detach --wait", - "mc alias set local http://localhost:9000 minio minio123", - "mc admin user svcacct remove local/ REPLACE_ME_KEY --dp || echo It is okay for this REMOVE command to fail if the account does not exist", - "mc admin user svcacct add local minio --access-key REPLACE_ME_KEY --secret-key REPLACE_ME_SECRET", - "mc anonymous set public local/smr" -] +description = "Start docker containers and setup minio access. -ci flag uses plain output for ease of reading CI logs" +run= "mise run setup_linux" +run_windows = "mise run setup_windows" [tasks.api] description = "Run the API server. Make sure containers are running via `mise run setup` first." From 2c6962d5e92ff8492347a9e5ad56b0392616c0fb Mon Sep 17 00:00:00 2001 From: Rob B Date: Mon, 27 Apr 2026 19:43:11 -0400 Subject: [PATCH 070/100] fix: `mark_chmod_execute` task can now add files to index --- .mise/tasks/mark_chmod_execute.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.mise/tasks/mark_chmod_execute.ps1 b/.mise/tasks/mark_chmod_execute.ps1 index 7c08a782..4ac9450c 100644 --- a/.mise/tasks/mark_chmod_execute.ps1 +++ b/.mise/tasks/mark_chmod_execute.ps1 @@ -5,5 +5,5 @@ $shFiles = Get-ChildItem -Path "./.mise/tasks" -Filter "*.sh" -File foreach ($file in $shFiles) { Write-Host "Setting Linux execute permission on $($file.Name)" # https://git-scm.com/docs/git-update-index#Documentation/git-update-index.txt---chmod-x - git update-index --chmod=+x $file.FullName + git update-index --add --chmod=+x $file.FullName } From 9da051d67925c23b2e5f528e215bab654ce21949 Mon Sep 17 00:00:00 2001 From: Rob B Date: Mon, 27 Apr 2026 20:53:38 -0400 Subject: [PATCH 071/100] feat: extra info while running `mise run setup` Co-authored-by: Copilot --- .mise/tasks/setup_linux.sh | 2 ++ .mise/tasks/setup_windows.ps1 | 2 ++ 2 files changed, 4 insertions(+) diff --git a/.mise/tasks/setup_linux.sh b/.mise/tasks/setup_linux.sh index 53168062..6e465e21 100755 --- a/.mise/tasks/setup_linux.sh +++ b/.mise/tasks/setup_linux.sh @@ -17,7 +17,9 @@ done progress=$([ "$ci" = true ] && echo "plain" || echo "auto") docker compose --progress "$progress" --file docker-compose-dev.yml up --detach --wait && echo "Waiting for 5 seconds" && sleep 5 +echo "Setting up MinIO..." mc alias set local http://localhost:9000 minio minio123 mc admin user svcacct remove local/ REPLACE_ME_KEY --dp || echo It is okay for this REMOVE command to fail if the account is not found mc admin user svcacct add local minio --access-key REPLACE_ME_KEY --secret-key REPLACE_ME_SECRET mc anonymous set public local/smr +echo "Setup complete" diff --git a/.mise/tasks/setup_windows.ps1 b/.mise/tasks/setup_windows.ps1 index 94543bac..a84bf020 100644 --- a/.mise/tasks/setup_windows.ps1 +++ b/.mise/tasks/setup_windows.ps1 @@ -8,7 +8,9 @@ param( $progress = if ($ci) { "plain" } else { "auto" } docker compose --progress $progress --file docker-compose-dev.yml up --detach --wait && timeout /t 5 +Write-Host "Setting up MinIO... (If it gets stuck here, try restarting WSL via `wsl --shutdown`)" mc alias set local http://localhost:9000 minio minio123 mc admin user svcacct remove local/ REPLACE_ME_KEY --dp || Write-Output "It is okay for this REMOVE command to fail if the account is not found" mc admin user svcacct add local minio --access-key REPLACE_ME_KEY --secret-key REPLACE_ME_SECRET mc anonymous set public local/smr +Write-Host "Setup complete" From bee0ec48913f1d4be9e851bfef1fd8d73e7a06c7 Mon Sep 17 00:00:00 2001 From: Rob B Date: Mon, 27 Apr 2026 21:13:49 -0400 Subject: [PATCH 072/100] refactor: remove unused field from test, clarify test data --- tests/sml_versions_test.go | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/tests/sml_versions_test.go b/tests/sml_versions_test.go index 89a3bc87..6d23965f 100644 --- a/tests/sml_versions_test.go +++ b/tests/sml_versions_test.go @@ -74,29 +74,29 @@ func TestSMLVersions(t *testing.T) { smlModID = getResponse.GetModByReference.ID }) - var versionID string - var versionDate time.Time - - updateDisclosure := authRequest(`mutation UpdateMod($mod_id: ModID!, $mod: UpdateMod!) { + // Apply network and AI use disclosure (required for version uploads) + t.Run("Set Disclosures", func(t *testing.T) { + updateDisclosure := authRequest(`mutation UpdateMod($mod_id: ModID!, $mod: UpdateMod!) { updateMod(modId: $mod_id, mod: $mod) { id } }`, token) - updateDisclosure.Var("mod_id", smlModID) - b := false - s := "no network use" - updateDisclosure.Var("mod", generated.UpdateMod{ - AiUseDisclosure: &generated.AIUseDisclosureInput{ - DisclosureType: generated.AIUseDisclosureTypeNoAiUsage, - }, - ToggleNetworkUse: &b, - NetworkUseDisclosure: graphql.OmittableOf(&s), + updateDisclosure.Var("mod_id", smlModID) + valueOfNoNetworkUse := "" + updateDisclosure.Var("mod", generated.UpdateMod{ + AiUseDisclosure: &generated.AIUseDisclosureInput{ + DisclosureType: generated.AIUseDisclosureTypeNoAiUsage, + }, + NetworkUseDisclosure: graphql.OmittableOf(&valueOfNoNetworkUse), + }) + var updateResponse struct { + UpdateMod *generated.Mod + } + testza.AssertNoError(t, client.Run(ctx, updateDisclosure, &updateResponse)) }) - var updateResponse struct { - UpdateMod *generated.Mod - } - testza.AssertNoError(t, client.Run(ctx, updateDisclosure, &updateResponse)) + var versionID string + var versionDate time.Time t.Run("Create", func(t *testing.T) { t.Run("Create Version", func(t *testing.T) { createRequest := authRequest(`mutation CreateVersion($mod_id: ModID!) { From 04dfb11b6446b834e8087cf056e5cdfa8a0b1a8b Mon Sep 17 00:00:00 2001 From: Rob B Date: Mon, 27 Apr 2026 21:16:46 -0400 Subject: [PATCH 073/100] test: fix mod version tests by setting disclosures --- cspell.json | 1 + tests/version_test.go | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/cspell.json b/cspell.json index 11f4f4da..3826e432 100644 --- a/cspell.json +++ b/cspell.json @@ -32,6 +32,7 @@ "ristretto", "slox", "svcacct", + "testza", "Webp" ], // cSpell:disable (don't complain about the words we listed here) diff --git a/tests/version_test.go b/tests/version_test.go index 05ce67e4..8d8e1ac5 100644 --- a/tests/version_test.go +++ b/tests/version_test.go @@ -15,6 +15,7 @@ import ( "testing" "time" + gqlgen "github.com/99designs/gqlgen/graphql" "github.com/MarvinJWendt/testza" "github.com/machinebox/graphql" "github.com/spf13/viper" @@ -151,6 +152,27 @@ func RunVersionTest(ctx context.Context, t *testing.T, client *graphql.Client, m modID = createResponse.CreateMod.ID }) + + // Apply network and AI use disclosure (required for version uploads) + t.Run("Set Disclosures", func(t *testing.T) { + updateDisclosure := authRequest(`mutation UpdateMod($mod_id: ModID!, $mod: UpdateMod!) { + updateMod(modId: $mod_id, mod: $mod) { + id + } + }`, token) + updateDisclosure.Var("mod_id", modID) + valueOfNoNetworkUse := "" + updateDisclosure.Var("mod", generated.UpdateMod{ + AiUseDisclosure: &generated.AIUseDisclosureInput{ + DisclosureType: generated.AIUseDisclosureTypeNoAiUsage, + }, + NetworkUseDisclosure: gqlgen.OmittableOf(&valueOfNoNetworkUse), + }) + var updateResponse struct { + UpdateMod *generated.Mod + } + testza.AssertNoError(t, client.Run(ctx, updateDisclosure, &updateResponse)) + }) } var uploadID string From 29998ff2cf163e4993b9752551d833d3b97cadfb Mon Sep 17 00:00:00 2001 From: Rob B Date: Mon, 27 Apr 2026 21:17:25 -0400 Subject: [PATCH 074/100] chore: `mise run migrate hash` (not working on Jack's machine?) --- migrations/sql/atlas.sum | 86 ++++++++++++++++++++-------------------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/migrations/sql/atlas.sum b/migrations/sql/atlas.sum index 4f1c0ecd..e8b6297a 100644 --- a/migrations/sql/atlas.sum +++ b/migrations/sql/atlas.sum @@ -1,43 +1,43 @@ -h1:F8w0+0F7TbP37g7d/NdLN+1DbyiTt9GFu1T1zLOaOc4= -000001_create_initial_tables.up.sql h1:eALkiKdKPk4+PRs015wQKce0l5buzaQIwU8o2Ee9MH4= -000002_create_user_group_table.up.sql h1:lbhpvkwy073swwmvFfCmRN9Xbib3MAhfNx/A1czmiho= -000003_add_last_version_date_mod_table.up.sql h1:be83iHBYpXLRUm+wlET6GJSgTmTEpSSW9aWQesroOhE= -000004_add_more_oauth_options.up.sql h1:3e3eXcmwKXqEQ0foDeFc1RZr54iQbdJLylFfGL4IlgY= -000005_create_user_group_table.up.sql h1:FUEVlyh/017ER3NItEniPtyouKPPFFNVin6jKuOO9P8= -000006_sml_versions_table.up.sql h1:NFcnIrkTLVH7U3KYTghenuGtXBxUkULShyWxsyUmvvU= -000007_relationships.up.sql h1:/jYyGHk37I2WiAGZZrDjCskNKyd4z/e+vQAU0U78GtA= -000008_version_dependencies.up.sql h1:/m+95QDQ8Ifsmqb2mqgN5AFlahi7rNfvLF5tE2zahRw= -000009_bootstrap_versions_table.up.sql h1:9M2iF5uclsrQ2UFJVVJLS1C6qvl2MULYIBRVUNox9Qw= -000010_add_version_dependency_optional.up.sql h1:P8auDs4F1fDyottTkgTsg8VXnVLfqY5MRWIBv7I0C4w= -000011_add_mod_reference.up.sql h1:isrLJWetXEYXPpJUrgXrtoXFhMdGUEOSgPkVzDYJ8Dc= -000012_add_version_metadata.up.sql h1:6nSxmKSOc3Mh/CrG8u/0p2drcpGPp1oeFzYjU2o4kUY= -000013_add_version_mod_reference.up.sql h1:mAJLIJaleQ5LV7oa++H1aRR+bJXM+f+j9nhYaEHQuj0= -000014_add_version_split_hidden.up.sql h1:93XZVBAGSZzO6uSC4s4FnYaiUvxvWcF7U5ZljNeQNR8= -000015_enable_trgm.up.sql h1:P+/V9+tbg8360tjbUobwebQnzstCqBQfZi7Hjst6FtQ= -000016_add_user_groups_dates.up.sql h1:/uyoHsFRGxGR1A3tn+nCZfxXfVROOE/YPPP7mLvjsA4= -000017_add_version_indexes.up.sql h1:i2MtlvEnFJwUdkRKJSUXE/L8QYkLNWk2bI17GiWw4do= -000018_add_announcements.up.sql h1:O34449SeAEbKOL1fZ3zATU12lwYvs94l8q+7Exos70Y= -000019_add_tags.up.sql h1:j6kn0pcdq7iy49jFWvtH7EpXjUjLsKxx3BFMQ8Lw27Y= -000020_add_compatibility.up.sql h1:HzVpQKnQXPiGaANjSVRdXPsSwgoYqYTvBYKaaOp2/cE= -000021_add_mod_platform.up.sql h1:DtdL0wqaqDDOy2q2HRZQ9Evr2PekSb4YdIt4Jn6w4sM= -000022_update_mod_targets.up.sql h1:OcblXeFSlcsGrxteqCVEWLvH/p7ReDXU3JtT+oX0eHM= -000023_migrate_versions_to_targets.up.sql h1:KEn9N6MrhSuRYyL84HpUAm13D2Qjd/LBB5hV3BmOUX0= -000024_add_sml_engine_version.up.sql h1:7bti1EojYknXOgjB3aHdv66DRISdCL72w+FHrDHjJF8= -000025_add_tag_description.up.sql h1:aSWwcp4uXkcvOEMAz3Dy6ZNxxtv6Somv0E0gzLtHA1I= -000026_add_rng.up.sql h1:JHwFMXBMWyTmdQXJDPRIXx7NYGd38T/BX9GffnBXq1k= -000027_add_id_columns.up.sql h1:sqAPyeXrgNCBVAMnt1VsNmqwZmrZxV+rjUQBrs9P0jU= -000028_increase_token_length_limit.up.sql h1:d5p1luBDnA9YvxQUD4nHHa3DdxdCnXxmpn7QDb5z4Tc= -000029_sml_as_mod.up.sql h1:I2Xbvq3Pu/rm7WbQbm+O2nlmUbka7lqM9pbPGKZdGRk= -000030_db_normalization.up.sql h1:nb7WSjHx9l5HIAAk/asnIltT7Eovb8K6g8Vv/qFdYLY= -20240705180551_initial_transfer_to_atlas.up.sql h1:X3BdZBaeuj/C+AolM1JH7PWy9ZCxqoiuYiqppXwvEEs= -20240815141045_drop_version_stability_enum.up.sql h1:Ui82xZfkbwI3Zjp7Y/L/uPDdUJ/ODJoxBPQ9aNQ4aT0= -20240818235330_index_fixes.up.sql h1:b69YMKa7FZlDJOBT9frmRx91+XFKBoraxhrkQTPNV1w= -20240819092347_user_indexes.up.sql h1:+9kXilutFbxW6AE/VA0AbvA9/U5mJe8ClPwz1vdbs7I= -20240823233610_add_mod_toggles.up.sql h1:eEK/n0xy1gKfWzgFBg7fFHtBGFaHeY5y04+9AS9jX+U= -20240826153722_add_thumbhash.up.sql h1:WktUCoRgVowDeShjfBe5GoIySaoiWrMS9pJKaW8O+BU= -20240930114249_add_required_on_remote.up.sql h1:SBZHTXEQCRC1INlK2nNXGQ8Sg5Cvqz9m8WcjKnrc9G4= -20241002191358_state_fix.up.sql h1:ai/YochcoNo8vpT09v9zHUq7AB4R6XpAU0ecFRghbmw= -20241003161005_create_virustotal_results_table.up.sql h1:8cqfx2/sIMFcvTbhvz2BS8xcz6bVDnYmKZ8RGDYIdms= -20241008092121_nullable_mod_logo.up.sql h1:pOV345UdHiAwZUgK9yzxRHK8ye7umoCoUG02qbsgAlY= -20250411023207_AddNetworkUsageDisclosure.up.sql h1:e3HqWusKNEh8WROCPTyN5vP64qNkvBKbVuEkCPUxXjk= -20260427195353_add_ai_disclosure.up.sql h1:gK6CfoH4J1NZ5tpocY+OQs6wH9+z5kYE3OGnPWIW/A8= +h1:gezyqsZYlOnBC+hXtH0tkVXxoxHXIAFK5DJ/lknMRE8= +000001_create_initial_tables.up.sql h1:D0NgABAZGONTBH9/T9MFCYkbw/LSee86lP4XsQYMx98= +000002_create_user_group_table.up.sql h1:+fOxjCFeU5GoVTO5cXzxWsMZtz2Qz3tal9vT5kdYuFI= +000003_add_last_version_date_mod_table.up.sql h1:t73i5gC2YrwlIcDn/MZmznGnArF0aA8dLYuA9NnVtbE= +000004_add_more_oauth_options.up.sql h1:UfHJiPBYFTjXHL17LQZ4ZgV/DVrghwDXNW8/RbODtaE= +000005_create_user_group_table.up.sql h1:EJZXV0bZqwqoVa6P6PmaolKRIYicgIsChRGggsiJ6lo= +000006_sml_versions_table.up.sql h1:5XDtXz2jQbdvo60fy5B5Ce8IjIv8ps3Ft24WhUCeJgg= +000007_relationships.up.sql h1:1WYFF1wqu0RkWwkWaNwb2A/oB9w9QPG5arrp0mT4WqE= +000008_version_dependencies.up.sql h1:N1z3vwv9inkKVLNsFif1At1UKAcAESxcfxJvkFOcSDs= +000009_bootstrap_versions_table.up.sql h1:w/1bXOeE/oXZCpWrBAZqHRZpeobofO2u4fYQvLu1oGg= +000010_add_version_dependency_optional.up.sql h1:9cHZYZ6TO05wvf0KCfl7+kZJLtLk3UDzF82AN1Hn7l0= +000011_add_mod_reference.up.sql h1:xGokeJASPuf5VnbehlA+fK8zHpevyeZG+r7u1z3tBrA= +000012_add_version_metadata.up.sql h1:redOIFgiRg6ggVs6tmxXvwxJS1xrCrqMdNFm/Buc5d0= +000013_add_version_mod_reference.up.sql h1:JgnH3EpwY4tulGYAlwVztW+eXG6Fh2/rHyDQm5mxfrk= +000014_add_version_split_hidden.up.sql h1:m8+Ai12K/ktPMD5vnKzTmf826pJfsICbQ1YcIruwO4U= +000015_enable_trgm.up.sql h1:K8lVS0W+1MVfuavMgRHplm8mTJowQojOj6zYux6QqHQ= +000016_add_user_groups_dates.up.sql h1:UyASdzLCBLFXhSFU5DkIznmy/2pIj8NeiL86oac0R7I= +000017_add_version_indexes.up.sql h1:n+BDJKAqvkp+z2faXsIgwNLwqMsSS307rKHCfUou4zQ= +000018_add_announcements.up.sql h1:X6OHBgP8fHQwcfRemioYD+CbipdZW5IzQiXwz2aCaK0= +000019_add_tags.up.sql h1:XStGF4N1GNGY2HTgY8YjpCTB7+V9mj431P5zSGJ3Ewo= +000020_add_compatibility.up.sql h1:Q4v3tPOH5xhFjxHkgxBz6zAsDieltsjM0s0WgrF9C8g= +000021_add_mod_platform.up.sql h1:Gzea7AIiEqsxWT6ti3ZtnzlwaHcx8U93uVY/+A9QJrc= +000022_update_mod_targets.up.sql h1:9VZrns7VPceKdEfhfchdbss3GBP+Ih7/SJjs+sA4UnM= +000023_migrate_versions_to_targets.up.sql h1:NytNFpV/ug5hxc6OM1RWvI+eJ3n1QFsERjWZ3dP3fig= +000024_add_sml_engine_version.up.sql h1:s1fzd/7sjyxtfFuh8bFbGCLTlZLjryMV6GHtJNnuTaY= +000025_add_tag_description.up.sql h1:7UdZZTJ70RJ+tA9M+EiVh+KqwwljYdPw27UQxrMedH8= +000026_add_rng.up.sql h1:y2Q8DUV27wx8/eKvTPduSU0RseM7wfCU79x1tvMmRY0= +000027_add_id_columns.up.sql h1:lILQ8le1eipNJuHuqKMaRK6RW8jBGpWOz8GDhiKEAIo= +000028_increase_token_length_limit.up.sql h1:U70DVHXY6f6vqwKxOQJzhnEZmYE5ML0+7Jc5Vh4tXb4= +000029_sml_as_mod.up.sql h1:e6Foai/N7l/zYvntn9+kNKGGPagGWYDaJ5X6XGse4lY= +000030_db_normalization.up.sql h1:rF0E/b2sF9jz3rzm1/1Ql0/TkMirgaj4w0jXTo65TMo= +20240705180551_initial_transfer_to_atlas.up.sql h1:ajYV7/WSvuMOYJDvHN0MY4z2VnX9ANJBIdV+ihZ9EGo= +20240815141045_drop_version_stability_enum.up.sql h1:ywxbAJ9lnwR6JOC+KRaW4r7nXRrLPx0J3INhD3dQlrw= +20240818235330_index_fixes.up.sql h1:YZvT7uroa6JFF+vRoufyn+rf/a/s45O05HTY/dv2Ai0= +20240819092347_user_indexes.up.sql h1:+QCDfycakdaavcoNA+zj0HwbzwfadE2pB3DpiezQS2g= +20240823233610_add_mod_toggles.up.sql h1:nTUp0VvrYxl9G92vjsP69Prgcwk4L4E4mehBcOH4sv0= +20240826153722_add_thumbhash.up.sql h1:1YhxpFNMlJQm3Xi42zD2XZVsJOPy4vNigFe1BP1E63c= +20240930114249_add_required_on_remote.up.sql h1:G3uEz4oAPvu+Q7kEVvZTiMYHMv6v/c+iImQGbQye+TQ= +20241002191358_state_fix.up.sql h1:PkJ9r2oq+nxMtZgWfjhPUvWhlGVLlEeky/1xqTrURjM= +20241003161005_create_virustotal_results_table.up.sql h1:u6cVcBPQnurXvy5pqbyzG6C4ThJ59v6dmhp5DgZBrBE= +20241008092121_nullable_mod_logo.up.sql h1:ZLscID5T67EWW7NVp95cXNyOadb2G5qTH0itfgoCUO4= +20250411023207_AddNetworkUsageDisclosure.up.sql h1:XgIdy3eJQ+VJSlx4Nr8ltcXFk6AwbSnzfnhC4RI9c9k= +20260427195353_add_ai_disclosure.up.sql h1:5w7oyF5109FT6XYvLDP866K0G0/H7SHS2cJDTHnjlS0= From 9e3bc0ad1a91395fb0f2b6ac15a648de7b016573 Mon Sep 17 00:00:00 2001 From: rhit-silkaijr Date: Mon, 27 Apr 2026 21:47:34 -0400 Subject: [PATCH 075/100] chore: testing migrate_hash --- migrations/sql/atlas.sum | 86 ++++++++++++++++++++-------------------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/migrations/sql/atlas.sum b/migrations/sql/atlas.sum index e8b6297a..4f1c0ecd 100644 --- a/migrations/sql/atlas.sum +++ b/migrations/sql/atlas.sum @@ -1,43 +1,43 @@ -h1:gezyqsZYlOnBC+hXtH0tkVXxoxHXIAFK5DJ/lknMRE8= -000001_create_initial_tables.up.sql h1:D0NgABAZGONTBH9/T9MFCYkbw/LSee86lP4XsQYMx98= -000002_create_user_group_table.up.sql h1:+fOxjCFeU5GoVTO5cXzxWsMZtz2Qz3tal9vT5kdYuFI= -000003_add_last_version_date_mod_table.up.sql h1:t73i5gC2YrwlIcDn/MZmznGnArF0aA8dLYuA9NnVtbE= -000004_add_more_oauth_options.up.sql h1:UfHJiPBYFTjXHL17LQZ4ZgV/DVrghwDXNW8/RbODtaE= -000005_create_user_group_table.up.sql h1:EJZXV0bZqwqoVa6P6PmaolKRIYicgIsChRGggsiJ6lo= -000006_sml_versions_table.up.sql h1:5XDtXz2jQbdvo60fy5B5Ce8IjIv8ps3Ft24WhUCeJgg= -000007_relationships.up.sql h1:1WYFF1wqu0RkWwkWaNwb2A/oB9w9QPG5arrp0mT4WqE= -000008_version_dependencies.up.sql h1:N1z3vwv9inkKVLNsFif1At1UKAcAESxcfxJvkFOcSDs= -000009_bootstrap_versions_table.up.sql h1:w/1bXOeE/oXZCpWrBAZqHRZpeobofO2u4fYQvLu1oGg= -000010_add_version_dependency_optional.up.sql h1:9cHZYZ6TO05wvf0KCfl7+kZJLtLk3UDzF82AN1Hn7l0= -000011_add_mod_reference.up.sql h1:xGokeJASPuf5VnbehlA+fK8zHpevyeZG+r7u1z3tBrA= -000012_add_version_metadata.up.sql h1:redOIFgiRg6ggVs6tmxXvwxJS1xrCrqMdNFm/Buc5d0= -000013_add_version_mod_reference.up.sql h1:JgnH3EpwY4tulGYAlwVztW+eXG6Fh2/rHyDQm5mxfrk= -000014_add_version_split_hidden.up.sql h1:m8+Ai12K/ktPMD5vnKzTmf826pJfsICbQ1YcIruwO4U= -000015_enable_trgm.up.sql h1:K8lVS0W+1MVfuavMgRHplm8mTJowQojOj6zYux6QqHQ= -000016_add_user_groups_dates.up.sql h1:UyASdzLCBLFXhSFU5DkIznmy/2pIj8NeiL86oac0R7I= -000017_add_version_indexes.up.sql h1:n+BDJKAqvkp+z2faXsIgwNLwqMsSS307rKHCfUou4zQ= -000018_add_announcements.up.sql h1:X6OHBgP8fHQwcfRemioYD+CbipdZW5IzQiXwz2aCaK0= -000019_add_tags.up.sql h1:XStGF4N1GNGY2HTgY8YjpCTB7+V9mj431P5zSGJ3Ewo= -000020_add_compatibility.up.sql h1:Q4v3tPOH5xhFjxHkgxBz6zAsDieltsjM0s0WgrF9C8g= -000021_add_mod_platform.up.sql h1:Gzea7AIiEqsxWT6ti3ZtnzlwaHcx8U93uVY/+A9QJrc= -000022_update_mod_targets.up.sql h1:9VZrns7VPceKdEfhfchdbss3GBP+Ih7/SJjs+sA4UnM= -000023_migrate_versions_to_targets.up.sql h1:NytNFpV/ug5hxc6OM1RWvI+eJ3n1QFsERjWZ3dP3fig= -000024_add_sml_engine_version.up.sql h1:s1fzd/7sjyxtfFuh8bFbGCLTlZLjryMV6GHtJNnuTaY= -000025_add_tag_description.up.sql h1:7UdZZTJ70RJ+tA9M+EiVh+KqwwljYdPw27UQxrMedH8= -000026_add_rng.up.sql h1:y2Q8DUV27wx8/eKvTPduSU0RseM7wfCU79x1tvMmRY0= -000027_add_id_columns.up.sql h1:lILQ8le1eipNJuHuqKMaRK6RW8jBGpWOz8GDhiKEAIo= -000028_increase_token_length_limit.up.sql h1:U70DVHXY6f6vqwKxOQJzhnEZmYE5ML0+7Jc5Vh4tXb4= -000029_sml_as_mod.up.sql h1:e6Foai/N7l/zYvntn9+kNKGGPagGWYDaJ5X6XGse4lY= -000030_db_normalization.up.sql h1:rF0E/b2sF9jz3rzm1/1Ql0/TkMirgaj4w0jXTo65TMo= -20240705180551_initial_transfer_to_atlas.up.sql h1:ajYV7/WSvuMOYJDvHN0MY4z2VnX9ANJBIdV+ihZ9EGo= -20240815141045_drop_version_stability_enum.up.sql h1:ywxbAJ9lnwR6JOC+KRaW4r7nXRrLPx0J3INhD3dQlrw= -20240818235330_index_fixes.up.sql h1:YZvT7uroa6JFF+vRoufyn+rf/a/s45O05HTY/dv2Ai0= -20240819092347_user_indexes.up.sql h1:+QCDfycakdaavcoNA+zj0HwbzwfadE2pB3DpiezQS2g= -20240823233610_add_mod_toggles.up.sql h1:nTUp0VvrYxl9G92vjsP69Prgcwk4L4E4mehBcOH4sv0= -20240826153722_add_thumbhash.up.sql h1:1YhxpFNMlJQm3Xi42zD2XZVsJOPy4vNigFe1BP1E63c= -20240930114249_add_required_on_remote.up.sql h1:G3uEz4oAPvu+Q7kEVvZTiMYHMv6v/c+iImQGbQye+TQ= -20241002191358_state_fix.up.sql h1:PkJ9r2oq+nxMtZgWfjhPUvWhlGVLlEeky/1xqTrURjM= -20241003161005_create_virustotal_results_table.up.sql h1:u6cVcBPQnurXvy5pqbyzG6C4ThJ59v6dmhp5DgZBrBE= -20241008092121_nullable_mod_logo.up.sql h1:ZLscID5T67EWW7NVp95cXNyOadb2G5qTH0itfgoCUO4= -20250411023207_AddNetworkUsageDisclosure.up.sql h1:XgIdy3eJQ+VJSlx4Nr8ltcXFk6AwbSnzfnhC4RI9c9k= -20260427195353_add_ai_disclosure.up.sql h1:5w7oyF5109FT6XYvLDP866K0G0/H7SHS2cJDTHnjlS0= +h1:F8w0+0F7TbP37g7d/NdLN+1DbyiTt9GFu1T1zLOaOc4= +000001_create_initial_tables.up.sql h1:eALkiKdKPk4+PRs015wQKce0l5buzaQIwU8o2Ee9MH4= +000002_create_user_group_table.up.sql h1:lbhpvkwy073swwmvFfCmRN9Xbib3MAhfNx/A1czmiho= +000003_add_last_version_date_mod_table.up.sql h1:be83iHBYpXLRUm+wlET6GJSgTmTEpSSW9aWQesroOhE= +000004_add_more_oauth_options.up.sql h1:3e3eXcmwKXqEQ0foDeFc1RZr54iQbdJLylFfGL4IlgY= +000005_create_user_group_table.up.sql h1:FUEVlyh/017ER3NItEniPtyouKPPFFNVin6jKuOO9P8= +000006_sml_versions_table.up.sql h1:NFcnIrkTLVH7U3KYTghenuGtXBxUkULShyWxsyUmvvU= +000007_relationships.up.sql h1:/jYyGHk37I2WiAGZZrDjCskNKyd4z/e+vQAU0U78GtA= +000008_version_dependencies.up.sql h1:/m+95QDQ8Ifsmqb2mqgN5AFlahi7rNfvLF5tE2zahRw= +000009_bootstrap_versions_table.up.sql h1:9M2iF5uclsrQ2UFJVVJLS1C6qvl2MULYIBRVUNox9Qw= +000010_add_version_dependency_optional.up.sql h1:P8auDs4F1fDyottTkgTsg8VXnVLfqY5MRWIBv7I0C4w= +000011_add_mod_reference.up.sql h1:isrLJWetXEYXPpJUrgXrtoXFhMdGUEOSgPkVzDYJ8Dc= +000012_add_version_metadata.up.sql h1:6nSxmKSOc3Mh/CrG8u/0p2drcpGPp1oeFzYjU2o4kUY= +000013_add_version_mod_reference.up.sql h1:mAJLIJaleQ5LV7oa++H1aRR+bJXM+f+j9nhYaEHQuj0= +000014_add_version_split_hidden.up.sql h1:93XZVBAGSZzO6uSC4s4FnYaiUvxvWcF7U5ZljNeQNR8= +000015_enable_trgm.up.sql h1:P+/V9+tbg8360tjbUobwebQnzstCqBQfZi7Hjst6FtQ= +000016_add_user_groups_dates.up.sql h1:/uyoHsFRGxGR1A3tn+nCZfxXfVROOE/YPPP7mLvjsA4= +000017_add_version_indexes.up.sql h1:i2MtlvEnFJwUdkRKJSUXE/L8QYkLNWk2bI17GiWw4do= +000018_add_announcements.up.sql h1:O34449SeAEbKOL1fZ3zATU12lwYvs94l8q+7Exos70Y= +000019_add_tags.up.sql h1:j6kn0pcdq7iy49jFWvtH7EpXjUjLsKxx3BFMQ8Lw27Y= +000020_add_compatibility.up.sql h1:HzVpQKnQXPiGaANjSVRdXPsSwgoYqYTvBYKaaOp2/cE= +000021_add_mod_platform.up.sql h1:DtdL0wqaqDDOy2q2HRZQ9Evr2PekSb4YdIt4Jn6w4sM= +000022_update_mod_targets.up.sql h1:OcblXeFSlcsGrxteqCVEWLvH/p7ReDXU3JtT+oX0eHM= +000023_migrate_versions_to_targets.up.sql h1:KEn9N6MrhSuRYyL84HpUAm13D2Qjd/LBB5hV3BmOUX0= +000024_add_sml_engine_version.up.sql h1:7bti1EojYknXOgjB3aHdv66DRISdCL72w+FHrDHjJF8= +000025_add_tag_description.up.sql h1:aSWwcp4uXkcvOEMAz3Dy6ZNxxtv6Somv0E0gzLtHA1I= +000026_add_rng.up.sql h1:JHwFMXBMWyTmdQXJDPRIXx7NYGd38T/BX9GffnBXq1k= +000027_add_id_columns.up.sql h1:sqAPyeXrgNCBVAMnt1VsNmqwZmrZxV+rjUQBrs9P0jU= +000028_increase_token_length_limit.up.sql h1:d5p1luBDnA9YvxQUD4nHHa3DdxdCnXxmpn7QDb5z4Tc= +000029_sml_as_mod.up.sql h1:I2Xbvq3Pu/rm7WbQbm+O2nlmUbka7lqM9pbPGKZdGRk= +000030_db_normalization.up.sql h1:nb7WSjHx9l5HIAAk/asnIltT7Eovb8K6g8Vv/qFdYLY= +20240705180551_initial_transfer_to_atlas.up.sql h1:X3BdZBaeuj/C+AolM1JH7PWy9ZCxqoiuYiqppXwvEEs= +20240815141045_drop_version_stability_enum.up.sql h1:Ui82xZfkbwI3Zjp7Y/L/uPDdUJ/ODJoxBPQ9aNQ4aT0= +20240818235330_index_fixes.up.sql h1:b69YMKa7FZlDJOBT9frmRx91+XFKBoraxhrkQTPNV1w= +20240819092347_user_indexes.up.sql h1:+9kXilutFbxW6AE/VA0AbvA9/U5mJe8ClPwz1vdbs7I= +20240823233610_add_mod_toggles.up.sql h1:eEK/n0xy1gKfWzgFBg7fFHtBGFaHeY5y04+9AS9jX+U= +20240826153722_add_thumbhash.up.sql h1:WktUCoRgVowDeShjfBe5GoIySaoiWrMS9pJKaW8O+BU= +20240930114249_add_required_on_remote.up.sql h1:SBZHTXEQCRC1INlK2nNXGQ8Sg5Cvqz9m8WcjKnrc9G4= +20241002191358_state_fix.up.sql h1:ai/YochcoNo8vpT09v9zHUq7AB4R6XpAU0ecFRghbmw= +20241003161005_create_virustotal_results_table.up.sql h1:8cqfx2/sIMFcvTbhvz2BS8xcz6bVDnYmKZ8RGDYIdms= +20241008092121_nullable_mod_logo.up.sql h1:pOV345UdHiAwZUgK9yzxRHK8ye7umoCoUG02qbsgAlY= +20250411023207_AddNetworkUsageDisclosure.up.sql h1:e3HqWusKNEh8WROCPTyN5vP64qNkvBKbVuEkCPUxXjk= +20260427195353_add_ai_disclosure.up.sql h1:gK6CfoH4J1NZ5tpocY+OQs6wH9+z5kYE3OGnPWIW/A8= From a5c59744230e03433bf6b54d67dc9e1c1e8b89db Mon Sep 17 00:00:00 2001 From: rhit-silkaijr Date: Mon, 27 Apr 2026 22:00:53 -0400 Subject: [PATCH 076/100] chore: testing migrate_hash again --- migrations/sql/atlas.sum | 86 ++++++++++++++++++++-------------------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/migrations/sql/atlas.sum b/migrations/sql/atlas.sum index 4f1c0ecd..e8b6297a 100644 --- a/migrations/sql/atlas.sum +++ b/migrations/sql/atlas.sum @@ -1,43 +1,43 @@ -h1:F8w0+0F7TbP37g7d/NdLN+1DbyiTt9GFu1T1zLOaOc4= -000001_create_initial_tables.up.sql h1:eALkiKdKPk4+PRs015wQKce0l5buzaQIwU8o2Ee9MH4= -000002_create_user_group_table.up.sql h1:lbhpvkwy073swwmvFfCmRN9Xbib3MAhfNx/A1czmiho= -000003_add_last_version_date_mod_table.up.sql h1:be83iHBYpXLRUm+wlET6GJSgTmTEpSSW9aWQesroOhE= -000004_add_more_oauth_options.up.sql h1:3e3eXcmwKXqEQ0foDeFc1RZr54iQbdJLylFfGL4IlgY= -000005_create_user_group_table.up.sql h1:FUEVlyh/017ER3NItEniPtyouKPPFFNVin6jKuOO9P8= -000006_sml_versions_table.up.sql h1:NFcnIrkTLVH7U3KYTghenuGtXBxUkULShyWxsyUmvvU= -000007_relationships.up.sql h1:/jYyGHk37I2WiAGZZrDjCskNKyd4z/e+vQAU0U78GtA= -000008_version_dependencies.up.sql h1:/m+95QDQ8Ifsmqb2mqgN5AFlahi7rNfvLF5tE2zahRw= -000009_bootstrap_versions_table.up.sql h1:9M2iF5uclsrQ2UFJVVJLS1C6qvl2MULYIBRVUNox9Qw= -000010_add_version_dependency_optional.up.sql h1:P8auDs4F1fDyottTkgTsg8VXnVLfqY5MRWIBv7I0C4w= -000011_add_mod_reference.up.sql h1:isrLJWetXEYXPpJUrgXrtoXFhMdGUEOSgPkVzDYJ8Dc= -000012_add_version_metadata.up.sql h1:6nSxmKSOc3Mh/CrG8u/0p2drcpGPp1oeFzYjU2o4kUY= -000013_add_version_mod_reference.up.sql h1:mAJLIJaleQ5LV7oa++H1aRR+bJXM+f+j9nhYaEHQuj0= -000014_add_version_split_hidden.up.sql h1:93XZVBAGSZzO6uSC4s4FnYaiUvxvWcF7U5ZljNeQNR8= -000015_enable_trgm.up.sql h1:P+/V9+tbg8360tjbUobwebQnzstCqBQfZi7Hjst6FtQ= -000016_add_user_groups_dates.up.sql h1:/uyoHsFRGxGR1A3tn+nCZfxXfVROOE/YPPP7mLvjsA4= -000017_add_version_indexes.up.sql h1:i2MtlvEnFJwUdkRKJSUXE/L8QYkLNWk2bI17GiWw4do= -000018_add_announcements.up.sql h1:O34449SeAEbKOL1fZ3zATU12lwYvs94l8q+7Exos70Y= -000019_add_tags.up.sql h1:j6kn0pcdq7iy49jFWvtH7EpXjUjLsKxx3BFMQ8Lw27Y= -000020_add_compatibility.up.sql h1:HzVpQKnQXPiGaANjSVRdXPsSwgoYqYTvBYKaaOp2/cE= -000021_add_mod_platform.up.sql h1:DtdL0wqaqDDOy2q2HRZQ9Evr2PekSb4YdIt4Jn6w4sM= -000022_update_mod_targets.up.sql h1:OcblXeFSlcsGrxteqCVEWLvH/p7ReDXU3JtT+oX0eHM= -000023_migrate_versions_to_targets.up.sql h1:KEn9N6MrhSuRYyL84HpUAm13D2Qjd/LBB5hV3BmOUX0= -000024_add_sml_engine_version.up.sql h1:7bti1EojYknXOgjB3aHdv66DRISdCL72w+FHrDHjJF8= -000025_add_tag_description.up.sql h1:aSWwcp4uXkcvOEMAz3Dy6ZNxxtv6Somv0E0gzLtHA1I= -000026_add_rng.up.sql h1:JHwFMXBMWyTmdQXJDPRIXx7NYGd38T/BX9GffnBXq1k= -000027_add_id_columns.up.sql h1:sqAPyeXrgNCBVAMnt1VsNmqwZmrZxV+rjUQBrs9P0jU= -000028_increase_token_length_limit.up.sql h1:d5p1luBDnA9YvxQUD4nHHa3DdxdCnXxmpn7QDb5z4Tc= -000029_sml_as_mod.up.sql h1:I2Xbvq3Pu/rm7WbQbm+O2nlmUbka7lqM9pbPGKZdGRk= -000030_db_normalization.up.sql h1:nb7WSjHx9l5HIAAk/asnIltT7Eovb8K6g8Vv/qFdYLY= -20240705180551_initial_transfer_to_atlas.up.sql h1:X3BdZBaeuj/C+AolM1JH7PWy9ZCxqoiuYiqppXwvEEs= -20240815141045_drop_version_stability_enum.up.sql h1:Ui82xZfkbwI3Zjp7Y/L/uPDdUJ/ODJoxBPQ9aNQ4aT0= -20240818235330_index_fixes.up.sql h1:b69YMKa7FZlDJOBT9frmRx91+XFKBoraxhrkQTPNV1w= -20240819092347_user_indexes.up.sql h1:+9kXilutFbxW6AE/VA0AbvA9/U5mJe8ClPwz1vdbs7I= -20240823233610_add_mod_toggles.up.sql h1:eEK/n0xy1gKfWzgFBg7fFHtBGFaHeY5y04+9AS9jX+U= -20240826153722_add_thumbhash.up.sql h1:WktUCoRgVowDeShjfBe5GoIySaoiWrMS9pJKaW8O+BU= -20240930114249_add_required_on_remote.up.sql h1:SBZHTXEQCRC1INlK2nNXGQ8Sg5Cvqz9m8WcjKnrc9G4= -20241002191358_state_fix.up.sql h1:ai/YochcoNo8vpT09v9zHUq7AB4R6XpAU0ecFRghbmw= -20241003161005_create_virustotal_results_table.up.sql h1:8cqfx2/sIMFcvTbhvz2BS8xcz6bVDnYmKZ8RGDYIdms= -20241008092121_nullable_mod_logo.up.sql h1:pOV345UdHiAwZUgK9yzxRHK8ye7umoCoUG02qbsgAlY= -20250411023207_AddNetworkUsageDisclosure.up.sql h1:e3HqWusKNEh8WROCPTyN5vP64qNkvBKbVuEkCPUxXjk= -20260427195353_add_ai_disclosure.up.sql h1:gK6CfoH4J1NZ5tpocY+OQs6wH9+z5kYE3OGnPWIW/A8= +h1:gezyqsZYlOnBC+hXtH0tkVXxoxHXIAFK5DJ/lknMRE8= +000001_create_initial_tables.up.sql h1:D0NgABAZGONTBH9/T9MFCYkbw/LSee86lP4XsQYMx98= +000002_create_user_group_table.up.sql h1:+fOxjCFeU5GoVTO5cXzxWsMZtz2Qz3tal9vT5kdYuFI= +000003_add_last_version_date_mod_table.up.sql h1:t73i5gC2YrwlIcDn/MZmznGnArF0aA8dLYuA9NnVtbE= +000004_add_more_oauth_options.up.sql h1:UfHJiPBYFTjXHL17LQZ4ZgV/DVrghwDXNW8/RbODtaE= +000005_create_user_group_table.up.sql h1:EJZXV0bZqwqoVa6P6PmaolKRIYicgIsChRGggsiJ6lo= +000006_sml_versions_table.up.sql h1:5XDtXz2jQbdvo60fy5B5Ce8IjIv8ps3Ft24WhUCeJgg= +000007_relationships.up.sql h1:1WYFF1wqu0RkWwkWaNwb2A/oB9w9QPG5arrp0mT4WqE= +000008_version_dependencies.up.sql h1:N1z3vwv9inkKVLNsFif1At1UKAcAESxcfxJvkFOcSDs= +000009_bootstrap_versions_table.up.sql h1:w/1bXOeE/oXZCpWrBAZqHRZpeobofO2u4fYQvLu1oGg= +000010_add_version_dependency_optional.up.sql h1:9cHZYZ6TO05wvf0KCfl7+kZJLtLk3UDzF82AN1Hn7l0= +000011_add_mod_reference.up.sql h1:xGokeJASPuf5VnbehlA+fK8zHpevyeZG+r7u1z3tBrA= +000012_add_version_metadata.up.sql h1:redOIFgiRg6ggVs6tmxXvwxJS1xrCrqMdNFm/Buc5d0= +000013_add_version_mod_reference.up.sql h1:JgnH3EpwY4tulGYAlwVztW+eXG6Fh2/rHyDQm5mxfrk= +000014_add_version_split_hidden.up.sql h1:m8+Ai12K/ktPMD5vnKzTmf826pJfsICbQ1YcIruwO4U= +000015_enable_trgm.up.sql h1:K8lVS0W+1MVfuavMgRHplm8mTJowQojOj6zYux6QqHQ= +000016_add_user_groups_dates.up.sql h1:UyASdzLCBLFXhSFU5DkIznmy/2pIj8NeiL86oac0R7I= +000017_add_version_indexes.up.sql h1:n+BDJKAqvkp+z2faXsIgwNLwqMsSS307rKHCfUou4zQ= +000018_add_announcements.up.sql h1:X6OHBgP8fHQwcfRemioYD+CbipdZW5IzQiXwz2aCaK0= +000019_add_tags.up.sql h1:XStGF4N1GNGY2HTgY8YjpCTB7+V9mj431P5zSGJ3Ewo= +000020_add_compatibility.up.sql h1:Q4v3tPOH5xhFjxHkgxBz6zAsDieltsjM0s0WgrF9C8g= +000021_add_mod_platform.up.sql h1:Gzea7AIiEqsxWT6ti3ZtnzlwaHcx8U93uVY/+A9QJrc= +000022_update_mod_targets.up.sql h1:9VZrns7VPceKdEfhfchdbss3GBP+Ih7/SJjs+sA4UnM= +000023_migrate_versions_to_targets.up.sql h1:NytNFpV/ug5hxc6OM1RWvI+eJ3n1QFsERjWZ3dP3fig= +000024_add_sml_engine_version.up.sql h1:s1fzd/7sjyxtfFuh8bFbGCLTlZLjryMV6GHtJNnuTaY= +000025_add_tag_description.up.sql h1:7UdZZTJ70RJ+tA9M+EiVh+KqwwljYdPw27UQxrMedH8= +000026_add_rng.up.sql h1:y2Q8DUV27wx8/eKvTPduSU0RseM7wfCU79x1tvMmRY0= +000027_add_id_columns.up.sql h1:lILQ8le1eipNJuHuqKMaRK6RW8jBGpWOz8GDhiKEAIo= +000028_increase_token_length_limit.up.sql h1:U70DVHXY6f6vqwKxOQJzhnEZmYE5ML0+7Jc5Vh4tXb4= +000029_sml_as_mod.up.sql h1:e6Foai/N7l/zYvntn9+kNKGGPagGWYDaJ5X6XGse4lY= +000030_db_normalization.up.sql h1:rF0E/b2sF9jz3rzm1/1Ql0/TkMirgaj4w0jXTo65TMo= +20240705180551_initial_transfer_to_atlas.up.sql h1:ajYV7/WSvuMOYJDvHN0MY4z2VnX9ANJBIdV+ihZ9EGo= +20240815141045_drop_version_stability_enum.up.sql h1:ywxbAJ9lnwR6JOC+KRaW4r7nXRrLPx0J3INhD3dQlrw= +20240818235330_index_fixes.up.sql h1:YZvT7uroa6JFF+vRoufyn+rf/a/s45O05HTY/dv2Ai0= +20240819092347_user_indexes.up.sql h1:+QCDfycakdaavcoNA+zj0HwbzwfadE2pB3DpiezQS2g= +20240823233610_add_mod_toggles.up.sql h1:nTUp0VvrYxl9G92vjsP69Prgcwk4L4E4mehBcOH4sv0= +20240826153722_add_thumbhash.up.sql h1:1YhxpFNMlJQm3Xi42zD2XZVsJOPy4vNigFe1BP1E63c= +20240930114249_add_required_on_remote.up.sql h1:G3uEz4oAPvu+Q7kEVvZTiMYHMv6v/c+iImQGbQye+TQ= +20241002191358_state_fix.up.sql h1:PkJ9r2oq+nxMtZgWfjhPUvWhlGVLlEeky/1xqTrURjM= +20241003161005_create_virustotal_results_table.up.sql h1:u6cVcBPQnurXvy5pqbyzG6C4ThJ59v6dmhp5DgZBrBE= +20241008092121_nullable_mod_logo.up.sql h1:ZLscID5T67EWW7NVp95cXNyOadb2G5qTH0itfgoCUO4= +20250411023207_AddNetworkUsageDisclosure.up.sql h1:XgIdy3eJQ+VJSlx4Nr8ltcXFk6AwbSnzfnhC4RI9c9k= +20260427195353_add_ai_disclosure.up.sql h1:5w7oyF5109FT6XYvLDP866K0G0/H7SHS2cJDTHnjlS0= From dfe903d1b595872066e236b7a0ceda1ae00aa21a Mon Sep 17 00:00:00 2001 From: rhit-silkaijr Date: Tue, 5 May 2026 02:48:46 -0400 Subject: [PATCH 077/100] feat: controller migration script --- ...501041455_add_default_controller_compatibility.down.sql | 3 +++ ...60501041455_add_default_controller_compatibility.up.sql | 7 +++++++ migrations/sql/atlas.sum | 3 ++- 3 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 migrations/sql/20260501041455_add_default_controller_compatibility.down.sql create mode 100644 migrations/sql/20260501041455_add_default_controller_compatibility.up.sql diff --git a/migrations/sql/20260501041455_add_default_controller_compatibility.down.sql b/migrations/sql/20260501041455_add_default_controller_compatibility.down.sql new file mode 100644 index 00000000..473c3c7a --- /dev/null +++ b/migrations/sql/20260501041455_add_default_controller_compatibility.down.sql @@ -0,0 +1,3 @@ +UPDATE "mods" + SET "compatibility" = mods.compatibility - 'Controller' + WHERE mods.compatibility ? 'Controller' AND mods.compatibility ? 'EA'; diff --git a/migrations/sql/20260501041455_add_default_controller_compatibility.up.sql b/migrations/sql/20260501041455_add_default_controller_compatibility.up.sql new file mode 100644 index 00000000..863ea16e --- /dev/null +++ b/migrations/sql/20260501041455_add_default_controller_compatibility.up.sql @@ -0,0 +1,7 @@ +UPDATE "mods" + SET "compatibility" = mods.compatibility || '{"Controller":""}' + WHERE NOT mods.compatibility ? 'Controller' AND mods.compatibility ? 'EA'; + +UPDATE "mods" + SET "compatibility" = jsonb_set(mods.compatibility, '{Controller}', '{"Note":"","State":"Untested"}'::jsonb) + WHERE mods.compatibility @> '{"Controller":""}' \ No newline at end of file diff --git a/migrations/sql/atlas.sum b/migrations/sql/atlas.sum index e8b6297a..830deac5 100644 --- a/migrations/sql/atlas.sum +++ b/migrations/sql/atlas.sum @@ -1,4 +1,4 @@ -h1:gezyqsZYlOnBC+hXtH0tkVXxoxHXIAFK5DJ/lknMRE8= +h1:8vxWK4nXGb6iWkg7BMqY8edPZVNIUaEZl9Hui28R7Oo= 000001_create_initial_tables.up.sql h1:D0NgABAZGONTBH9/T9MFCYkbw/LSee86lP4XsQYMx98= 000002_create_user_group_table.up.sql h1:+fOxjCFeU5GoVTO5cXzxWsMZtz2Qz3tal9vT5kdYuFI= 000003_add_last_version_date_mod_table.up.sql h1:t73i5gC2YrwlIcDn/MZmznGnArF0aA8dLYuA9NnVtbE= @@ -41,3 +41,4 @@ h1:gezyqsZYlOnBC+hXtH0tkVXxoxHXIAFK5DJ/lknMRE8= 20241008092121_nullable_mod_logo.up.sql h1:ZLscID5T67EWW7NVp95cXNyOadb2G5qTH0itfgoCUO4= 20250411023207_AddNetworkUsageDisclosure.up.sql h1:XgIdy3eJQ+VJSlx4Nr8ltcXFk6AwbSnzfnhC4RI9c9k= 20260427195353_add_ai_disclosure.up.sql h1:5w7oyF5109FT6XYvLDP866K0G0/H7SHS2cJDTHnjlS0= +20260501041455_add_default_controller_compatibility.up.sql h1:hLoh2dUoCKCecsuGmVlBFRetCvEZRuoD/lW26lmvurY= From 0a42d14a5ba49b57b5c3baeaa242ced853c0b7e3 Mon Sep 17 00:00:00 2001 From: rhit-silkaijr Date: Tue, 5 May 2026 12:44:35 -0400 Subject: [PATCH 078/100] fix: hash update --- migrations/sql/atlas.sum | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/migrations/sql/atlas.sum b/migrations/sql/atlas.sum index 830deac5..0cffeacf 100644 --- a/migrations/sql/atlas.sum +++ b/migrations/sql/atlas.sum @@ -1,4 +1,4 @@ -h1:8vxWK4nXGb6iWkg7BMqY8edPZVNIUaEZl9Hui28R7Oo= +h1:b/bdKEx9qDBSh0200yiZlYOj2e6exg5OBv3yoXERRow= 000001_create_initial_tables.up.sql h1:D0NgABAZGONTBH9/T9MFCYkbw/LSee86lP4XsQYMx98= 000002_create_user_group_table.up.sql h1:+fOxjCFeU5GoVTO5cXzxWsMZtz2Qz3tal9vT5kdYuFI= 000003_add_last_version_date_mod_table.up.sql h1:t73i5gC2YrwlIcDn/MZmznGnArF0aA8dLYuA9NnVtbE= @@ -41,4 +41,4 @@ h1:8vxWK4nXGb6iWkg7BMqY8edPZVNIUaEZl9Hui28R7Oo= 20241008092121_nullable_mod_logo.up.sql h1:ZLscID5T67EWW7NVp95cXNyOadb2G5qTH0itfgoCUO4= 20250411023207_AddNetworkUsageDisclosure.up.sql h1:XgIdy3eJQ+VJSlx4Nr8ltcXFk6AwbSnzfnhC4RI9c9k= 20260427195353_add_ai_disclosure.up.sql h1:5w7oyF5109FT6XYvLDP866K0G0/H7SHS2cJDTHnjlS0= -20260501041455_add_default_controller_compatibility.up.sql h1:hLoh2dUoCKCecsuGmVlBFRetCvEZRuoD/lW26lmvurY= +20260501041455_add_default_controller_compatibility.up.sql h1:yBqEbilNGlwO1Q7+B8VCkt5TOzS8KXpzy0K320A9jpk= From 32da1517c986cf1e7b644be6d3c4ae3f274a7130 Mon Sep 17 00:00:00 2001 From: Rob B Date: Fri, 22 May 2026 19:13:01 -0400 Subject: [PATCH 079/100] fix: proper Omittable handling --- generated/custom_models.go | 28 ++++++++++++++-------------- generated/generated.go | 2 +- gql/resolver_mods.go | 6 +++--- tests/ai_use_disclosure_test.go | 4 ++-- tests/sml_versions_test.go | 4 ++-- tests/version_test.go | 4 ++-- 6 files changed, 24 insertions(+), 24 deletions(-) diff --git a/generated/custom_models.go b/generated/custom_models.go index f99847c5..b9525ccb 100755 --- a/generated/custom_models.go +++ b/generated/custom_models.go @@ -17,18 +17,18 @@ type NewMod struct { } type UpdateMod struct { - Name *string `json:"name" validate:"omitempty,min=3,max=32"` - ShortDescription *string `json:"short_description" validate:"omitempty,min=16,max=128"` - FullDescription *string `json:"full_description"` - Logo *graphql.Upload `json:"logo"` - SourceURL *string `json:"source_url"` - ModReference *string `json:"mod_reference"` - Hidden *bool `json:"hidden"` - Compatibility *CompatibilityInfoInput `json:"compatibility"` - Authors []UpdateUserMod `json:"authors"` - TagIDs []string `json:"tagIDs" validate:"dive,min=3,max=24"` - ToggleNetworkUse *bool `json:"toggle_network_use"` - NetworkUseDisclosure graphql.Omittable[*string] `json:"network_use_disclosure"` - ToggleExplicitContent *bool `json:"toggle_explicit_content"` - AiUseDisclosure *AIUseDisclosureInput `json:"ai_use_disclosure"` + Name *string `json:"name" validate:"omitempty,min=3,max=32"` + ShortDescription *string `json:"short_description" validate:"omitempty,min=16,max=128"` + FullDescription *string `json:"full_description"` + Logo *graphql.Upload `json:"logo"` + SourceURL *string `json:"source_url"` + ModReference *string `json:"mod_reference"` + Hidden *bool `json:"hidden"` + Compatibility *CompatibilityInfoInput `json:"compatibility"` + Authors []UpdateUserMod `json:"authors"` + TagIDs []string `json:"tagIDs" validate:"dive,min=3,max=24"` + ToggleNetworkUse *bool `json:"toggle_network_use"` + NetworkUseDisclosure graphql.Omittable[*string] `json:"network_use_disclosure"` + ToggleExplicitContent *bool `json:"toggle_explicit_content"` + AiUseDisclosure graphql.Omittable[*AIUseDisclosureInput] `json:"ai_use_disclosure"` } diff --git a/generated/generated.go b/generated/generated.go index c95cb995..a6ea3de2 100644 --- a/generated/generated.go +++ b/generated/generated.go @@ -22380,7 +22380,7 @@ func (ec *executionContext) unmarshalInputUpdateMod(ctx context.Context, obj any if err != nil { return it, err } - it.AiUseDisclosure = data + it.AiUseDisclosure = graphql.OmittableOf(data) case "toggle_explicit_content": ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("toggle_explicit_content")) data, err := ec.unmarshalOBoolean2ᚖbool(ctx, v) diff --git a/gql/resolver_mods.go b/gql/resolver_mods.go index 37a4fe47..1674c414 100644 --- a/gql/resolver_mods.go +++ b/gql/resolver_mods.go @@ -194,12 +194,12 @@ func (r *mutationResolver) UpdateMod(ctx context.Context, modID string, updateMo SetINNF(updateMod.ToggleNetworkUse, dbUpdate.SetToggleNetworkUse) SetINNF(updateMod.ToggleExplicitContent, dbUpdate.SetToggleExplicitContent) - aiDisclosureUpdate, isSet := graphql.OmittableOf(updateMod.AiUseDisclosure).ValueOK() + aiDisclosureUpdate, isSet := updateMod.AiUseDisclosure.ValueOK() if isSet && aiDisclosureUpdate != nil && aiDisclosureUpdate.DisclosureType != generated.AIUseDisclosureTypeNoDisclosure { - if requiresMessage(updateMod.AiUseDisclosure.DisclosureType) && *updateMod.AiUseDisclosure.DisclosureString == "" { + if requiresMessage(aiDisclosureUpdate.DisclosureType) && *aiDisclosureUpdate.DisclosureString == "" { return nil, errors.New("you need to input a disclosure message when disclosing AI usage") } - SetAIDisclosureINNF(updateMod.AiUseDisclosure, dbUpdate.SetAiUseDisclosure) + SetAIDisclosureINNF(aiDisclosureUpdate, dbUpdate.SetAiUseDisclosure) } else if (aiDisclosureUpdate == nil || aiDisclosureUpdate.DisclosureType == generated.AIUseDisclosureTypeNoDisclosure) && dbMod.AiUseDisclosure != nil && dbMod.AiUseDisclosure.DisclosureType != generated.AIUseDisclosureTypeNoDisclosure.String() { return nil, errors.New("this mod already has an AI use disclosure, and thus it cannot be cleared") } diff --git a/tests/ai_use_disclosure_test.go b/tests/ai_use_disclosure_test.go index 4aa5f5e7..fa3783de 100644 --- a/tests/ai_use_disclosure_test.go +++ b/tests/ai_use_disclosure_test.go @@ -105,7 +105,7 @@ func TestAiDisclosure(t *testing.T) { testza.AssertEqual(t, &disclosureString, updateResponse.UpdateMod.AiUseDisclosure.DisclosureString) // Trying to unassign the disclosure is not allowed - failedUpdateUndisclosed := authRequest(`mutation ($id: ModID!, $ai_use_disclosure: AIUseDisclosureInput!) { + failedUpdateUndisclosed := authRequest(`mutation ($id: ModID!, $ai_use_disclosure: AIUseDisclosureInput) { updateMod( modId: $id mod: { @@ -127,5 +127,5 @@ func TestAiDisclosure(t *testing.T) { } err = client.Run(ctx, failedUpdateUndisclosed, &failedUpdateUndisclosedResponse) testza.AssertNotNil(t, err) - testza.AssertContains(t, err.Error(), "graphql: cannot be null") + testza.AssertContains(t, err.Error(), "this mod already has an AI use disclosure, and thus it cannot be cleared") } diff --git a/tests/sml_versions_test.go b/tests/sml_versions_test.go index 6d23965f..503af034 100644 --- a/tests/sml_versions_test.go +++ b/tests/sml_versions_test.go @@ -84,9 +84,9 @@ func TestSMLVersions(t *testing.T) { updateDisclosure.Var("mod_id", smlModID) valueOfNoNetworkUse := "" updateDisclosure.Var("mod", generated.UpdateMod{ - AiUseDisclosure: &generated.AIUseDisclosureInput{ + AiUseDisclosure: graphql.OmittableOf(&generated.AIUseDisclosureInput{ DisclosureType: generated.AIUseDisclosureTypeNoAiUsage, - }, + }), NetworkUseDisclosure: graphql.OmittableOf(&valueOfNoNetworkUse), }) var updateResponse struct { diff --git a/tests/version_test.go b/tests/version_test.go index 8d8e1ac5..a9a8914c 100644 --- a/tests/version_test.go +++ b/tests/version_test.go @@ -163,9 +163,9 @@ func RunVersionTest(ctx context.Context, t *testing.T, client *graphql.Client, m updateDisclosure.Var("mod_id", modID) valueOfNoNetworkUse := "" updateDisclosure.Var("mod", generated.UpdateMod{ - AiUseDisclosure: &generated.AIUseDisclosureInput{ + AiUseDisclosure: gqlgen.OmittableOf(&generated.AIUseDisclosureInput{ DisclosureType: generated.AIUseDisclosureTypeNoAiUsage, - }, + }), NetworkUseDisclosure: gqlgen.OmittableOf(&valueOfNoNetworkUse), }) var updateResponse struct { From ee753eb9663a134e34eea176aa6e537d8b23ba46 Mon Sep 17 00:00:00 2001 From: Rob B Date: Fri, 22 May 2026 19:47:47 -0400 Subject: [PATCH 080/100] feat: remove NewMod unused AiUseDisclosure field --- generated/custom_models.go | 21 ++++++++++----------- generated/generated.go | 10 +--------- schemas/mod.graphql | 1 - 3 files changed, 11 insertions(+), 21 deletions(-) diff --git a/generated/custom_models.go b/generated/custom_models.go index b9525ccb..509bf731 100755 --- a/generated/custom_models.go +++ b/generated/custom_models.go @@ -3,17 +3,16 @@ package generated import "github.com/99designs/gqlgen/graphql" type NewMod struct { - Name string `json:"name" validate:"required,min=3,max=32"` - ShortDescription string `json:"short_description" validate:"required,min=16,max=128"` - FullDescription *string `json:"full_description"` - Logo *graphql.Upload `json:"logo"` - SourceURL *string `json:"source_url"` - ModReference string `json:"mod_reference"` - Hidden *bool `json:"hidden"` - TagIDs []string `json:"tagIDs" validate:"dive,min=3,max=24"` - ToggleNetworkUse *bool `json:"toggle_network_use"` - ToggleExplicitContent *bool `json:"toggle_explicit_content"` - AiUseDisclosure *AIUseDisclosureInput `json:"ai_use_disclosure"` + Name string `json:"name" validate:"required,min=3,max=32"` + ShortDescription string `json:"short_description" validate:"required,min=16,max=128"` + FullDescription *string `json:"full_description"` + Logo *graphql.Upload `json:"logo"` + SourceURL *string `json:"source_url"` + ModReference string `json:"mod_reference"` + Hidden *bool `json:"hidden"` + TagIDs []string `json:"tagIDs" validate:"dive,min=3,max=24"` + ToggleNetworkUse *bool `json:"toggle_network_use"` + ToggleExplicitContent *bool `json:"toggle_explicit_content"` } type UpdateMod struct { diff --git a/generated/generated.go b/generated/generated.go index a6ea3de2..f49eaca2 100644 --- a/generated/generated.go +++ b/generated/generated.go @@ -2865,7 +2865,6 @@ input NewMod { tagIDs: [TagID!] toggle_network_use: Boolean toggle_explicit_content: Boolean - ai_use_disclosure: AIUseDisclosureInput } input UpdateMod { @@ -21885,7 +21884,7 @@ func (ec *executionContext) unmarshalInputNewMod(ctx context.Context, obj any) ( asMap[k] = v } - fieldsInOrder := [...]string{"name", "short_description", "full_description", "logo", "source_url", "mod_reference", "hidden", "tagIDs", "toggle_network_use", "toggle_explicit_content", "ai_use_disclosure"} + fieldsInOrder := [...]string{"name", "short_description", "full_description", "logo", "source_url", "mod_reference", "hidden", "tagIDs", "toggle_network_use", "toggle_explicit_content"} for _, k := range fieldsInOrder { v, ok := asMap[k] if !ok { @@ -21962,13 +21961,6 @@ func (ec *executionContext) unmarshalInputNewMod(ctx context.Context, obj any) ( return it, err } it.ToggleExplicitContent = data - case "ai_use_disclosure": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("ai_use_disclosure")) - data, err := ec.unmarshalOAIUseDisclosureInput2ᚖgithubᚗcomᚋsatisfactorymoddingᚋsmrᚑapiᚋgeneratedᚐAIUseDisclosureInput(ctx, v) - if err != nil { - return it, err - } - it.AiUseDisclosure = data } } diff --git a/schemas/mod.graphql b/schemas/mod.graphql index 81da4dee..1d62e4cd 100755 --- a/schemas/mod.graphql +++ b/schemas/mod.graphql @@ -100,7 +100,6 @@ input NewMod { tagIDs: [TagID!] toggle_network_use: Boolean toggle_explicit_content: Boolean - ai_use_disclosure: AIUseDisclosureInput } input UpdateMod { From c138ecde4733f04c904fe55a7e3119877a193087 Mon Sep 17 00:00:00 2001 From: Rob B Date: Fri, 22 May 2026 20:07:52 -0400 Subject: [PATCH 081/100] fix: specify `ai_use_disclosure` as omittable in gqlgen (did not result in any generated changes?) --- gqlgen.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gqlgen.yml b/gqlgen.yml index 0682e5dc..40adb0c4 100755 --- a/gqlgen.yml +++ b/gqlgen.yml @@ -24,6 +24,8 @@ models: fields: network_use_disclosure: omittable: true + ai_use_disclosure: + omittable: true VersionFilter: model: "map[string]interface{}" From bcbe74fc5d571ba6d95fe8bb6bab9000e6e3122b Mon Sep 17 00:00:00 2001 From: Rob B Date: Fri, 22 May 2026 20:39:19 -0400 Subject: [PATCH 082/100] feat: remove unused `ToggleNetworkUse` field --- db/schema/mod.go | 1 - generated/conv/mod.go | 1 - generated/ent/internal/schema.go | 2 +- generated/ent/migrate/schema.go | 1 - generated/ent/mod.go | 13 +-- generated/ent/mod/mod.go | 10 -- generated/ent/mod/where.go | 15 --- generated/ent/mod_create.go | 65 ------------ generated/ent/mod_update.go | 34 ------- generated/ent/mutation.go | 56 +---------- generated/ent/runtime/runtime.go | 6 +- generated/generated.go | 98 +------------------ generated/models_gen.go | 1 - go.sum | 6 ++ gql/resolver_mods.go | 2 - ...3001901_remove_toggle_network_use.down.sql | 2 + ...523001901_remove_toggle_network_use.up.sql | 2 + migrations/sql/atlas.sum | 3 +- schemas/mod.graphql | 3 - tests/mod_test.go | 5 - 20 files changed, 18 insertions(+), 308 deletions(-) create mode 100644 migrations/sql/20260523001901_remove_toggle_network_use.down.sql create mode 100644 migrations/sql/20260523001901_remove_toggle_network_use.up.sql diff --git a/db/schema/mod.go b/db/schema/mod.go index a7e8a599..2628dbc9 100644 --- a/db/schema/mod.go +++ b/db/schema/mod.go @@ -40,7 +40,6 @@ func (Mod) Fields() []ent.Field { field.String("mod_reference").MaxLen(32), field.Bool("hidden").Default(false), field.JSON("compatibility", &util.CompatibilityInfo{}).Optional(), - field.Bool("toggle_network_use").Default(false), field.String("network_use_disclosure").Optional().Nillable(), field.JSON("ai_use_disclosure", &util.AIUseDisclosureInfo{}).Optional(), field.Bool("toggle_explicit_content").Default(false), diff --git a/generated/conv/mod.go b/generated/conv/mod.go index 4aa761f9..dbcbaead 100755 --- a/generated/conv/mod.go +++ b/generated/conv/mod.go @@ -46,7 +46,6 @@ func (c *ModImpl) Convert(source *ent.Mod) *generated.Mod { } } generatedMod.Compatibility = c.pUtilCompatibilityInfoToPGeneratedCompatibilityInfo((*source).Compatibility) - generatedMod.ToggleNetworkUse = (*source).ToggleNetworkUse if (*source).NetworkUseDisclosure != nil { xstring := *(*source).NetworkUseDisclosure generatedMod.NetworkUseDisclosure = &xstring diff --git a/generated/ent/internal/schema.go b/generated/ent/internal/schema.go index 08bc167b..e9efe602 100644 --- a/generated/ent/internal/schema.go +++ b/generated/ent/internal/schema.go @@ -6,4 +6,4 @@ // Package internal holds a loadable version of the latest schema. package internal -const Schema = "{\"Schema\":\"github.com/satisfactorymodding/smr-api/db/schema\",\"Package\":\"github.com/satisfactorymodding/smr-api/generated/ent\",\"Schemas\":[{\"name\":\"Announcement\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"message\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"importance\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Guide\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"guides\",\"unique\":true,\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"}}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"guide\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":2,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"GuideTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guide\",\"type\":\"Guide\",\"field\":\"guide_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"guide_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"guide_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"Mod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"versions\",\"type\":\"Version\"},{\"name\":\"authors\",\"type\":\"User\",\"ref_name\":\"mods\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"},\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"}},{\"name\":\"dependents\",\"type\":\"Version\",\"ref_name\":\"dependencies\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"full_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"source_url\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"creator_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"popularity\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"last_version_date\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hidden\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"compatibility\",\"type\":{\"Type\":3,\"Ident\":\"*util.CompatibilityInfo\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":true,\"RType\":{\"Name\":\"CompatibilityInfo\",\"Ident\":\"util.CompatibilityInfo\",\"Kind\":22,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{}}},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_network_use\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"network_use_disclosure\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"nillable\":true,\"optional\":true,\"position\":{\"Index\":18,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"ai_use_disclosure\",\"type\":{\"Type\":3,\"Ident\":\"*util.AIUseDisclosureInfo\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":true,\"RType\":{\"Name\":\"AIUseDisclosureInfo\",\"Ident\":\"util.AIUseDisclosureInfo\",\"Kind\":22,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{}}},\"optional\":true,\"position\":{\"Index\":19,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_explicit_content\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":20,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"last_version_date\"]},{\"unique\":true,\"fields\":[\"mod_reference\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"ModTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"mod_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"SatisfactoryVersion\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"unique\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"engine_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"default\":true,\"default_value\":\"4.26\",\"default_kind\":24,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}]},{\"name\":\"Tag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mods\",\"type\":\"Mod\",\"ref_name\":\"tags\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"},\"inverse\":true},{\"name\":\"guides\",\"type\":\"Guide\",\"ref_name\":\"tags\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":24,\"unique\":true,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"optional\":true,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"User\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guides\",\"type\":\"Guide\"},{\"name\":\"sessions\",\"type\":\"UserSession\",\"storage_key\":{\"Table\":\"\",\"Symbols\":null,\"Columns\":[\"user_id\"]}},{\"name\":\"mods\",\"type\":\"Mod\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"}},{\"name\":\"groups\",\"type\":\"UserGroup\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"email\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":256,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"username\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"joined_from\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"banned\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"rank\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":1,\"default_kind\":2,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"github_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"optional\":true,\"validators\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"google_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"optional\":true,\"validators\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"facebook_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"optional\":true,\"validators\":1,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"email\"]},{\"unique\":true,\"fields\":[\"github_id\"]},{\"unique\":true,\"fields\":[\"google_id\"]},{\"unique\":true,\"fields\":[\"facebook_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserGroup\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"groups\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"group_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"user_id\",\"group_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserMod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"role\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"user_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"UserSession\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"ref_name\":\"sessions\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"token\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"user_agent\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"token\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Version\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"ref_name\":\"versions\",\"unique\":true,\"inverse\":true,\"required\":true},{\"name\":\"dependencies\",\"type\":\"Mod\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"}},{\"name\":\"targets\",\"type\":\"VersionTarget\"},{\"name\":\"virustotal_results\",\"type\":\"VirustotalResult\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"game_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"required_on_remote\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":true,\"default_kind\":1,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"changelog\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"stability\",\"type\":{\"Type\":6,\"Ident\":\"util.Stability\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":false,\"RType\":{\"Name\":\"Stability\",\"Ident\":\"util.Stability\",\"Kind\":24,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{\"Values\":{\"In\":[],\"Out\":[{\"Name\":\"\",\"Ident\":\"[]string\",\"Kind\":23,\"PkgPath\":\"\",\"Methods\":null}]}}}},\"enums\":[{\"N\":\"release\",\"V\":\"release\"},{\"N\":\"beta\",\"V\":\"beta\"},{\"N\":\"alpha\",\"V\":\"alpha\"}],\"default\":true,\"default_value\":\"release\",\"default_kind\":24,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"metadata\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_major\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_minor\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_patch\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"optional\":true,\"validators\":2,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"approved\"]},{\"fields\":[\"denied\"]},{\"fields\":[\"mod_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"VersionDependency\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"condition\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"optional\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"annotations\":{\"Fields\":{\"ID\":[\"version_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"VersionTarget\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"targets\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"target_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"unique\":true,\"fields\":[\"version_id\",\"target_name\"]}]},{\"name\":\"VirustotalResult\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"virustotal_results\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"safe\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":2,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"file_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":2,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"safe\"]},{\"unique\":true,\"fields\":[\"hash\",\"version_id\"]},{\"fields\":[\"file_name\"]}]}],\"Features\":[\"sql/modifier\",\"intercept\",\"schema/snapshot\",\"sql/execquery\",\"sql/upsert\"]}" +const Schema = "{\"Schema\":\"github.com/satisfactorymodding/smr-api/db/schema\",\"Package\":\"github.com/satisfactorymodding/smr-api/generated/ent\",\"Schemas\":[{\"name\":\"Announcement\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"message\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"importance\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Guide\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"guides\",\"unique\":true,\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"}}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"guide\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":2,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"GuideTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guide\",\"type\":\"Guide\",\"field\":\"guide_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"guide_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"guide_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"Mod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"versions\",\"type\":\"Version\"},{\"name\":\"authors\",\"type\":\"User\",\"ref_name\":\"mods\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"},\"inverse\":true},{\"name\":\"tags\",\"type\":\"Tag\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"}},{\"name\":\"dependents\",\"type\":\"Version\",\"ref_name\":\"dependencies\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"short_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"full_description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"logo_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"source_url\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"creator_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"views\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"popularity\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"last_version_date\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hidden\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"compatibility\",\"type\":{\"Type\":3,\"Ident\":\"*util.CompatibilityInfo\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":true,\"RType\":{\"Name\":\"CompatibilityInfo\",\"Ident\":\"util.CompatibilityInfo\",\"Kind\":22,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{}}},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"network_use_disclosure\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"nillable\":true,\"optional\":true,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"ai_use_disclosure\",\"type\":{\"Type\":3,\"Ident\":\"*util.AIUseDisclosureInfo\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":true,\"RType\":{\"Name\":\"AIUseDisclosureInfo\",\"Ident\":\"util.AIUseDisclosureInfo\",\"Kind\":22,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{}}},\"optional\":true,\"position\":{\"Index\":18,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"toggle_explicit_content\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":19,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"last_version_date\"]},{\"unique\":true,\"fields\":[\"mod_reference\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"ModTag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true},{\"name\":\"tag\",\"type\":\"Tag\",\"field\":\"tag_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"tag_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"mod_id\",\"tag_id\"],\"StructTag\":null}}},{\"name\":\"SatisfactoryVersion\",\"config\":{\"Table\":\"\"},\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"unique\":true,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"engine_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"default\":true,\"default_value\":\"4.26\",\"default_kind\":24,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}]},{\"name\":\"Tag\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mods\",\"type\":\"Mod\",\"ref_name\":\"tags\",\"through\":{\"N\":\"mod_tags\",\"T\":\"ModTag\"},\"inverse\":true},{\"name\":\"guides\",\"type\":\"Guide\",\"ref_name\":\"tags\",\"through\":{\"N\":\"guide_tags\",\"T\":\"GuideTag\"},\"inverse\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":24,\"unique\":true,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"description\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"optional\":true,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"User\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"guides\",\"type\":\"Guide\"},{\"name\":\"sessions\",\"type\":\"UserSession\",\"storage_key\":{\"Table\":\"\",\"Symbols\":null,\"Columns\":[\"user_id\"]}},{\"name\":\"mods\",\"type\":\"Mod\",\"through\":{\"N\":\"user_mods\",\"T\":\"UserMod\"}},{\"name\":\"groups\",\"type\":\"UserGroup\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"email\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":256,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"username\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"avatar_thumbhash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"joined_from\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"banned\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"rank\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":1,\"default_kind\":2,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"github_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"optional\":true,\"validators\":1,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"google_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"optional\":true,\"validators\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"facebook_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":128,\"optional\":true,\"validators\":1,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"email\"]},{\"unique\":true,\"fields\":[\"github_id\"]},{\"unique\":true,\"fields\":[\"google_id\"]},{\"unique\":true,\"fields\":[\"facebook_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserGroup\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"ref_name\":\"groups\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"group_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"user_id\",\"group_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"UserMod\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"field\":\"user_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"user_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"role\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}}],\"annotations\":{\"Fields\":{\"ID\":[\"user_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"UserSession\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"user\",\"type\":\"User\",\"ref_name\":\"sessions\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"token\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":512,\"validators\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"user_agent\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"unique\":true,\"fields\":[\"token\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"Version\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"ref_name\":\"versions\",\"unique\":true,\"inverse\":true,\"required\":true},{\"name\":\"dependencies\",\"type\":\"Mod\",\"through\":{\"N\":\"version_dependencies\",\"T\":\"VersionDependency\"}},{\"name\":\"targets\",\"type\":\"VersionTarget\"},{\"name\":\"virustotal_results\",\"type\":\"VirustotalResult\"}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":16,\"validators\":1,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"game_version\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"required_on_remote\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":true,\"default_kind\":1,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"changelog\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"downloads\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":5,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":6,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"stability\",\"type\":{\"Type\":6,\"Ident\":\"util.Stability\",\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"PkgName\":\"util\",\"Nillable\":false,\"RType\":{\"Name\":\"Stability\",\"Ident\":\"util.Stability\",\"Kind\":24,\"PkgPath\":\"github.com/satisfactorymodding/smr-api/util\",\"Methods\":{\"Values\":{\"In\":[],\"Out\":[{\"Name\":\"\",\"Ident\":\"[]string\",\"Kind\":23,\"PkgPath\":\"\",\"Methods\":null}]}}}},\"enums\":[{\"N\":\"release\",\"V\":\"release\"},{\"N\":\"beta\",\"V\":\"beta\"},{\"N\":\"alpha\",\"V\":\"alpha\"}],\"default\":true,\"default_value\":\"release\",\"default_kind\":24,\"position\":{\"Index\":7,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"approved\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":8,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hotness\",\"type\":{\"Type\":17,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":0,\"default_kind\":7,\"position\":{\"Index\":9,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"denied\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":10,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"metadata\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":11,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_reference\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":32,\"validators\":1,\"position\":{\"Index\":12,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_major\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":13,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_minor\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":14,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_patch\",\"type\":{\"Type\":12,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":15,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":16,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"optional\":true,\"validators\":2,\"position\":{\"Index\":17,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]},{\"fields\":[\"approved\"]},{\"fields\":[\"denied\"]},{\"fields\":[\"mod_id\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":2}]},{\"name\":\"VersionDependency\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"unique\":true,\"required\":true},{\"name\":\"mod\",\"type\":\"Mod\",\"field\":\"mod_id\",\"unique\":true,\"required\":true}],\"fields\":[{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"deleted_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"mod_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"condition\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"optional\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"deleted_at\"]}],\"hooks\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"interceptors\":[{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}],\"annotations\":{\"Fields\":{\"ID\":[\"version_id\",\"mod_id\"],\"StructTag\":null}}},{\"name\":\"VersionTarget\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"targets\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"target_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"key\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"size\",\"type\":{\"Type\":13,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"optional\":true,\"position\":{\"Index\":4,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"unique\":true,\"fields\":[\"version_id\",\"target_name\"]}]},{\"name\":\"VirustotalResult\",\"config\":{\"Table\":\"\"},\"edges\":[{\"name\":\"version\",\"type\":\"Version\",\"field\":\"version_id\",\"ref_name\":\"virustotal_results\",\"unique\":true,\"inverse\":true,\"required\":true}],\"fields\":[{\"name\":\"id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":0}},{\"name\":\"created_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"immutable\":true,\"position\":{\"Index\":0,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"updated_at\",\"type\":{\"Type\":2,\"Ident\":\"\",\"PkgPath\":\"time\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_kind\":19,\"update_default\":true,\"position\":{\"Index\":1,\"MixedIn\":true,\"MixinIndex\":1}},{\"name\":\"safe\",\"type\":{\"Type\":1,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"default\":true,\"default_value\":false,\"default_kind\":1,\"position\":{\"Index\":0,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"hash\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":64,\"validators\":2,\"position\":{\"Index\":1,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"file_name\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"validators\":1,\"position\":{\"Index\":2,\"MixedIn\":false,\"MixinIndex\":0}},{\"name\":\"version_id\",\"type\":{\"Type\":7,\"Ident\":\"\",\"PkgPath\":\"\",\"PkgName\":\"\",\"Nillable\":false,\"RType\":null},\"size\":14,\"validators\":2,\"position\":{\"Index\":3,\"MixedIn\":false,\"MixinIndex\":0}}],\"indexes\":[{\"fields\":[\"safe\"]},{\"unique\":true,\"fields\":[\"hash\",\"version_id\"]},{\"fields\":[\"file_name\"]}]}],\"Features\":[\"sql/modifier\",\"intercept\",\"schema/snapshot\",\"sql/execquery\",\"sql/upsert\"]}" diff --git a/generated/ent/migrate/schema.go b/generated/ent/migrate/schema.go index 029ee335..1f28f29a 100644 --- a/generated/ent/migrate/schema.go +++ b/generated/ent/migrate/schema.go @@ -111,7 +111,6 @@ var ( {Name: "mod_reference", Type: field.TypeString, Size: 32}, {Name: "hidden", Type: field.TypeBool, Default: false}, {Name: "compatibility", Type: field.TypeJSON, Nullable: true}, - {Name: "toggle_network_use", Type: field.TypeBool, Default: false}, {Name: "network_use_disclosure", Type: field.TypeString, Nullable: true}, {Name: "ai_use_disclosure", Type: field.TypeJSON, Nullable: true}, {Name: "toggle_explicit_content", Type: field.TypeBool, Default: false}, diff --git a/generated/ent/mod.go b/generated/ent/mod.go index acad741a..907a1951 100644 --- a/generated/ent/mod.go +++ b/generated/ent/mod.go @@ -59,8 +59,6 @@ type Mod struct { Hidden bool `json:"hidden,omitempty"` // Compatibility holds the value of the "compatibility" field. Compatibility *util.CompatibilityInfo `json:"compatibility,omitempty"` - // ToggleNetworkUse holds the value of the "toggle_network_use" field. - ToggleNetworkUse bool `json:"toggle_network_use,omitempty"` // NetworkUseDisclosure holds the value of the "network_use_disclosure" field. NetworkUseDisclosure *string `json:"network_use_disclosure,omitempty"` // AiUseDisclosure holds the value of the "ai_use_disclosure" field. @@ -164,7 +162,7 @@ func (*Mod) scanValues(columns []string) ([]any, error) { switch columns[i] { case mod.FieldCompatibility, mod.FieldAiUseDisclosure: values[i] = new([]byte) - case mod.FieldApproved, mod.FieldDenied, mod.FieldHidden, mod.FieldToggleNetworkUse, mod.FieldToggleExplicitContent: + case mod.FieldApproved, mod.FieldDenied, mod.FieldHidden, mod.FieldToggleExplicitContent: values[i] = new(sql.NullBool) case mod.FieldViews, mod.FieldHotness, mod.FieldPopularity, mod.FieldDownloads: values[i] = new(sql.NullInt64) @@ -315,12 +313,6 @@ func (m *Mod) assignValues(columns []string, values []any) error { return fmt.Errorf("unmarshal field compatibility: %w", err) } } - case mod.FieldToggleNetworkUse: - if value, ok := values[i].(*sql.NullBool); !ok { - return fmt.Errorf("unexpected type %T for field toggle_network_use", values[i]) - } else if value.Valid { - m.ToggleNetworkUse = value.Bool - } case mod.FieldNetworkUseDisclosure: if value, ok := values[i].(*sql.NullString); !ok { return fmt.Errorf("unexpected type %T for field network_use_disclosure", values[i]) @@ -473,9 +465,6 @@ func (m *Mod) String() string { builder.WriteString("compatibility=") builder.WriteString(fmt.Sprintf("%v", m.Compatibility)) builder.WriteString(", ") - builder.WriteString("toggle_network_use=") - builder.WriteString(fmt.Sprintf("%v", m.ToggleNetworkUse)) - builder.WriteString(", ") if v := m.NetworkUseDisclosure; v != nil { builder.WriteString("network_use_disclosure=") builder.WriteString(*v) diff --git a/generated/ent/mod/mod.go b/generated/ent/mod/mod.go index a1040ee3..8914edaf 100644 --- a/generated/ent/mod/mod.go +++ b/generated/ent/mod/mod.go @@ -55,8 +55,6 @@ const ( FieldHidden = "hidden" // FieldCompatibility holds the string denoting the compatibility field in the database. FieldCompatibility = "compatibility" - // FieldToggleNetworkUse holds the string denoting the toggle_network_use field in the database. - FieldToggleNetworkUse = "toggle_network_use" // FieldNetworkUseDisclosure holds the string denoting the network_use_disclosure field in the database. FieldNetworkUseDisclosure = "network_use_disclosure" // FieldAiUseDisclosure holds the string denoting the ai_use_disclosure field in the database. @@ -147,7 +145,6 @@ var Columns = []string{ FieldModReference, FieldHidden, FieldCompatibility, - FieldToggleNetworkUse, FieldNetworkUseDisclosure, FieldAiUseDisclosure, FieldToggleExplicitContent, @@ -209,8 +206,6 @@ var ( ModReferenceValidator func(string) error // DefaultHidden holds the default value on creation for the "hidden" field. DefaultHidden bool - // DefaultToggleNetworkUse holds the default value on creation for the "toggle_network_use" field. - DefaultToggleNetworkUse bool // DefaultToggleExplicitContent holds the default value on creation for the "toggle_explicit_content" field. DefaultToggleExplicitContent bool // DefaultID holds the default value on creation for the "id" field. @@ -320,11 +315,6 @@ func ByHidden(opts ...sql.OrderTermOption) OrderOption { return sql.OrderByField(FieldHidden, opts...).ToFunc() } -// ByToggleNetworkUse orders the results by the toggle_network_use field. -func ByToggleNetworkUse(opts ...sql.OrderTermOption) OrderOption { - return sql.OrderByField(FieldToggleNetworkUse, opts...).ToFunc() -} - // ByNetworkUseDisclosure orders the results by the network_use_disclosure field. func ByNetworkUseDisclosure(opts ...sql.OrderTermOption) OrderOption { return sql.OrderByField(FieldNetworkUseDisclosure, opts...).ToFunc() diff --git a/generated/ent/mod/where.go b/generated/ent/mod/where.go index f8c0461e..7dcd271c 100644 --- a/generated/ent/mod/where.go +++ b/generated/ent/mod/where.go @@ -160,11 +160,6 @@ func Hidden(v bool) predicate.Mod { return predicate.Mod(sql.FieldEQ(FieldHidden, v)) } -// ToggleNetworkUse applies equality check predicate on the "toggle_network_use" field. It's identical to ToggleNetworkUseEQ. -func ToggleNetworkUse(v bool) predicate.Mod { - return predicate.Mod(sql.FieldEQ(FieldToggleNetworkUse, v)) -} - // NetworkUseDisclosure applies equality check predicate on the "network_use_disclosure" field. It's identical to NetworkUseDisclosureEQ. func NetworkUseDisclosure(v string) predicate.Mod { return predicate.Mod(sql.FieldEQ(FieldNetworkUseDisclosure, v)) @@ -1105,16 +1100,6 @@ func CompatibilityNotNil() predicate.Mod { return predicate.Mod(sql.FieldNotNull(FieldCompatibility)) } -// ToggleNetworkUseEQ applies the EQ predicate on the "toggle_network_use" field. -func ToggleNetworkUseEQ(v bool) predicate.Mod { - return predicate.Mod(sql.FieldEQ(FieldToggleNetworkUse, v)) -} - -// ToggleNetworkUseNEQ applies the NEQ predicate on the "toggle_network_use" field. -func ToggleNetworkUseNEQ(v bool) predicate.Mod { - return predicate.Mod(sql.FieldNEQ(FieldToggleNetworkUse, v)) -} - // NetworkUseDisclosureEQ applies the EQ predicate on the "network_use_disclosure" field. func NetworkUseDisclosureEQ(v string) predicate.Mod { return predicate.Mod(sql.FieldEQ(FieldNetworkUseDisclosure, v)) diff --git a/generated/ent/mod_create.go b/generated/ent/mod_create.go index 2182606f..85b4b9aa 100644 --- a/generated/ent/mod_create.go +++ b/generated/ent/mod_create.go @@ -259,20 +259,6 @@ func (mc *ModCreate) SetCompatibility(ui *util.CompatibilityInfo) *ModCreate { return mc } -// SetToggleNetworkUse sets the "toggle_network_use" field. -func (mc *ModCreate) SetToggleNetworkUse(b bool) *ModCreate { - mc.mutation.SetToggleNetworkUse(b) - return mc -} - -// SetNillableToggleNetworkUse sets the "toggle_network_use" field if the given value is not nil. -func (mc *ModCreate) SetNillableToggleNetworkUse(b *bool) *ModCreate { - if b != nil { - mc.SetToggleNetworkUse(*b) - } - return mc -} - // SetNetworkUseDisclosure sets the "network_use_disclosure" field. func (mc *ModCreate) SetNetworkUseDisclosure(s string) *ModCreate { mc.mutation.SetNetworkUseDisclosure(s) @@ -460,10 +446,6 @@ func (mc *ModCreate) defaults() error { v := mod.DefaultHidden mc.mutation.SetHidden(v) } - if _, ok := mc.mutation.ToggleNetworkUse(); !ok { - v := mod.DefaultToggleNetworkUse - mc.mutation.SetToggleNetworkUse(v) - } if _, ok := mc.mutation.ToggleExplicitContent(); !ok { v := mod.DefaultToggleExplicitContent mc.mutation.SetToggleExplicitContent(v) @@ -537,9 +519,6 @@ func (mc *ModCreate) check() error { if _, ok := mc.mutation.Hidden(); !ok { return &ValidationError{Name: "hidden", err: errors.New(`ent: missing required field "Mod.hidden"`)} } - if _, ok := mc.mutation.ToggleNetworkUse(); !ok { - return &ValidationError{Name: "toggle_network_use", err: errors.New(`ent: missing required field "Mod.toggle_network_use"`)} - } if _, ok := mc.mutation.ToggleExplicitContent(); !ok { return &ValidationError{Name: "toggle_explicit_content", err: errors.New(`ent: missing required field "Mod.toggle_explicit_content"`)} } @@ -659,10 +638,6 @@ func (mc *ModCreate) createSpec() (*Mod, *sqlgraph.CreateSpec) { _spec.SetField(mod.FieldCompatibility, field.TypeJSON, value) _node.Compatibility = value } - if value, ok := mc.mutation.ToggleNetworkUse(); ok { - _spec.SetField(mod.FieldToggleNetworkUse, field.TypeBool, value) - _node.ToggleNetworkUse = value - } if value, ok := mc.mutation.NetworkUseDisclosure(); ok { _spec.SetField(mod.FieldNetworkUseDisclosure, field.TypeString, value) _node.NetworkUseDisclosure = &value @@ -1083,18 +1058,6 @@ func (u *ModUpsert) ClearCompatibility() *ModUpsert { return u } -// SetToggleNetworkUse sets the "toggle_network_use" field. -func (u *ModUpsert) SetToggleNetworkUse(v bool) *ModUpsert { - u.Set(mod.FieldToggleNetworkUse, v) - return u -} - -// UpdateToggleNetworkUse sets the "toggle_network_use" field to the value that was provided on create. -func (u *ModUpsert) UpdateToggleNetworkUse() *ModUpsert { - u.SetExcluded(mod.FieldToggleNetworkUse) - return u -} - // SetNetworkUseDisclosure sets the "network_use_disclosure" field. func (u *ModUpsert) SetNetworkUseDisclosure(v string) *ModUpsert { u.Set(mod.FieldNetworkUseDisclosure, v) @@ -1530,20 +1493,6 @@ func (u *ModUpsertOne) ClearCompatibility() *ModUpsertOne { }) } -// SetToggleNetworkUse sets the "toggle_network_use" field. -func (u *ModUpsertOne) SetToggleNetworkUse(v bool) *ModUpsertOne { - return u.Update(func(s *ModUpsert) { - s.SetToggleNetworkUse(v) - }) -} - -// UpdateToggleNetworkUse sets the "toggle_network_use" field to the value that was provided on create. -func (u *ModUpsertOne) UpdateToggleNetworkUse() *ModUpsertOne { - return u.Update(func(s *ModUpsert) { - s.UpdateToggleNetworkUse() - }) -} - // SetNetworkUseDisclosure sets the "network_use_disclosure" field. func (u *ModUpsertOne) SetNetworkUseDisclosure(v string) *ModUpsertOne { return u.Update(func(s *ModUpsert) { @@ -2154,20 +2103,6 @@ func (u *ModUpsertBulk) ClearCompatibility() *ModUpsertBulk { }) } -// SetToggleNetworkUse sets the "toggle_network_use" field. -func (u *ModUpsertBulk) SetToggleNetworkUse(v bool) *ModUpsertBulk { - return u.Update(func(s *ModUpsert) { - s.SetToggleNetworkUse(v) - }) -} - -// UpdateToggleNetworkUse sets the "toggle_network_use" field to the value that was provided on create. -func (u *ModUpsertBulk) UpdateToggleNetworkUse() *ModUpsertBulk { - return u.Update(func(s *ModUpsert) { - s.UpdateToggleNetworkUse() - }) -} - // SetNetworkUseDisclosure sets the "network_use_disclosure" field. func (u *ModUpsertBulk) SetNetworkUseDisclosure(v string) *ModUpsertBulk { return u.Update(func(s *ModUpsert) { diff --git a/generated/ent/mod_update.go b/generated/ent/mod_update.go index 0f3aa54d..5a38b521 100644 --- a/generated/ent/mod_update.go +++ b/generated/ent/mod_update.go @@ -347,20 +347,6 @@ func (mu *ModUpdate) ClearCompatibility() *ModUpdate { return mu } -// SetToggleNetworkUse sets the "toggle_network_use" field. -func (mu *ModUpdate) SetToggleNetworkUse(b bool) *ModUpdate { - mu.mutation.SetToggleNetworkUse(b) - return mu -} - -// SetNillableToggleNetworkUse sets the "toggle_network_use" field if the given value is not nil. -func (mu *ModUpdate) SetNillableToggleNetworkUse(b *bool) *ModUpdate { - if b != nil { - mu.SetToggleNetworkUse(*b) - } - return mu -} - // SetNetworkUseDisclosure sets the "network_use_disclosure" field. func (mu *ModUpdate) SetNetworkUseDisclosure(s string) *ModUpdate { mu.mutation.SetNetworkUseDisclosure(s) @@ -723,9 +709,6 @@ func (mu *ModUpdate) sqlSave(ctx context.Context) (n int, err error) { if mu.mutation.CompatibilityCleared() { _spec.ClearField(mod.FieldCompatibility, field.TypeJSON) } - if value, ok := mu.mutation.ToggleNetworkUse(); ok { - _spec.SetField(mod.FieldToggleNetworkUse, field.TypeBool, value) - } if value, ok := mu.mutation.NetworkUseDisclosure(); ok { _spec.SetField(mod.FieldNetworkUseDisclosure, field.TypeString, value) } @@ -1269,20 +1252,6 @@ func (muo *ModUpdateOne) ClearCompatibility() *ModUpdateOne { return muo } -// SetToggleNetworkUse sets the "toggle_network_use" field. -func (muo *ModUpdateOne) SetToggleNetworkUse(b bool) *ModUpdateOne { - muo.mutation.SetToggleNetworkUse(b) - return muo -} - -// SetNillableToggleNetworkUse sets the "toggle_network_use" field if the given value is not nil. -func (muo *ModUpdateOne) SetNillableToggleNetworkUse(b *bool) *ModUpdateOne { - if b != nil { - muo.SetToggleNetworkUse(*b) - } - return muo -} - // SetNetworkUseDisclosure sets the "network_use_disclosure" field. func (muo *ModUpdateOne) SetNetworkUseDisclosure(s string) *ModUpdateOne { muo.mutation.SetNetworkUseDisclosure(s) @@ -1675,9 +1644,6 @@ func (muo *ModUpdateOne) sqlSave(ctx context.Context) (_node *Mod, err error) { if muo.mutation.CompatibilityCleared() { _spec.ClearField(mod.FieldCompatibility, field.TypeJSON) } - if value, ok := muo.mutation.ToggleNetworkUse(); ok { - _spec.SetField(mod.FieldToggleNetworkUse, field.TypeBool, value) - } if value, ok := muo.mutation.NetworkUseDisclosure(); ok { _spec.SetField(mod.FieldNetworkUseDisclosure, field.TypeString, value) } diff --git a/generated/ent/mutation.go b/generated/ent/mutation.go index cf0701b7..81553115 100644 --- a/generated/ent/mutation.go +++ b/generated/ent/mutation.go @@ -1961,7 +1961,6 @@ type ModMutation struct { mod_reference *string hidden *bool compatibility **util.CompatibilityInfo - toggle_network_use *bool network_use_disclosure *string ai_use_disclosure **util.AIUseDisclosureInfo toggle_explicit_content *bool @@ -2965,42 +2964,6 @@ func (m *ModMutation) ResetCompatibility() { delete(m.clearedFields, mod.FieldCompatibility) } -// SetToggleNetworkUse sets the "toggle_network_use" field. -func (m *ModMutation) SetToggleNetworkUse(b bool) { - m.toggle_network_use = &b -} - -// ToggleNetworkUse returns the value of the "toggle_network_use" field in the mutation. -func (m *ModMutation) ToggleNetworkUse() (r bool, exists bool) { - v := m.toggle_network_use - if v == nil { - return - } - return *v, true -} - -// OldToggleNetworkUse returns the old "toggle_network_use" field's value of the Mod entity. -// If the Mod object wasn't provided to the builder, the object is fetched from the database. -// An error is returned if the mutation operation is not UpdateOne, or the database query fails. -func (m *ModMutation) OldToggleNetworkUse(ctx context.Context) (v bool, err error) { - if !m.op.Is(OpUpdateOne) { - return v, errors.New("OldToggleNetworkUse is only allowed on UpdateOne operations") - } - if m.id == nil || m.oldValue == nil { - return v, errors.New("OldToggleNetworkUse requires an ID field in the mutation") - } - oldValue, err := m.oldValue(ctx) - if err != nil { - return v, fmt.Errorf("querying old value for OldToggleNetworkUse: %w", err) - } - return oldValue.ToggleNetworkUse, nil -} - -// ResetToggleNetworkUse resets all changes to the "toggle_network_use" field. -func (m *ModMutation) ResetToggleNetworkUse() { - m.toggle_network_use = nil -} - // SetNetworkUseDisclosure sets the "network_use_disclosure" field. func (m *ModMutation) SetNetworkUseDisclosure(s string) { m.network_use_disclosure = &s @@ -3385,7 +3348,7 @@ func (m *ModMutation) Type() string { // order to get all numeric fields that were incremented/decremented, call // AddedFields(). func (m *ModMutation) Fields() []string { - fields := make([]string, 0, 24) + fields := make([]string, 0, 23) if m.created_at != nil { fields = append(fields, mod.FieldCreatedAt) } @@ -3446,9 +3409,6 @@ func (m *ModMutation) Fields() []string { if m.compatibility != nil { fields = append(fields, mod.FieldCompatibility) } - if m.toggle_network_use != nil { - fields = append(fields, mod.FieldToggleNetworkUse) - } if m.network_use_disclosure != nil { fields = append(fields, mod.FieldNetworkUseDisclosure) } @@ -3506,8 +3466,6 @@ func (m *ModMutation) Field(name string) (ent.Value, bool) { return m.Hidden() case mod.FieldCompatibility: return m.Compatibility() - case mod.FieldToggleNetworkUse: - return m.ToggleNetworkUse() case mod.FieldNetworkUseDisclosure: return m.NetworkUseDisclosure() case mod.FieldAiUseDisclosure: @@ -3563,8 +3521,6 @@ func (m *ModMutation) OldField(ctx context.Context, name string) (ent.Value, err return m.OldHidden(ctx) case mod.FieldCompatibility: return m.OldCompatibility(ctx) - case mod.FieldToggleNetworkUse: - return m.OldToggleNetworkUse(ctx) case mod.FieldNetworkUseDisclosure: return m.OldNetworkUseDisclosure(ctx) case mod.FieldAiUseDisclosure: @@ -3720,13 +3676,6 @@ func (m *ModMutation) SetField(name string, value ent.Value) error { } m.SetCompatibility(v) return nil - case mod.FieldToggleNetworkUse: - v, ok := value.(bool) - if !ok { - return fmt.Errorf("unexpected type %T for field %s", value, name) - } - m.SetToggleNetworkUse(v) - return nil case mod.FieldNetworkUseDisclosure: v, ok := value.(string) if !ok { @@ -3959,9 +3908,6 @@ func (m *ModMutation) ResetField(name string) error { case mod.FieldCompatibility: m.ResetCompatibility() return nil - case mod.FieldToggleNetworkUse: - m.ResetToggleNetworkUse() - return nil case mod.FieldNetworkUseDisclosure: m.ResetNetworkUseDisclosure() return nil diff --git a/generated/ent/runtime/runtime.go b/generated/ent/runtime/runtime.go index b1daacfb..b1666ef6 100644 --- a/generated/ent/runtime/runtime.go +++ b/generated/ent/runtime/runtime.go @@ -147,12 +147,8 @@ func init() { modDescHidden := modFields[15].Descriptor() // mod.DefaultHidden holds the default value on creation for the hidden field. mod.DefaultHidden = modDescHidden.Default.(bool) - // modDescToggleNetworkUse is the schema descriptor for toggle_network_use field. - modDescToggleNetworkUse := modFields[17].Descriptor() - // mod.DefaultToggleNetworkUse holds the default value on creation for the toggle_network_use field. - mod.DefaultToggleNetworkUse = modDescToggleNetworkUse.Default.(bool) // modDescToggleExplicitContent is the schema descriptor for toggle_explicit_content field. - modDescToggleExplicitContent := modFields[20].Descriptor() + modDescToggleExplicitContent := modFields[19].Descriptor() // mod.DefaultToggleExplicitContent holds the default value on creation for the toggle_explicit_content field. mod.DefaultToggleExplicitContent = modDescToggleExplicitContent.Default.(bool) // modDescID is the schema descriptor for id field. diff --git a/generated/generated.go b/generated/generated.go index f49eaca2..4032a6aa 100644 --- a/generated/generated.go +++ b/generated/generated.go @@ -183,7 +183,6 @@ type ComplexityRoot struct { SourceURL func(childComplexity int) int Tags func(childComplexity int) int ToggleExplicitContent func(childComplexity int) int - ToggleNetworkUse func(childComplexity int) int UpdatedAt func(childComplexity int) int Version func(childComplexity int, version string) int Versions func(childComplexity int, filter map[string]interface{}) int @@ -999,13 +998,6 @@ func (e *executableSchema) Complexity(ctx context.Context, typeName, field strin return e.complexity.Mod.ToggleExplicitContent(childComplexity), true - case "Mod.toggle_network_use": - if e.complexity.Mod.ToggleNetworkUse == nil { - break - } - - return e.complexity.Mod.ToggleNetworkUse(childComplexity), true - case "Mod.updated_at": if e.complexity.Mod.UpdatedAt == nil { break @@ -2808,7 +2800,6 @@ type Mod { hidden: Boolean! tags: [Tag!] compatibility: CompatibilityInfo - toggle_network_use: Boolean! network_use_disclosure: String ai_use_disclosure: AIUseDisclosureInfo toggle_explicit_content: Boolean! @@ -2863,7 +2854,6 @@ input NewMod { mod_reference: ModReference! hidden: Boolean tagIDs: [TagID!] - toggle_network_use: Boolean toggle_explicit_content: Boolean } @@ -2878,7 +2868,6 @@ input UpdateMod { hidden: Boolean tagIDs: [TagID!] compatibility: CompatibilityInfoInput - toggle_network_use: Boolean network_use_disclosure: String ai_use_disclosure: AIUseDisclosureInput toggle_explicit_content: Boolean @@ -6645,8 +6634,6 @@ func (ec *executionContext) fieldContext_GetMods_mods(_ context.Context, field g return ec.fieldContext_Mod_tags(ctx, field) case "compatibility": return ec.fieldContext_Mod_compatibility(ctx, field) - case "toggle_network_use": - return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) case "ai_use_disclosure": @@ -6791,8 +6778,6 @@ func (ec *executionContext) fieldContext_GetMyMods_mods(_ context.Context, field return ec.fieldContext_Mod_tags(ctx, field) case "compatibility": return ec.fieldContext_Mod_compatibility(ctx, field) - case "toggle_network_use": - return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) case "ai_use_disclosure": @@ -8920,50 +8905,6 @@ func (ec *executionContext) fieldContext_Mod_compatibility(_ context.Context, fi return fc, nil } -func (ec *executionContext) _Mod_toggle_network_use(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_Mod_toggle_network_use(ctx, field) - if err != nil { - return graphql.Null - } - ctx = graphql.WithFieldContext(ctx, fc) - defer func() { - if r := recover(); r != nil { - ec.Error(ctx, ec.Recover(ctx, r)) - ret = graphql.Null - } - }() - resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { - ctx = rctx // use context from middleware stack in children - return obj.ToggleNetworkUse, nil - }) - if err != nil { - ec.Error(ctx, err) - return graphql.Null - } - if resTmp == nil { - if !graphql.HasFieldError(ctx, fc) { - ec.Errorf(ctx, "must not be null") - } - return graphql.Null - } - res := resTmp.(bool) - fc.Result = res - return ec.marshalNBoolean2bool(ctx, field.Selections, res) -} - -func (ec *executionContext) fieldContext_Mod_toggle_network_use(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { - fc = &graphql.FieldContext{ - Object: "Mod", - Field: field, - IsMethod: false, - IsResolver: false, - Child: func(ctx context.Context, field graphql.CollectedField) (*graphql.FieldContext, error) { - return nil, errors.New("field of type Boolean does not have child fields") - }, - } - return fc, nil -} - func (ec *executionContext) _Mod_network_use_disclosure(ctx context.Context, field graphql.CollectedField, obj *Mod) (ret graphql.Marshaler) { fc, err := ec.fieldContext_Mod_network_use_disclosure(ctx, field) if err != nil { @@ -10475,8 +10416,6 @@ func (ec *executionContext) fieldContext_Mutation_createMod(ctx context.Context, return ec.fieldContext_Mod_tags(ctx, field) case "compatibility": return ec.fieldContext_Mod_compatibility(ctx, field) - case "toggle_network_use": - return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) case "ai_use_disclosure": @@ -10622,8 +10561,6 @@ func (ec *executionContext) fieldContext_Mutation_updateMod(ctx context.Context, return ec.fieldContext_Mod_tags(ctx, field) case "compatibility": return ec.fieldContext_Mod_compatibility(ctx, field) - case "toggle_network_use": - return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) case "ai_use_disclosure": @@ -13196,8 +13133,6 @@ func (ec *executionContext) fieldContext_Query_getMod(ctx context.Context, field return ec.fieldContext_Mod_tags(ctx, field) case "compatibility": return ec.fieldContext_Mod_compatibility(ctx, field) - case "toggle_network_use": - return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) case "ai_use_disclosure": @@ -13306,8 +13241,6 @@ func (ec *executionContext) fieldContext_Query_getModByReference(ctx context.Con return ec.fieldContext_Mod_tags(ctx, field) case "compatibility": return ec.fieldContext_Mod_compatibility(ctx, field) - case "toggle_network_use": - return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) case "ai_use_disclosure": @@ -13416,8 +13349,6 @@ func (ec *executionContext) fieldContext_Query_getModByIdOrReference(ctx context return ec.fieldContext_Mod_tags(ctx, field) case "compatibility": return ec.fieldContext_Mod_compatibility(ctx, field) - case "toggle_network_use": - return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) case "ai_use_disclosure": @@ -17205,8 +17136,6 @@ func (ec *executionContext) fieldContext_UserMod_mod(_ context.Context, field gr return ec.fieldContext_Mod_tags(ctx, field) case "compatibility": return ec.fieldContext_Mod_compatibility(ctx, field) - case "toggle_network_use": - return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) case "ai_use_disclosure": @@ -18454,8 +18383,6 @@ func (ec *executionContext) fieldContext_Version_mod(_ context.Context, field gr return ec.fieldContext_Mod_tags(ctx, field) case "compatibility": return ec.fieldContext_Mod_compatibility(ctx, field) - case "toggle_network_use": - return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) case "ai_use_disclosure": @@ -18893,8 +18820,6 @@ func (ec *executionContext) fieldContext_VersionDependency_mod(_ context.Context return ec.fieldContext_Mod_tags(ctx, field) case "compatibility": return ec.fieldContext_Mod_compatibility(ctx, field) - case "toggle_network_use": - return ec.fieldContext_Mod_toggle_network_use(ctx, field) case "network_use_disclosure": return ec.fieldContext_Mod_network_use_disclosure(ctx, field) case "ai_use_disclosure": @@ -21884,7 +21809,7 @@ func (ec *executionContext) unmarshalInputNewMod(ctx context.Context, obj any) ( asMap[k] = v } - fieldsInOrder := [...]string{"name", "short_description", "full_description", "logo", "source_url", "mod_reference", "hidden", "tagIDs", "toggle_network_use", "toggle_explicit_content"} + fieldsInOrder := [...]string{"name", "short_description", "full_description", "logo", "source_url", "mod_reference", "hidden", "tagIDs", "toggle_explicit_content"} for _, k := range fieldsInOrder { v, ok := asMap[k] if !ok { @@ -21947,13 +21872,6 @@ func (ec *executionContext) unmarshalInputNewMod(ctx context.Context, obj any) ( return it, err } it.TagIDs = data - case "toggle_network_use": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("toggle_network_use")) - data, err := ec.unmarshalOBoolean2ᚖbool(ctx, v) - if err != nil { - return it, err - } - it.ToggleNetworkUse = data case "toggle_explicit_content": ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("toggle_explicit_content")) data, err := ec.unmarshalOBoolean2ᚖbool(ctx, v) @@ -22275,7 +22193,7 @@ func (ec *executionContext) unmarshalInputUpdateMod(ctx context.Context, obj any asMap[k] = v } - fieldsInOrder := [...]string{"name", "short_description", "full_description", "logo", "source_url", "mod_reference", "authors", "hidden", "tagIDs", "compatibility", "toggle_network_use", "network_use_disclosure", "ai_use_disclosure", "toggle_explicit_content"} + fieldsInOrder := [...]string{"name", "short_description", "full_description", "logo", "source_url", "mod_reference", "authors", "hidden", "tagIDs", "compatibility", "network_use_disclosure", "ai_use_disclosure", "toggle_explicit_content"} for _, k := range fieldsInOrder { v, ok := asMap[k] if !ok { @@ -22352,13 +22270,6 @@ func (ec *executionContext) unmarshalInputUpdateMod(ctx context.Context, obj any return it, err } it.Compatibility = data - case "toggle_network_use": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("toggle_network_use")) - data, err := ec.unmarshalOBoolean2ᚖbool(ctx, v) - if err != nil { - return it, err - } - it.ToggleNetworkUse = data case "network_use_disclosure": ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("network_use_disclosure")) data, err := ec.unmarshalOString2ᚖstring(ctx, v) @@ -23810,11 +23721,6 @@ func (ec *executionContext) _Mod(ctx context.Context, sel ast.SelectionSet, obj out.Values[i] = ec._Mod_tags(ctx, field, obj) case "compatibility": out.Values[i] = ec._Mod_compatibility(ctx, field, obj) - case "toggle_network_use": - out.Values[i] = ec._Mod_toggle_network_use(ctx, field, obj) - if out.Values[i] == graphql.Null { - atomic.AddUint32(&out.Invalids, 1) - } case "network_use_disclosure": out.Values[i] = ec._Mod_network_use_disclosure(ctx, field, obj) case "ai_use_disclosure": diff --git a/generated/models_gen.go b/generated/models_gen.go index 7d2fe03f..930fafe0 100644 --- a/generated/models_gen.go +++ b/generated/models_gen.go @@ -139,7 +139,6 @@ type Mod struct { Hidden bool `json:"hidden"` Tags []*Tag `json:"tags,omitempty"` Compatibility *CompatibilityInfo `json:"compatibility,omitempty"` - ToggleNetworkUse bool `json:"toggle_network_use"` NetworkUseDisclosure *string `json:"network_use_disclosure,omitempty"` AiUseDisclosure *AIUseDisclosureInfo `json:"ai_use_disclosure,omitempty"` ToggleExplicitContent bool `json:"toggle_explicit_content"` diff --git a/go.sum b/go.sum index 9cab2517..05a00337 100644 --- a/go.sum +++ b/go.sum @@ -318,6 +318,8 @@ github.com/hashicorp/hcl/v2 v2.13.0 h1:0Apadu1w6M11dyGFxWnmhhcMjkbAiKCv7G1r/2QgC github.com/hashicorp/hcl/v2 v2.13.0/go.mod h1:e4z5nxYlWNPdDSNYX+ph14EvWYMFm3eP0zIUqPc2jr0= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/ianlancetaylor/demangle v0.0.0-20230524184225-eabc099b10ab/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw= +github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= +github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 h1:iCEnooe7UlwOQYpKFhBabPMi4aNAfoODPEFNiAnClxo= @@ -416,6 +418,8 @@ github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/o1egl/paseto/v2 v2.1.1 h1:vWP5o9P/3UEXXQ+/BHQRrpdXpK+X9RMtD4IvB30FWF0= github.com/o1egl/paseto/v2 v2.1.1/go.mod h1:HQ4aS/uX2A/v1h/BIh5XTFStRm+eMdI7G/jBaQ0vaCA= +github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= +github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= @@ -483,6 +487,8 @@ github.com/spf13/afero v1.14.0 h1:9tH6MapGnn/j0eb0yIXiLjERO8RB6xIVZRDCX7PtqWA= github.com/spf13/afero v1.14.0/go.mod h1:acJQ8t0ohCGuMN3O+Pv0V0hgMxNYDlvdk+VTfyZmbYo= github.com/spf13/cast v1.9.2 h1:SsGfm7M8QOFtEzumm7UZrZdLLquNdzFYfIbEXntcFbE= github.com/spf13/cast v1.9.2/go.mod h1:jNfB8QC9IA6ZuY2ZjDp0KtFO2LZZlg4S/7bzP6qqeHo= +github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo= +github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0= github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o= github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4= diff --git a/gql/resolver_mods.go b/gql/resolver_mods.go index 1674c414..e12f5cfc 100644 --- a/gql/resolver_mods.go +++ b/gql/resolver_mods.go @@ -79,7 +79,6 @@ func (r *mutationResolver) CreateMod(ctx context.Context, newMod generated.NewMo SetINNF(newMod.SourceURL, dbMod.SetSourceURL) SetINNF(newMod.FullDescription, dbMod.SetFullDescription) SetINNF(newMod.Hidden, dbMod.SetHidden) - SetINNF(newMod.ToggleNetworkUse, dbMod.SetToggleNetworkUse) SetINNF(newMod.ToggleExplicitContent, dbMod.SetToggleExplicitContent) user, _, err := db.UserFromGQLContext(ctx) @@ -191,7 +190,6 @@ func (r *mutationResolver) UpdateMod(ctx context.Context, modID string, updateMo SetINNF(updateMod.ModReference, dbUpdate.SetModReference) SetINNF(updateMod.Hidden, dbUpdate.SetHidden) SetCompatibilityINNF(updateMod.Compatibility, dbUpdate.SetCompatibility) - SetINNF(updateMod.ToggleNetworkUse, dbUpdate.SetToggleNetworkUse) SetINNF(updateMod.ToggleExplicitContent, dbUpdate.SetToggleExplicitContent) aiDisclosureUpdate, isSet := updateMod.AiUseDisclosure.ValueOK() diff --git a/migrations/sql/20260523001901_remove_toggle_network_use.down.sql b/migrations/sql/20260523001901_remove_toggle_network_use.down.sql new file mode 100644 index 00000000..2996ebfe --- /dev/null +++ b/migrations/sql/20260523001901_remove_toggle_network_use.down.sql @@ -0,0 +1,2 @@ +-- reverse: modify "mods" table +ALTER TABLE "mods" ADD COLUMN "toggle_network_use" boolean NOT NULL DEFAULT false; diff --git a/migrations/sql/20260523001901_remove_toggle_network_use.up.sql b/migrations/sql/20260523001901_remove_toggle_network_use.up.sql new file mode 100644 index 00000000..9c8c72ea --- /dev/null +++ b/migrations/sql/20260523001901_remove_toggle_network_use.up.sql @@ -0,0 +1,2 @@ +-- modify "mods" table +ALTER TABLE "mods" DROP COLUMN "toggle_network_use"; diff --git a/migrations/sql/atlas.sum b/migrations/sql/atlas.sum index 0cffeacf..31d119df 100644 --- a/migrations/sql/atlas.sum +++ b/migrations/sql/atlas.sum @@ -1,4 +1,4 @@ -h1:b/bdKEx9qDBSh0200yiZlYOj2e6exg5OBv3yoXERRow= +h1:+IPkj9RbRMwuGI27zAuSeh0ssNfLELVBILxPlx4SwXM= 000001_create_initial_tables.up.sql h1:D0NgABAZGONTBH9/T9MFCYkbw/LSee86lP4XsQYMx98= 000002_create_user_group_table.up.sql h1:+fOxjCFeU5GoVTO5cXzxWsMZtz2Qz3tal9vT5kdYuFI= 000003_add_last_version_date_mod_table.up.sql h1:t73i5gC2YrwlIcDn/MZmznGnArF0aA8dLYuA9NnVtbE= @@ -42,3 +42,4 @@ h1:b/bdKEx9qDBSh0200yiZlYOj2e6exg5OBv3yoXERRow= 20250411023207_AddNetworkUsageDisclosure.up.sql h1:XgIdy3eJQ+VJSlx4Nr8ltcXFk6AwbSnzfnhC4RI9c9k= 20260427195353_add_ai_disclosure.up.sql h1:5w7oyF5109FT6XYvLDP866K0G0/H7SHS2cJDTHnjlS0= 20260501041455_add_default_controller_compatibility.up.sql h1:yBqEbilNGlwO1Q7+B8VCkt5TOzS8KXpzy0K320A9jpk= +20260523001901_remove_toggle_network_use.up.sql h1:+GeWsNuC9gpjEAGQgaHLXidFCjX8mwW/5FQy19ZlRlo= diff --git a/schemas/mod.graphql b/schemas/mod.graphql index 1d62e4cd..283f1df1 100755 --- a/schemas/mod.graphql +++ b/schemas/mod.graphql @@ -43,7 +43,6 @@ type Mod { hidden: Boolean! tags: [Tag!] compatibility: CompatibilityInfo - toggle_network_use: Boolean! network_use_disclosure: String ai_use_disclosure: AIUseDisclosureInfo toggle_explicit_content: Boolean! @@ -98,7 +97,6 @@ input NewMod { mod_reference: ModReference! hidden: Boolean tagIDs: [TagID!] - toggle_network_use: Boolean toggle_explicit_content: Boolean } @@ -113,7 +111,6 @@ input UpdateMod { hidden: Boolean tagIDs: [TagID!] compatibility: CompatibilityInfoInput - toggle_network_use: Boolean network_use_disclosure: String ai_use_disclosure: AIUseDisclosureInput toggle_explicit_content: Boolean diff --git a/tests/mod_test.go b/tests/mod_test.go index d8cfe3dc..2faa7c41 100644 --- a/tests/mod_test.go +++ b/tests/mod_test.go @@ -109,7 +109,6 @@ func TestMods(t *testing.T) { full_description: "Lorem ipsum dolor sit amet", mod_reference: $mod_reference, tagIDs: $tags, - toggle_network_use: true, toggle_explicit_content: true }) { id @@ -147,7 +146,6 @@ func TestMods(t *testing.T) { last_version_date mod_reference hidden - toggle_network_use toggle_explicit_content tags { id @@ -194,7 +192,6 @@ func TestMods(t *testing.T) { testza.AssertEqual(t, &fullDescription, queryResponse.GetMod.FullDescription) testza.AssertEqual(t, modReference, queryResponse.GetMod.ModReference) testza.AssertEqual(t, userID, queryResponse.GetMod.CreatorID) - testza.AssertTrue(t, queryResponse.GetMod.ToggleNetworkUse) testza.AssertTrue(t, queryResponse.GetMod.ToggleExplicitContent) }) @@ -260,7 +257,6 @@ func TestMods(t *testing.T) { name: "Foo Bar", tagIDs: $tags, authors: $authors, - toggle_network_use: false, toggle_explicit_content: false, compatibility: { EA: { @@ -331,7 +327,6 @@ func TestMods(t *testing.T) { testza.AssertEqual(t, &fullDescription, queryResponse.GetMods.Mods[1].FullDescription) testza.AssertEqual(t, modReference, queryResponse.GetMods.Mods[1].ModReference) testza.AssertEqual(t, userID, queryResponse.GetMods.Mods[1].CreatorID) - testza.AssertFalse(t, queryResponse.GetMods.Mods[1].ToggleNetworkUse) testza.AssertFalse(t, queryResponse.GetMods.Mods[1].ToggleExplicitContent) }) From c3b033f647b0f0032207e9e7153441d651d65e45 Mon Sep 17 00:00:00 2001 From: Rob B Date: Fri, 22 May 2026 20:56:53 -0400 Subject: [PATCH 083/100] fix: revert go.sum changes produced by running migrate_hash --- go.sum | 6 ------ 1 file changed, 6 deletions(-) diff --git a/go.sum b/go.sum index 05a00337..9cab2517 100644 --- a/go.sum +++ b/go.sum @@ -318,8 +318,6 @@ github.com/hashicorp/hcl/v2 v2.13.0 h1:0Apadu1w6M11dyGFxWnmhhcMjkbAiKCv7G1r/2QgC github.com/hashicorp/hcl/v2 v2.13.0/go.mod h1:e4z5nxYlWNPdDSNYX+ph14EvWYMFm3eP0zIUqPc2jr0= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/ianlancetaylor/demangle v0.0.0-20230524184225-eabc099b10ab/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw= -github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= -github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 h1:iCEnooe7UlwOQYpKFhBabPMi4aNAfoODPEFNiAnClxo= @@ -418,8 +416,6 @@ github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/o1egl/paseto/v2 v2.1.1 h1:vWP5o9P/3UEXXQ+/BHQRrpdXpK+X9RMtD4IvB30FWF0= github.com/o1egl/paseto/v2 v2.1.1/go.mod h1:HQ4aS/uX2A/v1h/BIh5XTFStRm+eMdI7G/jBaQ0vaCA= -github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= -github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= @@ -487,8 +483,6 @@ github.com/spf13/afero v1.14.0 h1:9tH6MapGnn/j0eb0yIXiLjERO8RB6xIVZRDCX7PtqWA= github.com/spf13/afero v1.14.0/go.mod h1:acJQ8t0ohCGuMN3O+Pv0V0hgMxNYDlvdk+VTfyZmbYo= github.com/spf13/cast v1.9.2 h1:SsGfm7M8QOFtEzumm7UZrZdLLquNdzFYfIbEXntcFbE= github.com/spf13/cast v1.9.2/go.mod h1:jNfB8QC9IA6ZuY2ZjDp0KtFO2LZZlg4S/7bzP6qqeHo= -github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo= -github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0= github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o= github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4= From efd748f3fb06d32342a9d2570769aacbe9ba3ca7 Mon Sep 17 00:00:00 2001 From: Rob B Date: Fri, 22 May 2026 21:12:37 -0400 Subject: [PATCH 084/100] fix: forgot to also remove field from `custom_models` type `UpdateMod` --- generated/custom_models.go | 1 - tests/ai_use_disclosure_test.go | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/generated/custom_models.go b/generated/custom_models.go index 509bf731..99de3274 100755 --- a/generated/custom_models.go +++ b/generated/custom_models.go @@ -26,7 +26,6 @@ type UpdateMod struct { Compatibility *CompatibilityInfoInput `json:"compatibility"` Authors []UpdateUserMod `json:"authors"` TagIDs []string `json:"tagIDs" validate:"dive,min=3,max=24"` - ToggleNetworkUse *bool `json:"toggle_network_use"` NetworkUseDisclosure graphql.Omittable[*string] `json:"network_use_disclosure"` ToggleExplicitContent *bool `json:"toggle_explicit_content"` AiUseDisclosure graphql.Omittable[*AIUseDisclosureInput] `json:"ai_use_disclosure"` diff --git a/tests/ai_use_disclosure_test.go b/tests/ai_use_disclosure_test.go index fa3783de..4c5a2871 100644 --- a/tests/ai_use_disclosure_test.go +++ b/tests/ai_use_disclosure_test.go @@ -46,7 +46,7 @@ func TestAiDisclosure(t *testing.T) { modID := createResponse.CreateMod.ID // Empty string disclosure message is not allowed - failedUpdateEmptyString := authRequest(`mutation ($id: ModID!, $ai_use_disclosure: AIUseDisclosureInput!) { + failedUpdateEmptyString := authRequest(`mutation ($id: ModID!, $ai_use_disclosure: AIUseDisclosureInput) { updateMod( modId: $id mod: { @@ -75,7 +75,7 @@ func TestAiDisclosure(t *testing.T) { testza.AssertContains(t, err.Error(), "you need to input a disclosure message when disclosing AI usage") // Assigning a valid AI disclosure succeeds and updates the mod's disclosure information - disclosureRequest := authRequest(`mutation ($id: ModID!, $ai_use_disclosure: AIUseDisclosureInput!) { + disclosureRequest := authRequest(`mutation ($id: ModID!, $ai_use_disclosure: AIUseDisclosureInput) { updateMod( modId: $id mod: { From 0bdde7582c5ef95745c2e3ca65b71ab615abbab4 Mon Sep 17 00:00:00 2001 From: Rob B Date: Sun, 24 May 2026 17:15:20 -0400 Subject: [PATCH 085/100] fix: address possible nil pointer deref --- gql/resolver_mods.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gql/resolver_mods.go b/gql/resolver_mods.go index e12f5cfc..83773ac3 100644 --- a/gql/resolver_mods.go +++ b/gql/resolver_mods.go @@ -194,7 +194,7 @@ func (r *mutationResolver) UpdateMod(ctx context.Context, modID string, updateMo aiDisclosureUpdate, isSet := updateMod.AiUseDisclosure.ValueOK() if isSet && aiDisclosureUpdate != nil && aiDisclosureUpdate.DisclosureType != generated.AIUseDisclosureTypeNoDisclosure { - if requiresMessage(aiDisclosureUpdate.DisclosureType) && *aiDisclosureUpdate.DisclosureString == "" { + if requiresMessage(aiDisclosureUpdate.DisclosureType) && (aiDisclosureUpdate.DisclosureString == nil || *aiDisclosureUpdate.DisclosureString == "") { return nil, errors.New("you need to input a disclosure message when disclosing AI usage") } SetAIDisclosureINNF(aiDisclosureUpdate, dbUpdate.SetAiUseDisclosure) From 210367cf3d25ee891021165a94e53849a0e1382a Mon Sep 17 00:00:00 2001 From: Rob B Date: Sun, 24 May 2026 17:15:33 -0400 Subject: [PATCH 086/100] fix: address errant failure message --- tests/version_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/version_test.go b/tests/version_test.go index a9a8914c..99338555 100644 --- a/tests/version_test.go +++ b/tests/version_test.go @@ -109,7 +109,7 @@ func RunVersionTest(ctx context.Context, t *testing.T, client *graphql.Client, m if providedToken == "" { var err error token, _, err = makeUser(ctx) - testza.AssertNoError(t, err, token) + testza.AssertNoError(t, err) } modID := reuseModID From 58991345080d735768bc739b89a5afc452293151 Mon Sep 17 00:00:00 2001 From: Rob B Date: Sun, 24 May 2026 17:46:03 -0400 Subject: [PATCH 087/100] docs: add comments to INN* functions --- gql/gql_utils.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gql/gql_utils.go b/gql/gql_utils.go index 26b1cf3d..268c9899 100644 --- a/gql/gql_utils.go +++ b/gql/gql_utils.go @@ -18,6 +18,7 @@ func SetINN[T any](v *T, target *T) { } } +// SetCompatibilityINNF calls function 'target' to set value if not nil func SetCompatibilityINNF[B any](value *generated.CompatibilityInfoInput, target func(*util.CompatibilityInfo) B) { if value == nil { return @@ -25,6 +26,7 @@ func SetCompatibilityINNF[B any](value *generated.CompatibilityInfoInput, target target(GenCompInfoToDBCompInfo(value)) } +// SetAIDisclosureINNF calls function 'target' to set value if not nil func SetAIDisclosureINNF[B any](value *generated.AIUseDisclosureInput, target func(*util.AIUseDisclosureInfo) B) { if value == nil { return @@ -32,26 +34,28 @@ func SetAIDisclosureINNF[B any](value *generated.AIUseDisclosureInput, target fu target(GenAIDisclosureInfoToDBAIDisclosureInfo(value)) } -// SetINNF - Set if not null function +// SetINNF calls function 'target' to set value if not nil func SetINNF[T any, B any](value *T, target func(T) B) { if value != nil { target(*value) } } -// SetINNOEF - Set if not null or empty function +// SetINNOEF calls function 'target' to set value if not nil or empty func SetINNOEF[T comparable, B any](value *T, target func(T) B) { if value != nil && *value != *(new(T)) { target(*value) } } +// SetStabilityINNF calls function 'target' to set value if not nil func SetStabilityINNF[B any](value *generated.VersionStabilities, target func(util.Stability) B) { if value != nil { target(util.Stability(*value)) } } +// SetDateINNF calls function 'target' to set value if not nil func SetDateINNF[B any](value *string, target func(time.Time) B) { if value != nil { t, _ := time.Parse(time.RFC3339Nano, *value) From f0fc7e8bf564677831a9bfb27a2d70ca4a89365d Mon Sep 17 00:00:00 2001 From: Rob B Date: Sun, 24 May 2026 18:00:27 -0400 Subject: [PATCH 088/100] refactor: generalized Compatibility setter --- gql/gql_types.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/gql/gql_types.go b/gql/gql_types.go index ddcc3605..f19ba933 100644 --- a/gql/gql_types.go +++ b/gql/gql_types.go @@ -16,20 +16,20 @@ func GenCompInfoToDBCompInfo(gen *generated.CompatibilityInfoInput) *util.Compat } } -func GenCompToDBComp(gen *generated.CompatibilityInput) util.Compatibility { +func setStateINN(state string, note *string) util.Compatibility { r := util.Compatibility{ - State: string(gen.State), + State: state, } - SetINN(gen.Note, &r.Note) + SetINN(note, &r.Note) return r } +func GenCompToDBComp(gen *generated.CompatibilityInput) util.Compatibility { + return setStateINN(string(gen.State), gen.Note) +} + func GenControllerCompToDBControllerComp(gen *generated.ControllerCompatibilityInput) util.Compatibility { - r := util.Compatibility{ - State: string(gen.State), - } - SetINN(gen.Note, &r.Note) - return r + return setStateINN(string(gen.State), gen.Note) } func GenAIDisclosureInfoToDBAIDisclosureInfo(gen *generated.AIUseDisclosureInput) *util.AIUseDisclosureInfo { From c4d8adb994624bad6ec43bfbe74f06a0a0f033f9 Mon Sep 17 00:00:00 2001 From: Rob B Date: Sun, 24 May 2026 18:43:54 -0400 Subject: [PATCH 089/100] refactor: version reuse checks as 1 combined query --- workflows/versionupload/extract_mod_info.go | 30 ++++++++------------- 1 file changed, 11 insertions(+), 19 deletions(-) diff --git a/workflows/versionupload/extract_mod_info.go b/workflows/versionupload/extract_mod_info.go index 7f74eb31..1e4b6c60 100644 --- a/workflows/versionupload/extract_mod_info.go +++ b/workflows/versionupload/extract_mod_info.go @@ -12,6 +12,7 @@ import ( "github.com/satisfactorymodding/smr-api/db" "github.com/satisfactorymodding/smr-api/db/schema" + "github.com/satisfactorymodding/smr-api/generated/ent" version2 "github.com/satisfactorymodding/smr-api/generated/ent/version" "github.com/satisfactorymodding/smr-api/util" "github.com/satisfactorymodding/smr-api/validation" @@ -52,29 +53,20 @@ func (*A) ExtractModInfoActivity(ctx context.Context, args ExtractModInfoArgs) ( return nil, temporal.NewNonRetryableApplicationError("multi-target mods are not allowed", "fatal", nil) } - count, err := db.From(ctx).Version.Query(). - Where(version2.ModID(mod.ID), version2.Version(modInfo.Version)). - Count(ctx) - if err != nil { - return nil, temporal.NewNonRetryableApplicationError("database error", "fatal", err) - } - - if count > 0 { - return nil, temporal.NewNonRetryableApplicationError("this mod already has a published version with this name", "fatal", nil) - } - - countIncludingDeleted, err := db.From(ctx).Version.Query(). + existingPotentiallySoftDeletedVersion, err := db.From(ctx).Version.Query(). Where( version2.ModID(mod.ID), version2.Version(modInfo.Version), - version2.DeletedAtNotNil(), - ). - Count(schema.SkipSoftDelete(ctx)) + ).Only(schema.SkipSoftDelete(ctx)) if err != nil { - return nil, temporal.NewNonRetryableApplicationError("database error", "fatal", err) - } - - if countIncludingDeleted > 0 { + if !ent.IsNotFound(err) { + return nil, temporal.NewNonRetryableApplicationError("database error", "fatal", err) + } + // 'Not Found' is an okay case (no version with the same version number) + } else { + if existingPotentiallySoftDeletedVersion.DeletedAt.IsZero() { + return nil, temporal.NewNonRetryableApplicationError("this mod already has a published version with this name", "fatal", nil) + } return nil, temporal.NewNonRetryableApplicationError("reusing the version name of a deleted mod version is not allowed", "fatal", nil) } From 71042e2e99d1166b89bffff09964cd774380bbe1 Mon Sep 17 00:00:00 2001 From: Rob B Date: Sun, 24 May 2026 19:06:03 -0400 Subject: [PATCH 090/100] test: utils helper for disclosure setting --- tests/sml_versions_test.go | 20 +------------------- tests/utils.go | 24 ++++++++++++++++++++++++ tests/version_test.go | 20 +------------------- 3 files changed, 26 insertions(+), 38 deletions(-) diff --git a/tests/sml_versions_test.go b/tests/sml_versions_test.go index 503af034..ba9c2011 100644 --- a/tests/sml_versions_test.go +++ b/tests/sml_versions_test.go @@ -14,7 +14,6 @@ import ( "testing" "time" - "github.com/99designs/gqlgen/graphql" "github.com/MarvinJWendt/testza" "github.com/spf13/viper" @@ -74,25 +73,8 @@ func TestSMLVersions(t *testing.T) { smlModID = getResponse.GetModByReference.ID }) - // Apply network and AI use disclosure (required for version uploads) t.Run("Set Disclosures", func(t *testing.T) { - updateDisclosure := authRequest(`mutation UpdateMod($mod_id: ModID!, $mod: UpdateMod!) { - updateMod(modId: $mod_id, mod: $mod) { - id - } - }`, token) - updateDisclosure.Var("mod_id", smlModID) - valueOfNoNetworkUse := "" - updateDisclosure.Var("mod", generated.UpdateMod{ - AiUseDisclosure: graphql.OmittableOf(&generated.AIUseDisclosureInput{ - DisclosureType: generated.AIUseDisclosureTypeNoAiUsage, - }), - NetworkUseDisclosure: graphql.OmittableOf(&valueOfNoNetworkUse), - }) - var updateResponse struct { - UpdateMod *generated.Mod - } - testza.AssertNoError(t, client.Run(ctx, updateDisclosure, &updateResponse)) + setModDisclosures(ctx, t, client, smlModID, token) }) var versionID string diff --git a/tests/utils.go b/tests/utils.go index e16f841b..c71fd938 100644 --- a/tests/utils.go +++ b/tests/utils.go @@ -6,7 +6,10 @@ import ( "fmt" "log/slog" "sync" + "testing" + gqlgen "github.com/99designs/gqlgen/graphql" + "github.com/MarvinJWendt/testza" "github.com/Vilsol/slox" "github.com/google/uuid" "github.com/machinebox/graphql" @@ -15,6 +18,7 @@ import ( smr "github.com/satisfactorymodding/smr-api/api" "github.com/satisfactorymodding/smr-api/auth" "github.com/satisfactorymodding/smr-api/db" + "github.com/satisfactorymodding/smr-api/generated" "github.com/satisfactorymodding/smr-api/redis" "github.com/satisfactorymodding/smr-api/util" "github.com/satisfactorymodding/smr-api/validation" @@ -124,6 +128,26 @@ func makeUser(ctx context.Context) (string, string, error) { return session.Token, user.ID, nil } +func setModDisclosures(ctx context.Context, t *testing.T, client *graphql.Client, modID string, token string) { + updateDisclosure := authRequest(`mutation UpdateMod($mod_id: ModID!, $mod: UpdateMod!) { + updateMod(modId: $mod_id, mod: $mod) { + id + } + }`, token) + updateDisclosure.Var("mod_id", modID) + valueOfNoNetworkUse := "" + updateDisclosure.Var("mod", generated.UpdateMod{ + AiUseDisclosure: gqlgen.OmittableOf(&generated.AIUseDisclosureInput{ + DisclosureType: generated.AIUseDisclosureTypeNoAiUsage, + }), + NetworkUseDisclosure: gqlgen.OmittableOf(&valueOfNoNetworkUse), + }) + var updateResponse struct { + UpdateMod *generated.Mod + } + testza.AssertNoError(t, client.Run(ctx, updateDisclosure, &updateResponse)) +} + func authRequest(q string, token string) *graphql.Request { req := graphql.NewRequest(q) req.Header.Set("Authorization", token) diff --git a/tests/version_test.go b/tests/version_test.go index 99338555..85914fdb 100644 --- a/tests/version_test.go +++ b/tests/version_test.go @@ -15,7 +15,6 @@ import ( "testing" "time" - gqlgen "github.com/99designs/gqlgen/graphql" "github.com/MarvinJWendt/testza" "github.com/machinebox/graphql" "github.com/spf13/viper" @@ -153,25 +152,8 @@ func RunVersionTest(ctx context.Context, t *testing.T, client *graphql.Client, m modID = createResponse.CreateMod.ID }) - // Apply network and AI use disclosure (required for version uploads) t.Run("Set Disclosures", func(t *testing.T) { - updateDisclosure := authRequest(`mutation UpdateMod($mod_id: ModID!, $mod: UpdateMod!) { - updateMod(modId: $mod_id, mod: $mod) { - id - } - }`, token) - updateDisclosure.Var("mod_id", modID) - valueOfNoNetworkUse := "" - updateDisclosure.Var("mod", generated.UpdateMod{ - AiUseDisclosure: gqlgen.OmittableOf(&generated.AIUseDisclosureInput{ - DisclosureType: generated.AIUseDisclosureTypeNoAiUsage, - }), - NetworkUseDisclosure: gqlgen.OmittableOf(&valueOfNoNetworkUse), - }) - var updateResponse struct { - UpdateMod *generated.Mod - } - testza.AssertNoError(t, client.Run(ctx, updateDisclosure, &updateResponse)) + setModDisclosures(ctx, t, client, modID, token) }) } From 0d7529a2dc9000571b9dd1994103950a5249914f Mon Sep 17 00:00:00 2001 From: Rob B Date: Sun, 24 May 2026 19:15:33 -0400 Subject: [PATCH 091/100] refactor: migration name format consistency --- README.md | 5 ++++- ...250411023207_add_network_usage_disclosure.down.sql} | 0 ...20250411023207_add_network_usage_disclosure.up.sql} | 0 migrations/sql/atlas.sum | 10 +++++----- 4 files changed, 9 insertions(+), 6 deletions(-) rename migrations/sql/{20250411023207_AddNetworkUsageDisclosure.down.sql => 20250411023207_add_network_usage_disclosure.down.sql} (100%) rename migrations/sql/{20250411023207_AddNetworkUsageDisclosure.up.sql => 20250411023207_add_network_usage_disclosure.up.sql} (100%) diff --git a/README.md b/README.md index 8c2b0aaf..777292bc 100755 --- a/README.md +++ b/README.md @@ -190,9 +190,12 @@ See `config/config.go` for full configuration structure. - Swagger annotations 2. **Database Changes**: Use Atlas migrations (entgo has integration with it via golang-migrate) - - Use mise tasks to create migration files (`mise tasks` for more details) - SQL migrations in `migrations/sql/` + - Use mise tasks to create migration files (`mise tasks` for more details) + - Migration names should be in `snake_case` - Code migrations in `migrations/code/` + - Created manually + - Get applied after all SQL migrations (see [migrations.go](migrations/migrations.go) for details) 3. **Testing**: Tests require development services running diff --git a/migrations/sql/20250411023207_AddNetworkUsageDisclosure.down.sql b/migrations/sql/20250411023207_add_network_usage_disclosure.down.sql similarity index 100% rename from migrations/sql/20250411023207_AddNetworkUsageDisclosure.down.sql rename to migrations/sql/20250411023207_add_network_usage_disclosure.down.sql diff --git a/migrations/sql/20250411023207_AddNetworkUsageDisclosure.up.sql b/migrations/sql/20250411023207_add_network_usage_disclosure.up.sql similarity index 100% rename from migrations/sql/20250411023207_AddNetworkUsageDisclosure.up.sql rename to migrations/sql/20250411023207_add_network_usage_disclosure.up.sql diff --git a/migrations/sql/atlas.sum b/migrations/sql/atlas.sum index 31d119df..b64c5707 100644 --- a/migrations/sql/atlas.sum +++ b/migrations/sql/atlas.sum @@ -1,4 +1,4 @@ -h1:+IPkj9RbRMwuGI27zAuSeh0ssNfLELVBILxPlx4SwXM= +h1:qVtckAQy0aH0rYKGKYcLpXDu5MJoPPSo8m8EggTrRRA= 000001_create_initial_tables.up.sql h1:D0NgABAZGONTBH9/T9MFCYkbw/LSee86lP4XsQYMx98= 000002_create_user_group_table.up.sql h1:+fOxjCFeU5GoVTO5cXzxWsMZtz2Qz3tal9vT5kdYuFI= 000003_add_last_version_date_mod_table.up.sql h1:t73i5gC2YrwlIcDn/MZmznGnArF0aA8dLYuA9NnVtbE= @@ -39,7 +39,7 @@ h1:+IPkj9RbRMwuGI27zAuSeh0ssNfLELVBILxPlx4SwXM= 20241002191358_state_fix.up.sql h1:PkJ9r2oq+nxMtZgWfjhPUvWhlGVLlEeky/1xqTrURjM= 20241003161005_create_virustotal_results_table.up.sql h1:u6cVcBPQnurXvy5pqbyzG6C4ThJ59v6dmhp5DgZBrBE= 20241008092121_nullable_mod_logo.up.sql h1:ZLscID5T67EWW7NVp95cXNyOadb2G5qTH0itfgoCUO4= -20250411023207_AddNetworkUsageDisclosure.up.sql h1:XgIdy3eJQ+VJSlx4Nr8ltcXFk6AwbSnzfnhC4RI9c9k= -20260427195353_add_ai_disclosure.up.sql h1:5w7oyF5109FT6XYvLDP866K0G0/H7SHS2cJDTHnjlS0= -20260501041455_add_default_controller_compatibility.up.sql h1:yBqEbilNGlwO1Q7+B8VCkt5TOzS8KXpzy0K320A9jpk= -20260523001901_remove_toggle_network_use.up.sql h1:+GeWsNuC9gpjEAGQgaHLXidFCjX8mwW/5FQy19ZlRlo= +20250411023207_add_network_usage_disclosure.up.sql h1:4OhWjwDqv/mqsS+C8ZnVoKY85xN5yXUnwLvmehGY4qQ= +20260427195353_add_ai_disclosure.up.sql h1:BAWsfhEnYKxtLIcAKYsWsyxKLH8e23rW/Hdg/c3RuSo= +20260501041455_add_default_controller_compatibility.up.sql h1:dG1BVH7kOJcZ9TFrYvpFlLbnvO+FeHBbWwN7lD1lwS4= +20260523001901_remove_toggle_network_use.up.sql h1:jDKSnsmsmxsPAaeY+oMwGQLu5FvUXkI/e3YjPsRaQvY= From 105b873945b544ccb88bf7a1669bb09754582b3c Mon Sep 17 00:00:00 2001 From: Rob B Date: Sun, 24 May 2026 22:20:15 -0400 Subject: [PATCH 092/100] refactor: simplified migration tested on staging db --- ...0501041455_add_default_controller_compatibility.up.sql | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/migrations/sql/20260501041455_add_default_controller_compatibility.up.sql b/migrations/sql/20260501041455_add_default_controller_compatibility.up.sql index 863ea16e..ed8d718c 100644 --- a/migrations/sql/20260501041455_add_default_controller_compatibility.up.sql +++ b/migrations/sql/20260501041455_add_default_controller_compatibility.up.sql @@ -1,7 +1,5 @@ UPDATE "mods" - SET "compatibility" = mods.compatibility || '{"Controller":""}' - WHERE NOT mods.compatibility ? 'Controller' AND mods.compatibility ? 'EA'; - -UPDATE "mods" + -- Assign Controller compatibility of Untested... SET "compatibility" = jsonb_set(mods.compatibility, '{Controller}', '{"Note":"","State":"Untested"}'::jsonb) - WHERE mods.compatibility @> '{"Controller":""}' \ No newline at end of file + -- ... to mods with pre-controller Compatibility already set + no leftover existing controller compatibility info + WHERE compatibility ? 'EA' and (NOT compatibility ? 'Controller'); From ab623b11edb6419f187882788ce60801eb104f30 Mon Sep 17 00:00:00 2001 From: Rob B Date: Sun, 24 May 2026 22:32:44 -0400 Subject: [PATCH 093/100] fix: atlas rehash --- migrations/sql/atlas.sum | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/migrations/sql/atlas.sum b/migrations/sql/atlas.sum index b64c5707..6eaf7251 100644 --- a/migrations/sql/atlas.sum +++ b/migrations/sql/atlas.sum @@ -1,4 +1,4 @@ -h1:qVtckAQy0aH0rYKGKYcLpXDu5MJoPPSo8m8EggTrRRA= +h1:2lekwbGGiJgJUcm+jn9XpVs09g3L7aSK5Z2OLF3MPW0= 000001_create_initial_tables.up.sql h1:D0NgABAZGONTBH9/T9MFCYkbw/LSee86lP4XsQYMx98= 000002_create_user_group_table.up.sql h1:+fOxjCFeU5GoVTO5cXzxWsMZtz2Qz3tal9vT5kdYuFI= 000003_add_last_version_date_mod_table.up.sql h1:t73i5gC2YrwlIcDn/MZmznGnArF0aA8dLYuA9NnVtbE= @@ -41,5 +41,5 @@ h1:qVtckAQy0aH0rYKGKYcLpXDu5MJoPPSo8m8EggTrRRA= 20241008092121_nullable_mod_logo.up.sql h1:ZLscID5T67EWW7NVp95cXNyOadb2G5qTH0itfgoCUO4= 20250411023207_add_network_usage_disclosure.up.sql h1:4OhWjwDqv/mqsS+C8ZnVoKY85xN5yXUnwLvmehGY4qQ= 20260427195353_add_ai_disclosure.up.sql h1:BAWsfhEnYKxtLIcAKYsWsyxKLH8e23rW/Hdg/c3RuSo= -20260501041455_add_default_controller_compatibility.up.sql h1:dG1BVH7kOJcZ9TFrYvpFlLbnvO+FeHBbWwN7lD1lwS4= -20260523001901_remove_toggle_network_use.up.sql h1:jDKSnsmsmxsPAaeY+oMwGQLu5FvUXkI/e3YjPsRaQvY= +20260501041455_add_default_controller_compatibility.up.sql h1:Pw+SrN2XUpVQvS0pdmigo+RFybA3dTJyXaf2mS98z/w= +20260523001901_remove_toggle_network_use.up.sql h1:Upk2xn4VTkDtoHRaiiJDfIjGtR5i7KIRu55K75WxA1A= From 397daf47daf199244fb3aebd4de2bfe773a7b85f Mon Sep 17 00:00:00 2001 From: Rob B Date: Sun, 24 May 2026 22:36:44 -0400 Subject: [PATCH 094/100] docs: nillable comment --- db/schema/mod.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db/schema/mod.go b/db/schema/mod.go index 2628dbc9..36984f2b 100644 --- a/db/schema/mod.go +++ b/db/schema/mod.go @@ -40,7 +40,7 @@ func (Mod) Fields() []ent.Field { field.String("mod_reference").MaxLen(32), field.Bool("hidden").Default(false), field.JSON("compatibility", &util.CompatibilityInfo{}).Optional(), - field.String("network_use_disclosure").Optional().Nillable(), + field.String("network_use_disclosure").Optional().Nillable(), // Optional + Nillable allows distinguishing between: unset, nil, "", "disclosure description" field.JSON("ai_use_disclosure", &util.AIUseDisclosureInfo{}).Optional(), field.Bool("toggle_explicit_content").Default(false), } From ce51290a58f077e019a0a8e9451c66e3c98affff Mon Sep 17 00:00:00 2001 From: Rob B Date: Mon, 25 May 2026 03:59:20 -0400 Subject: [PATCH 095/100] refactor: remove `AIUseDisclosureType:no_disclosure` in favor of unset --- generated/generated.go | 1 - generated/models_gen.go | 4 +--- gql/resolver_mods.go | 4 ++-- schemas/mod.graphql | 1 - 4 files changed, 3 insertions(+), 7 deletions(-) diff --git a/generated/generated.go b/generated/generated.go index 4032a6aa..9fbfccb4 100644 --- a/generated/generated.go +++ b/generated/generated.go @@ -2773,7 +2773,6 @@ enum ModFields { } enum AIUseDisclosureType { - no_disclosure no_ai_usage ai_usage runtime_ai_usage diff --git a/generated/models_gen.go b/generated/models_gen.go index 930fafe0..551a132b 100644 --- a/generated/models_gen.go +++ b/generated/models_gen.go @@ -365,14 +365,12 @@ type VirustotalResult struct { type AIUseDisclosureType string const ( - AIUseDisclosureTypeNoDisclosure AIUseDisclosureType = "no_disclosure" AIUseDisclosureTypeNoAiUsage AIUseDisclosureType = "no_ai_usage" AIUseDisclosureTypeAiUsage AIUseDisclosureType = "ai_usage" AIUseDisclosureTypeRuntimeAiUsage AIUseDisclosureType = "runtime_ai_usage" ) var AllAIUseDisclosureType = []AIUseDisclosureType{ - AIUseDisclosureTypeNoDisclosure, AIUseDisclosureTypeNoAiUsage, AIUseDisclosureTypeAiUsage, AIUseDisclosureTypeRuntimeAiUsage, @@ -380,7 +378,7 @@ var AllAIUseDisclosureType = []AIUseDisclosureType{ func (e AIUseDisclosureType) IsValid() bool { switch e { - case AIUseDisclosureTypeNoDisclosure, AIUseDisclosureTypeNoAiUsage, AIUseDisclosureTypeAiUsage, AIUseDisclosureTypeRuntimeAiUsage: + case AIUseDisclosureTypeNoAiUsage, AIUseDisclosureTypeAiUsage, AIUseDisclosureTypeRuntimeAiUsage: return true } return false diff --git a/gql/resolver_mods.go b/gql/resolver_mods.go index 83773ac3..e2102d3b 100644 --- a/gql/resolver_mods.go +++ b/gql/resolver_mods.go @@ -193,12 +193,12 @@ func (r *mutationResolver) UpdateMod(ctx context.Context, modID string, updateMo SetINNF(updateMod.ToggleExplicitContent, dbUpdate.SetToggleExplicitContent) aiDisclosureUpdate, isSet := updateMod.AiUseDisclosure.ValueOK() - if isSet && aiDisclosureUpdate != nil && aiDisclosureUpdate.DisclosureType != generated.AIUseDisclosureTypeNoDisclosure { + if isSet && aiDisclosureUpdate != nil { if requiresMessage(aiDisclosureUpdate.DisclosureType) && (aiDisclosureUpdate.DisclosureString == nil || *aiDisclosureUpdate.DisclosureString == "") { return nil, errors.New("you need to input a disclosure message when disclosing AI usage") } SetAIDisclosureINNF(aiDisclosureUpdate, dbUpdate.SetAiUseDisclosure) - } else if (aiDisclosureUpdate == nil || aiDisclosureUpdate.DisclosureType == generated.AIUseDisclosureTypeNoDisclosure) && dbMod.AiUseDisclosure != nil && dbMod.AiUseDisclosure.DisclosureType != generated.AIUseDisclosureTypeNoDisclosure.String() { + } else if isSet && aiDisclosureUpdate == nil && dbMod.AiUseDisclosure != nil { return nil, errors.New("this mod already has an AI use disclosure, and thus it cannot be cleared") } diff --git a/schemas/mod.graphql b/schemas/mod.graphql index 283f1df1..4c6ffb1d 100755 --- a/schemas/mod.graphql +++ b/schemas/mod.graphql @@ -16,7 +16,6 @@ enum ModFields { } enum AIUseDisclosureType { - no_disclosure no_ai_usage ai_usage runtime_ai_usage From 51985b4721d644f3f426a362b7fe361b87dab886 Mon Sep 17 00:00:00 2001 From: Rob B Date: Mon, 25 May 2026 14:10:24 -0400 Subject: [PATCH 096/100] fix: atlas errantly set to latest; pin to 1.2.0 --- mise.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mise.toml b/mise.toml index f63297bd..19068609 100644 --- a/mise.toml +++ b/mise.toml @@ -1,6 +1,6 @@ [tools] "aqua:minio/mc" = "RELEASE.2025-04-08T15-39-49Z" -atlas = "latest" +atlas = "1.2.0" go = "1.24.4" go-junit-report = "2.1.0" golangci-lint = "2.1.6" From 9ee93aefc10e8aa876e25a041a600899acb595cd Mon Sep 17 00:00:00 2001 From: Rob B Date: Mon, 25 May 2026 14:13:10 -0400 Subject: [PATCH 097/100] fix: untrack errantly added atlas.sum outside of sql folder --- migrations/atlas.sum | 1 - 1 file changed, 1 deletion(-) delete mode 100644 migrations/atlas.sum diff --git a/migrations/atlas.sum b/migrations/atlas.sum deleted file mode 100644 index 7d9c0f31..00000000 --- a/migrations/atlas.sum +++ /dev/null @@ -1 +0,0 @@ -h1:47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU= From b5c046c381ba5365521923c8bb61515789f0912d Mon Sep 17 00:00:00 2001 From: Rob B Date: Mon, 25 May 2026 14:50:39 -0400 Subject: [PATCH 098/100] refactor: rename `disclosure_string` to `message` --- generated/conv/mod.go | 4 +-- generated/generated.go | 44 ++++++++++++++++----------------- generated/models_gen.go | 8 +++--- gql/gql_types.go | 2 +- gql/resolver_mods.go | 2 +- gql/resolver_versions.go | 2 +- schemas/mod.graphql | 4 +-- tests/ai_use_disclosure_test.go | 18 +++++++------- util/db.go | 4 +-- 9 files changed, 44 insertions(+), 44 deletions(-) diff --git a/generated/conv/mod.go b/generated/conv/mod.go index dbcbaead..f391b0d0 100755 --- a/generated/conv/mod.go +++ b/generated/conv/mod.go @@ -82,8 +82,8 @@ func (c *ModImpl) pUtilAIUseDisclosureInfoToPGeneratedAIUseDisclosureInfo(source if source != nil { var generatedAIUseDisclosureInfo generated.AIUseDisclosureInfo generatedAIUseDisclosureInfo.DisclosureType = generated.AIUseDisclosureType((*source).DisclosureType) - pString := (*source).DisclosureString - generatedAIUseDisclosureInfo.DisclosureString = &pString + pString := (*source).Message + generatedAIUseDisclosureInfo.Message = &pString pGeneratedAIUseDisclosureInfo = &generatedAIUseDisclosureInfo } return pGeneratedAIUseDisclosureInfo diff --git a/generated/generated.go b/generated/generated.go index 9fbfccb4..11c28ce2 100644 --- a/generated/generated.go +++ b/generated/generated.go @@ -74,8 +74,8 @@ type DirectiveRoot struct { type ComplexityRoot struct { AIUseDisclosureInfo struct { - DisclosureString func(childComplexity int) int - DisclosureType func(childComplexity int) int + DisclosureType func(childComplexity int) int + Message func(childComplexity int) int } Announcement struct { @@ -550,19 +550,19 @@ func (e *executableSchema) Complexity(ctx context.Context, typeName, field strin _ = ec switch typeName + "." + field { - case "AIUseDisclosureInfo.disclosure_string": - if e.complexity.AIUseDisclosureInfo.DisclosureString == nil { + case "AIUseDisclosureInfo.disclosure_type": + if e.complexity.AIUseDisclosureInfo.DisclosureType == nil { break } - return e.complexity.AIUseDisclosureInfo.DisclosureString(childComplexity), true + return e.complexity.AIUseDisclosureInfo.DisclosureType(childComplexity), true - case "AIUseDisclosureInfo.disclosure_type": - if e.complexity.AIUseDisclosureInfo.DisclosureType == nil { + case "AIUseDisclosureInfo.message": + if e.complexity.AIUseDisclosureInfo.Message == nil { break } - return e.complexity.AIUseDisclosureInfo.DisclosureType(childComplexity), true + return e.complexity.AIUseDisclosureInfo.Message(childComplexity), true case "Announcement.id": if e.complexity.Announcement.ID == nil { @@ -2827,7 +2827,7 @@ type ModVersion { type AIUseDisclosureInfo { disclosure_type: AIUseDisclosureType! - disclosure_string: String + message: String } ### Inputs @@ -2884,7 +2884,7 @@ input ModVersionConstraint { input AIUseDisclosureInput { disclosure_type: AIUseDisclosureType! - disclosure_string: String + message: String } ### Queries @@ -5824,8 +5824,8 @@ func (ec *executionContext) fieldContext_AIUseDisclosureInfo_disclosure_type(_ c return fc, nil } -func (ec *executionContext) _AIUseDisclosureInfo_disclosure_string(ctx context.Context, field graphql.CollectedField, obj *AIUseDisclosureInfo) (ret graphql.Marshaler) { - fc, err := ec.fieldContext_AIUseDisclosureInfo_disclosure_string(ctx, field) +func (ec *executionContext) _AIUseDisclosureInfo_message(ctx context.Context, field graphql.CollectedField, obj *AIUseDisclosureInfo) (ret graphql.Marshaler) { + fc, err := ec.fieldContext_AIUseDisclosureInfo_message(ctx, field) if err != nil { return graphql.Null } @@ -5838,7 +5838,7 @@ func (ec *executionContext) _AIUseDisclosureInfo_disclosure_string(ctx context.C }() resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (any, error) { ctx = rctx // use context from middleware stack in children - return obj.DisclosureString, nil + return obj.Message, nil }) if err != nil { ec.Error(ctx, err) @@ -5852,7 +5852,7 @@ func (ec *executionContext) _AIUseDisclosureInfo_disclosure_string(ctx context.C return ec.marshalOString2ᚖstring(ctx, field.Selections, res) } -func (ec *executionContext) fieldContext_AIUseDisclosureInfo_disclosure_string(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { +func (ec *executionContext) fieldContext_AIUseDisclosureInfo_message(_ context.Context, field graphql.CollectedField) (fc *graphql.FieldContext, err error) { fc = &graphql.FieldContext{ Object: "AIUseDisclosureInfo", Field: field, @@ -8983,8 +8983,8 @@ func (ec *executionContext) fieldContext_Mod_ai_use_disclosure(_ context.Context switch field.Name { case "disclosure_type": return ec.fieldContext_AIUseDisclosureInfo_disclosure_type(ctx, field) - case "disclosure_string": - return ec.fieldContext_AIUseDisclosureInfo_disclosure_string(ctx, field) + case "message": + return ec.fieldContext_AIUseDisclosureInfo_message(ctx, field) } return nil, fmt.Errorf("no field named %q was found under type AIUseDisclosureInfo", field.Name) }, @@ -21397,7 +21397,7 @@ func (ec *executionContext) unmarshalInputAIUseDisclosureInput(ctx context.Conte asMap[k] = v } - fieldsInOrder := [...]string{"disclosure_type", "disclosure_string"} + fieldsInOrder := [...]string{"disclosure_type", "message"} for _, k := range fieldsInOrder { v, ok := asMap[k] if !ok { @@ -21411,13 +21411,13 @@ func (ec *executionContext) unmarshalInputAIUseDisclosureInput(ctx context.Conte return it, err } it.DisclosureType = data - case "disclosure_string": - ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("disclosure_string")) + case "message": + ctx := graphql.WithPathContext(ctx, graphql.NewPathWithField("message")) data, err := ec.unmarshalOString2ᚖstring(ctx, v) if err != nil { return it, err } - it.DisclosureString = data + it.Message = data } } @@ -22549,8 +22549,8 @@ func (ec *executionContext) _AIUseDisclosureInfo(ctx context.Context, sel ast.Se if out.Values[i] == graphql.Null { out.Invalids++ } - case "disclosure_string": - out.Values[i] = ec._AIUseDisclosureInfo_disclosure_string(ctx, field, obj) + case "message": + out.Values[i] = ec._AIUseDisclosureInfo_message(ctx, field, obj) default: panic("unknown field " + strconv.Quote(field.Name)) } diff --git a/generated/models_gen.go b/generated/models_gen.go index 551a132b..41daceeb 100644 --- a/generated/models_gen.go +++ b/generated/models_gen.go @@ -12,13 +12,13 @@ import ( ) type AIUseDisclosureInfo struct { - DisclosureType AIUseDisclosureType `json:"disclosure_type"` - DisclosureString *string `json:"disclosure_string,omitempty"` + DisclosureType AIUseDisclosureType `json:"disclosure_type"` + Message *string `json:"message,omitempty"` } type AIUseDisclosureInput struct { - DisclosureType AIUseDisclosureType `json:"disclosure_type"` - DisclosureString *string `json:"disclosure_string,omitempty"` + DisclosureType AIUseDisclosureType `json:"disclosure_type"` + Message *string `json:"message,omitempty"` } type Announcement struct { diff --git a/gql/gql_types.go b/gql/gql_types.go index f19ba933..b7528bd6 100644 --- a/gql/gql_types.go +++ b/gql/gql_types.go @@ -39,6 +39,6 @@ func GenAIDisclosureInfoToDBAIDisclosureInfo(gen *generated.AIUseDisclosureInput r := &util.AIUseDisclosureInfo{ DisclosureType: string(gen.DisclosureType), } - SetINN(gen.DisclosureString, &r.DisclosureString) + SetINN(gen.Message, &r.Message) return r } diff --git a/gql/resolver_mods.go b/gql/resolver_mods.go index e2102d3b..0694eaf6 100644 --- a/gql/resolver_mods.go +++ b/gql/resolver_mods.go @@ -194,7 +194,7 @@ func (r *mutationResolver) UpdateMod(ctx context.Context, modID string, updateMo aiDisclosureUpdate, isSet := updateMod.AiUseDisclosure.ValueOK() if isSet && aiDisclosureUpdate != nil { - if requiresMessage(aiDisclosureUpdate.DisclosureType) && (aiDisclosureUpdate.DisclosureString == nil || *aiDisclosureUpdate.DisclosureString == "") { + if requiresMessage(aiDisclosureUpdate.DisclosureType) && (aiDisclosureUpdate.Message == nil || *aiDisclosureUpdate.Message == "") { return nil, errors.New("you need to input a disclosure message when disclosing AI usage") } SetAIDisclosureINNF(aiDisclosureUpdate, dbUpdate.SetAiUseDisclosure) diff --git a/gql/resolver_versions.go b/gql/resolver_versions.go index 05e737d8..97e0db6e 100644 --- a/gql/resolver_versions.go +++ b/gql/resolver_versions.go @@ -55,7 +55,7 @@ func (r *mutationResolver) CreateVersion(ctx context.Context, modID string) (str return "", errors.New("you must update an AI use disclosure on the site before uploading a version") } - if mod.AiUseDisclosure.DisclosureType != generated.AIUseDisclosureTypeNoAiUsage.String() && mod.AiUseDisclosure.DisclosureString == "" { + if mod.AiUseDisclosure.DisclosureType != generated.AIUseDisclosureTypeNoAiUsage.String() && mod.AiUseDisclosure.Message == "" { return "", errors.New("you must provide a description for AI use before uploading a version") } diff --git a/schemas/mod.graphql b/schemas/mod.graphql index 4c6ffb1d..3f80db48 100755 --- a/schemas/mod.graphql +++ b/schemas/mod.graphql @@ -70,7 +70,7 @@ type ModVersion { type AIUseDisclosureInfo { disclosure_type: AIUseDisclosureType! - disclosure_string: String + message: String } ### Inputs @@ -127,7 +127,7 @@ input ModVersionConstraint { input AIUseDisclosureInput { disclosure_type: AIUseDisclosureType! - disclosure_string: String + message: String } ### Queries diff --git a/tests/ai_use_disclosure_test.go b/tests/ai_use_disclosure_test.go index 4c5a2871..809c87ac 100644 --- a/tests/ai_use_disclosure_test.go +++ b/tests/ai_use_disclosure_test.go @@ -56,15 +56,15 @@ func TestAiDisclosure(t *testing.T) { id ai_use_disclosure { disclosure_type - disclosure_string + message } } }`, token) failedUpdateEmptyString.Var("id", modID) emptyString := "" failedUpdateEmptyString.Var("ai_use_disclosure", generated.AIUseDisclosureInput{ - DisclosureType: generated.AIUseDisclosureTypeAiUsage, - DisclosureString: &emptyString, + DisclosureType: generated.AIUseDisclosureTypeAiUsage, + Message: &emptyString, }) var failedEmptyStringResponse struct { @@ -85,15 +85,15 @@ func TestAiDisclosure(t *testing.T) { id ai_use_disclosure { disclosure_type - disclosure_string + message } } }`, token) - disclosureString := "This mod uses AI for testing purposes" + disclosureMessage := "This mod uses AI for testing purposes" disclosureRequest.Var("id", modID) disclosureRequest.Var("ai_use_disclosure", generated.AIUseDisclosureInput{ - DisclosureType: generated.AIUseDisclosureTypeAiUsage, - DisclosureString: &disclosureString, + DisclosureType: generated.AIUseDisclosureTypeAiUsage, + Message: &disclosureMessage, }) var updateResponse struct { @@ -102,7 +102,7 @@ func TestAiDisclosure(t *testing.T) { testza.AssertNoError(t, client.Run(ctx, disclosureRequest, &updateResponse)) testza.AssertNotNil(t, updateResponse.UpdateMod.AiUseDisclosure.DisclosureType) testza.AssertEqual(t, generated.AIUseDisclosureTypeAiUsage, updateResponse.UpdateMod.AiUseDisclosure.DisclosureType) - testza.AssertEqual(t, &disclosureString, updateResponse.UpdateMod.AiUseDisclosure.DisclosureString) + testza.AssertEqual(t, &disclosureMessage, updateResponse.UpdateMod.AiUseDisclosure.Message) // Trying to unassign the disclosure is not allowed failedUpdateUndisclosed := authRequest(`mutation ($id: ModID!, $ai_use_disclosure: AIUseDisclosureInput) { @@ -115,7 +115,7 @@ func TestAiDisclosure(t *testing.T) { id ai_use_disclosure { disclosure_type - disclosure_string + message } } }`, token) diff --git a/util/db.go b/util/db.go index 6182c44c..2bde0df2 100644 --- a/util/db.go +++ b/util/db.go @@ -28,6 +28,6 @@ type Compatibility struct { } type AIUseDisclosureInfo struct { - DisclosureType string `gorm:"type:string" json:"DisclosureType"` - DisclosureString string `gorm:"type:string" json:"DisclosureString"` + DisclosureType string `gorm:"type:string" json:"DisclosureType"` + Message string `gorm:"type:string" json:"Message"` } From bc6dd07f84031158b6708fb24ce63f2cfa35c1a2 Mon Sep 17 00:00:00 2001 From: Rob B Date: Mon, 25 May 2026 15:33:03 -0400 Subject: [PATCH 099/100] refactor: extract condition --- gql/resolver_mods.go | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/gql/resolver_mods.go b/gql/resolver_mods.go index 0694eaf6..d4b0ece8 100644 --- a/gql/resolver_mods.go +++ b/gql/resolver_mods.go @@ -193,13 +193,15 @@ func (r *mutationResolver) UpdateMod(ctx context.Context, modID string, updateMo SetINNF(updateMod.ToggleExplicitContent, dbUpdate.SetToggleExplicitContent) aiDisclosureUpdate, isSet := updateMod.AiUseDisclosure.ValueOK() - if isSet && aiDisclosureUpdate != nil { - if requiresMessage(aiDisclosureUpdate.DisclosureType) && (aiDisclosureUpdate.Message == nil || *aiDisclosureUpdate.Message == "") { - return nil, errors.New("you need to input a disclosure message when disclosing AI usage") + if isSet { + if aiDisclosureUpdate != nil { + if requiresMessage(aiDisclosureUpdate.DisclosureType) && (aiDisclosureUpdate.Message == nil || *aiDisclosureUpdate.Message == "") { + return nil, errors.New("you need to input a disclosure message when disclosing AI usage") + } + SetAIDisclosureINNF(aiDisclosureUpdate, dbUpdate.SetAiUseDisclosure) + } else if dbMod.AiUseDisclosure != nil { + return nil, errors.New("this mod already has an AI use disclosure, and thus it cannot be cleared") } - SetAIDisclosureINNF(aiDisclosureUpdate, dbUpdate.SetAiUseDisclosure) - } else if isSet && aiDisclosureUpdate == nil && dbMod.AiUseDisclosure != nil { - return nil, errors.New("this mod already has an AI use disclosure, and thus it cannot be cleared") } newNetworkDisclosure, isSet := updateMod.NetworkUseDisclosure.ValueOK() From 29fccf6a94582b1f421485e7a2036d13b17aa061 Mon Sep 17 00:00:00 2001 From: Rob B Date: Mon, 25 May 2026 15:35:03 -0400 Subject: [PATCH 100/100] refactor: clarify error message wording --- gql/resolver_versions.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gql/resolver_versions.go b/gql/resolver_versions.go index 97e0db6e..f84c1edc 100644 --- a/gql/resolver_versions.go +++ b/gql/resolver_versions.go @@ -52,15 +52,15 @@ func (r *mutationResolver) CreateVersion(ctx context.Context, modID string) (str } if mod.AiUseDisclosure == nil { - return "", errors.New("you must update an AI use disclosure on the site before uploading a version") + return "", errors.New("you must provide an AI use disclosure before uploading a version") } if mod.AiUseDisclosure.DisclosureType != generated.AIUseDisclosureTypeNoAiUsage.String() && mod.AiUseDisclosure.Message == "" { - return "", errors.New("you must provide a description for AI use before uploading a version") + return "", errors.New("you must provide a description for your AI use disclosure before uploading a version") } if mod.NetworkUseDisclosure == nil { - return "", errors.New("you must update a network use disclosure on the site before uploading a version") + return "", errors.New("you must provide a network use disclosure before uploading a version") } uploadID := util.GenerateUniqueID()