ka/graph/generated/root_.generated.go

1391 lines
30 KiB
Go
Raw Permalink Normal View History

2024-10-04 20:22:25 +02:00
// Code generated by github.com/99designs/gqlgen, DO NOT EDIT.
package generated
import (
"bytes"
"context"
"errors"
"sync/atomic"
"code.icod.de/dalu/ka/ent"
"entgo.io/contrib/entgql"
"github.com/99designs/gqlgen/graphql"
"github.com/99designs/gqlgen/graphql/introspection"
"github.com/google/uuid"
gqlparser "github.com/vektah/gqlparser/v2"
"github.com/vektah/gqlparser/v2/ast"
)
// 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 {
Query() QueryResolver
}
type DirectiveRoot struct {
}
type ComplexityRoot struct {
Category struct {
CreatedAt func(childComplexity int) int
Description func(childComplexity int) int
ID func(childComplexity int) int
Posts func(childComplexity int, after *entgql.Cursor[uuid.UUID], first *int, before *entgql.Cursor[uuid.UUID], last *int, orderBy *ent.PostOrder, where *ent.PostWhereInput) int
Title func(childComplexity int) int
UpdatedAt func(childComplexity int) int
}
CategoryConnection struct {
Edges func(childComplexity int) int
PageInfo func(childComplexity int) int
TotalCount func(childComplexity int) int
}
CategoryEdge struct {
Cursor func(childComplexity int) int
Node func(childComplexity int) int
}
PageInfo struct {
EndCursor func(childComplexity int) int
HasNextPage func(childComplexity int) int
HasPreviousPage func(childComplexity int) int
StartCursor func(childComplexity int) int
}
Post struct {
Body func(childComplexity int) int
Category func(childComplexity int) int
CreatedAt func(childComplexity int) int
ExpireTime func(childComplexity int) int
Expires func(childComplexity int) int
ID func(childComplexity int) int
Profile func(childComplexity int) int
Title func(childComplexity int) int
UpdatedAt func(childComplexity int) int
}
PostConnection struct {
Edges func(childComplexity int) int
PageInfo func(childComplexity int) int
TotalCount func(childComplexity int) int
}
PostEdge struct {
Cursor func(childComplexity int) int
Node func(childComplexity int) int
}
Profile struct {
Address func(childComplexity int) int
CreatedAt func(childComplexity int) int
ID func(childComplexity int) int
Name func(childComplexity int) int
Phone func(childComplexity int) int
Posts func(childComplexity int, after *entgql.Cursor[uuid.UUID], first *int, before *entgql.Cursor[uuid.UUID], last *int, orderBy *ent.PostOrder, where *ent.PostWhereInput) int
UpdatedAt func(childComplexity int) int
}
ProfileConnection struct {
Edges func(childComplexity int) int
PageInfo func(childComplexity int) int
TotalCount func(childComplexity int) int
}
ProfileEdge struct {
Cursor func(childComplexity int) int
Node func(childComplexity int) int
}
Query struct {
Categories func(childComplexity int, after *entgql.Cursor[uuid.UUID], first *int, before *entgql.Cursor[uuid.UUID], last *int, orderBy *ent.CategoryOrder, where *ent.CategoryWhereInput) int
Node func(childComplexity int, id uuid.UUID) int
Nodes func(childComplexity int, ids []uuid.UUID) int
Posts func(childComplexity int, after *entgql.Cursor[uuid.UUID], first *int, before *entgql.Cursor[uuid.UUID], last *int, orderBy *ent.PostOrder, where *ent.PostWhereInput) int
Profiles func(childComplexity int, after *entgql.Cursor[uuid.UUID], first *int, before *entgql.Cursor[uuid.UUID], last *int, orderBy *ent.ProfileOrder, where *ent.ProfileWhereInput) int
}
}
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 "Category.createdAt":
if e.complexity.Category.CreatedAt == nil {
break
}
return e.complexity.Category.CreatedAt(childComplexity), true
case "Category.description":
if e.complexity.Category.Description == nil {
break
}
return e.complexity.Category.Description(childComplexity), true
case "Category.id":
if e.complexity.Category.ID == nil {
break
}
return e.complexity.Category.ID(childComplexity), true
case "Category.posts":
if e.complexity.Category.Posts == nil {
break
}
args, err := ec.field_Category_posts_args(context.TODO(), rawArgs)
if err != nil {
return 0, false
}
return e.complexity.Category.Posts(childComplexity, args["after"].(*entgql.Cursor[uuid.UUID]), args["first"].(*int), args["before"].(*entgql.Cursor[uuid.UUID]), args["last"].(*int), args["orderBy"].(*ent.PostOrder), args["where"].(*ent.PostWhereInput)), true
case "Category.title":
if e.complexity.Category.Title == nil {
break
}
return e.complexity.Category.Title(childComplexity), true
case "Category.updatedAt":
if e.complexity.Category.UpdatedAt == nil {
break
}
return e.complexity.Category.UpdatedAt(childComplexity), true
case "CategoryConnection.edges":
if e.complexity.CategoryConnection.Edges == nil {
break
}
return e.complexity.CategoryConnection.Edges(childComplexity), true
case "CategoryConnection.pageInfo":
if e.complexity.CategoryConnection.PageInfo == nil {
break
}
return e.complexity.CategoryConnection.PageInfo(childComplexity), true
case "CategoryConnection.totalCount":
if e.complexity.CategoryConnection.TotalCount == nil {
break
}
return e.complexity.CategoryConnection.TotalCount(childComplexity), true
case "CategoryEdge.cursor":
if e.complexity.CategoryEdge.Cursor == nil {
break
}
return e.complexity.CategoryEdge.Cursor(childComplexity), true
case "CategoryEdge.node":
if e.complexity.CategoryEdge.Node == nil {
break
}
return e.complexity.CategoryEdge.Node(childComplexity), true
case "PageInfo.endCursor":
if e.complexity.PageInfo.EndCursor == nil {
break
}
return e.complexity.PageInfo.EndCursor(childComplexity), true
case "PageInfo.hasNextPage":
if e.complexity.PageInfo.HasNextPage == nil {
break
}
return e.complexity.PageInfo.HasNextPage(childComplexity), true
case "PageInfo.hasPreviousPage":
if e.complexity.PageInfo.HasPreviousPage == nil {
break
}
return e.complexity.PageInfo.HasPreviousPage(childComplexity), true
case "PageInfo.startCursor":
if e.complexity.PageInfo.StartCursor == nil {
break
}
return e.complexity.PageInfo.StartCursor(childComplexity), true
case "Post.body":
if e.complexity.Post.Body == nil {
break
}
return e.complexity.Post.Body(childComplexity), true
case "Post.category":
if e.complexity.Post.Category == nil {
break
}
return e.complexity.Post.Category(childComplexity), true
case "Post.createdAt":
if e.complexity.Post.CreatedAt == nil {
break
}
return e.complexity.Post.CreatedAt(childComplexity), true
case "Post.expireTime":
if e.complexity.Post.ExpireTime == nil {
break
}
return e.complexity.Post.ExpireTime(childComplexity), true
case "Post.expires":
if e.complexity.Post.Expires == nil {
break
}
return e.complexity.Post.Expires(childComplexity), true
case "Post.id":
if e.complexity.Post.ID == nil {
break
}
return e.complexity.Post.ID(childComplexity), true
case "Post.profile":
if e.complexity.Post.Profile == nil {
break
}
return e.complexity.Post.Profile(childComplexity), true
case "Post.title":
if e.complexity.Post.Title == nil {
break
}
return e.complexity.Post.Title(childComplexity), true
case "Post.updatedAt":
if e.complexity.Post.UpdatedAt == nil {
break
}
return e.complexity.Post.UpdatedAt(childComplexity), true
case "PostConnection.edges":
if e.complexity.PostConnection.Edges == nil {
break
}
return e.complexity.PostConnection.Edges(childComplexity), true
case "PostConnection.pageInfo":
if e.complexity.PostConnection.PageInfo == nil {
break
}
return e.complexity.PostConnection.PageInfo(childComplexity), true
case "PostConnection.totalCount":
if e.complexity.PostConnection.TotalCount == nil {
break
}
return e.complexity.PostConnection.TotalCount(childComplexity), true
case "PostEdge.cursor":
if e.complexity.PostEdge.Cursor == nil {
break
}
return e.complexity.PostEdge.Cursor(childComplexity), true
case "PostEdge.node":
if e.complexity.PostEdge.Node == nil {
break
}
return e.complexity.PostEdge.Node(childComplexity), true
case "Profile.address":
if e.complexity.Profile.Address == nil {
break
}
return e.complexity.Profile.Address(childComplexity), true
case "Profile.createdAt":
if e.complexity.Profile.CreatedAt == nil {
break
}
return e.complexity.Profile.CreatedAt(childComplexity), true
case "Profile.id":
if e.complexity.Profile.ID == nil {
break
}
return e.complexity.Profile.ID(childComplexity), true
case "Profile.name":
if e.complexity.Profile.Name == nil {
break
}
return e.complexity.Profile.Name(childComplexity), true
case "Profile.phone":
if e.complexity.Profile.Phone == nil {
break
}
return e.complexity.Profile.Phone(childComplexity), true
case "Profile.posts":
if e.complexity.Profile.Posts == nil {
break
}
args, err := ec.field_Profile_posts_args(context.TODO(), rawArgs)
if err != nil {
return 0, false
}
return e.complexity.Profile.Posts(childComplexity, args["after"].(*entgql.Cursor[uuid.UUID]), args["first"].(*int), args["before"].(*entgql.Cursor[uuid.UUID]), args["last"].(*int), args["orderBy"].(*ent.PostOrder), args["where"].(*ent.PostWhereInput)), true
case "Profile.updatedAt":
if e.complexity.Profile.UpdatedAt == nil {
break
}
return e.complexity.Profile.UpdatedAt(childComplexity), true
case "ProfileConnection.edges":
if e.complexity.ProfileConnection.Edges == nil {
break
}
return e.complexity.ProfileConnection.Edges(childComplexity), true
case "ProfileConnection.pageInfo":
if e.complexity.ProfileConnection.PageInfo == nil {
break
}
return e.complexity.ProfileConnection.PageInfo(childComplexity), true
case "ProfileConnection.totalCount":
if e.complexity.ProfileConnection.TotalCount == nil {
break
}
return e.complexity.ProfileConnection.TotalCount(childComplexity), true
case "ProfileEdge.cursor":
if e.complexity.ProfileEdge.Cursor == nil {
break
}
return e.complexity.ProfileEdge.Cursor(childComplexity), true
case "ProfileEdge.node":
if e.complexity.ProfileEdge.Node == nil {
break
}
return e.complexity.ProfileEdge.Node(childComplexity), true
case "Query.categories":
if e.complexity.Query.Categories == nil {
break
}
args, err := ec.field_Query_categories_args(context.TODO(), rawArgs)
if err != nil {
return 0, false
}
return e.complexity.Query.Categories(childComplexity, args["after"].(*entgql.Cursor[uuid.UUID]), args["first"].(*int), args["before"].(*entgql.Cursor[uuid.UUID]), args["last"].(*int), args["orderBy"].(*ent.CategoryOrder), args["where"].(*ent.CategoryWhereInput)), true
case "Query.node":
if e.complexity.Query.Node == nil {
break
}
args, err := ec.field_Query_node_args(context.TODO(), rawArgs)
if err != nil {
return 0, false
}
return e.complexity.Query.Node(childComplexity, args["id"].(uuid.UUID)), true
case "Query.nodes":
if e.complexity.Query.Nodes == nil {
break
}
args, err := ec.field_Query_nodes_args(context.TODO(), rawArgs)
if err != nil {
return 0, false
}
return e.complexity.Query.Nodes(childComplexity, args["ids"].([]uuid.UUID)), true
case "Query.posts":
if e.complexity.Query.Posts == nil {
break
}
args, err := ec.field_Query_posts_args(context.TODO(), rawArgs)
if err != nil {
return 0, false
}
return e.complexity.Query.Posts(childComplexity, args["after"].(*entgql.Cursor[uuid.UUID]), args["first"].(*int), args["before"].(*entgql.Cursor[uuid.UUID]), args["last"].(*int), args["orderBy"].(*ent.PostOrder), args["where"].(*ent.PostWhereInput)), true
case "Query.profiles":
if e.complexity.Query.Profiles == nil {
break
}
args, err := ec.field_Query_profiles_args(context.TODO(), rawArgs)
if err != nil {
return 0, false
}
return e.complexity.Query.Profiles(childComplexity, args["after"].(*entgql.Cursor[uuid.UUID]), args["first"].(*int), args["before"].(*entgql.Cursor[uuid.UUID]), args["last"].(*int), args["orderBy"].(*ent.ProfileOrder), args["where"].(*ent.ProfileWhereInput)), 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.unmarshalInputCategoryOrder,
ec.unmarshalInputCategoryWhereInput,
ec.unmarshalInputCreateCategoryInput,
ec.unmarshalInputCreatePostInput,
ec.unmarshalInputCreateProfileInput,
ec.unmarshalInputPostOrder,
ec.unmarshalInputPostWhereInput,
ec.unmarshalInputProfileOrder,
ec.unmarshalInputProfileWhereInput,
ec.unmarshalInputUpdateCategoryInput,
ec.unmarshalInputUpdatePostInput,
ec.unmarshalInputUpdateProfileInput,
)
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
}
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{
2024-10-05 23:02:23 +02:00
{Name: "../ent.graphql", Input: `directive @goField(forceResolver: Boolean, name: String, omittable: Boolean) on FIELD_DEFINITION | INPUT_FIELD_DEFINITION
2024-10-04 20:22:25 +02:00
directive @goModel(model: String, models: [String!], forceGenerate: Boolean) on OBJECT | INPUT_OBJECT | SCALAR | ENUM | INTERFACE | UNION
type Category implements Node {
id: ID!
createdAt: Time!
updatedAt: Time
title: String!
description: String
posts(
"""
Returns the elements in the list that come after the specified cursor.
"""
after: Cursor
"""
Returns the first _n_ elements from the list.
"""
first: Int
"""
Returns the elements in the list that come before the specified cursor.
"""
before: Cursor
"""
Returns the last _n_ elements from the list.
"""
last: Int
"""
Ordering options for Posts returned from the connection.
"""
orderBy: PostOrder
"""
Filtering options for Posts returned from the connection.
"""
where: PostWhereInput
): PostConnection!
}
"""
A connection to a list of items.
"""
type CategoryConnection {
"""
A list of edges.
"""
edges: [CategoryEdge]
"""
Information to aid in pagination.
"""
pageInfo: PageInfo!
"""
Identifies the total count of items in the connection.
"""
totalCount: Int!
}
"""
An edge in a connection.
"""
type CategoryEdge {
"""
The item at the end of the edge.
"""
node: Category
"""
A cursor for use in pagination.
"""
cursor: Cursor!
}
"""
Ordering options for Category connections
"""
input CategoryOrder {
"""
The ordering direction.
"""
direction: OrderDirection! = ASC
"""
The field by which to order Categories.
"""
field: CategoryOrderField!
}
"""
Properties by which Category connections can be ordered.
"""
enum CategoryOrderField {
CREATED_AT
UPDATED_AT
POSTS_COUNT
}
"""
CategoryWhereInput is used for filtering Category objects.
Input was generated by ent.
"""
input CategoryWhereInput {
not: CategoryWhereInput
and: [CategoryWhereInput!]
or: [CategoryWhereInput!]
"""
id field predicates
"""
id: ID
idNEQ: ID
idIn: [ID!]
idNotIn: [ID!]
idGT: ID
idGTE: ID
idLT: ID
idLTE: ID
"""
created_at field predicates
"""
createdAt: Time
createdAtNEQ: Time
createdAtIn: [Time!]
createdAtNotIn: [Time!]
createdAtGT: Time
createdAtGTE: Time
createdAtLT: Time
createdAtLTE: Time
"""
updated_at field predicates
"""
updatedAt: Time
updatedAtNEQ: Time
updatedAtIn: [Time!]
updatedAtNotIn: [Time!]
updatedAtGT: Time
updatedAtGTE: Time
updatedAtLT: Time
updatedAtLTE: Time
updatedAtIsNil: Boolean
updatedAtNotNil: Boolean
"""
title field predicates
"""
title: String
titleNEQ: String
titleIn: [String!]
titleNotIn: [String!]
titleGT: String
titleGTE: String
titleLT: String
titleLTE: String
titleContains: String
titleHasPrefix: String
titleHasSuffix: String
titleEqualFold: String
titleContainsFold: String
"""
description field predicates
"""
description: String
descriptionNEQ: String
descriptionIn: [String!]
descriptionNotIn: [String!]
descriptionGT: String
descriptionGTE: String
descriptionLT: String
descriptionLTE: String
descriptionContains: String
descriptionHasPrefix: String
descriptionHasSuffix: String
descriptionIsNil: Boolean
descriptionNotNil: Boolean
descriptionEqualFold: String
descriptionContainsFold: String
"""
posts edge predicates
"""
hasPosts: Boolean
hasPostsWith: [PostWhereInput!]
}
"""
CreateCategoryInput is used for create Category object.
Input was generated by ent.
"""
input CreateCategoryInput {
createdAt: Time
updatedAt: Time
title: String!
description: String
postIDs: [ID!]
}
"""
CreatePostInput is used for create Post object.
Input was generated by ent.
"""
input CreatePostInput {
createdAt: Time
updatedAt: Time
expires: Boolean
expireTime: Time
title: String!
body: String!
categoryID: ID
profileID: ID
}
"""
CreateProfileInput is used for create Profile object.
Input was generated by ent.
"""
input CreateProfileInput {
createdAt: Time
updatedAt: Time
name: String
address: String
phone: String
postIDs: [ID!]
}
"""
Define a Relay Cursor type:
https://relay.dev/graphql/connections.htm#sec-Cursor
"""
scalar Cursor
"""
An object with an ID.
Follows the [Relay Global Object Identification Specification](https://relay.dev/graphql/objectidentification.htm)
"""
interface Node @goModel(model: "code.icod.de/dalu/ka/ent.Noder") {
"""
The id of the object.
"""
id: ID!
}
"""
Possible directions in which to order a list of items when provided an ` + "`" + `orderBy` + "`" + ` argument.
"""
enum OrderDirection {
"""
Specifies an ascending order for a given ` + "`" + `orderBy` + "`" + ` argument.
"""
ASC
"""
Specifies a descending order for a given ` + "`" + `orderBy` + "`" + ` argument.
"""
DESC
}
"""
Information about pagination in a connection.
https://relay.dev/graphql/connections.htm#sec-undefined.PageInfo
"""
type PageInfo {
"""
When paginating forwards, are there more items?
"""
hasNextPage: Boolean!
"""
When paginating backwards, are there more items?
"""
hasPreviousPage: Boolean!
"""
When paginating backwards, the cursor to continue.
"""
startCursor: Cursor
"""
When paginating forwards, the cursor to continue.
"""
endCursor: Cursor
}
type Post implements Node {
id: ID!
createdAt: Time!
updatedAt: Time
expires: Boolean!
expireTime: Time
title: String!
body: String!
category: Category
profile: Profile
}
"""
A connection to a list of items.
"""
type PostConnection {
"""
A list of edges.
"""
edges: [PostEdge]
"""
Information to aid in pagination.
"""
pageInfo: PageInfo!
"""
Identifies the total count of items in the connection.
"""
totalCount: Int!
}
"""
An edge in a connection.
"""
type PostEdge {
"""
The item at the end of the edge.
"""
node: Post
"""
A cursor for use in pagination.
"""
cursor: Cursor!
}
"""
Ordering options for Post connections
"""
input PostOrder {
"""
The ordering direction.
"""
direction: OrderDirection! = ASC
"""
The field by which to order Posts.
"""
field: PostOrderField!
}
"""
Properties by which Post connections can be ordered.
"""
enum PostOrderField {
CREATED_AT
UPDATED_AT
EXPIRE_TIME
}
"""
PostWhereInput is used for filtering Post objects.
Input was generated by ent.
"""
input PostWhereInput {
not: PostWhereInput
and: [PostWhereInput!]
or: [PostWhereInput!]
"""
id field predicates
"""
id: ID
idNEQ: ID
idIn: [ID!]
idNotIn: [ID!]
idGT: ID
idGTE: ID
idLT: ID
idLTE: ID
"""
created_at field predicates
"""
createdAt: Time
createdAtNEQ: Time
createdAtIn: [Time!]
createdAtNotIn: [Time!]
createdAtGT: Time
createdAtGTE: Time
createdAtLT: Time
createdAtLTE: Time
"""
updated_at field predicates
"""
updatedAt: Time
updatedAtNEQ: Time
updatedAtIn: [Time!]
updatedAtNotIn: [Time!]
updatedAtGT: Time
updatedAtGTE: Time
updatedAtLT: Time
updatedAtLTE: Time
updatedAtIsNil: Boolean
updatedAtNotNil: Boolean
"""
expires field predicates
"""
expires: Boolean
expiresNEQ: Boolean
"""
expire_time field predicates
"""
expireTime: Time
expireTimeNEQ: Time
expireTimeIn: [Time!]
expireTimeNotIn: [Time!]
expireTimeGT: Time
expireTimeGTE: Time
expireTimeLT: Time
expireTimeLTE: Time
expireTimeIsNil: Boolean
expireTimeNotNil: Boolean
"""
title field predicates
"""
title: String
titleNEQ: String
titleIn: [String!]
titleNotIn: [String!]
titleGT: String
titleGTE: String
titleLT: String
titleLTE: String
titleContains: String
titleHasPrefix: String
titleHasSuffix: String
titleEqualFold: String
titleContainsFold: String
"""
body field predicates
"""
body: String
bodyNEQ: String
bodyIn: [String!]
bodyNotIn: [String!]
bodyGT: String
bodyGTE: String
bodyLT: String
bodyLTE: String
bodyContains: String
bodyHasPrefix: String
bodyHasSuffix: String
bodyEqualFold: String
bodyContainsFold: String
"""
category edge predicates
"""
hasCategory: Boolean
hasCategoryWith: [CategoryWhereInput!]
"""
profile edge predicates
"""
hasProfile: Boolean
hasProfileWith: [ProfileWhereInput!]
}
type Profile implements Node {
id: ID!
createdAt: Time!
updatedAt: Time
name: String
address: String
phone: String
posts(
"""
Returns the elements in the list that come after the specified cursor.
"""
after: Cursor
"""
Returns the first _n_ elements from the list.
"""
first: Int
"""
Returns the elements in the list that come before the specified cursor.
"""
before: Cursor
"""
Returns the last _n_ elements from the list.
"""
last: Int
"""
Ordering options for Posts returned from the connection.
"""
orderBy: PostOrder
"""
Filtering options for Posts returned from the connection.
"""
where: PostWhereInput
): PostConnection!
}
"""
A connection to a list of items.
"""
type ProfileConnection {
"""
A list of edges.
"""
edges: [ProfileEdge]
"""
Information to aid in pagination.
"""
pageInfo: PageInfo!
"""
Identifies the total count of items in the connection.
"""
totalCount: Int!
}
"""
An edge in a connection.
"""
type ProfileEdge {
"""
The item at the end of the edge.
"""
node: Profile
"""
A cursor for use in pagination.
"""
cursor: Cursor!
}
"""
Ordering options for Profile connections
"""
input ProfileOrder {
"""
The ordering direction.
"""
direction: OrderDirection! = ASC
"""
The field by which to order Profiles.
"""
field: ProfileOrderField!
}
"""
Properties by which Profile connections can be ordered.
"""
enum ProfileOrderField {
CREATED_AT
UPDATED_AT
POSTS_COUNT
}
"""
ProfileWhereInput is used for filtering Profile objects.
Input was generated by ent.
"""
input ProfileWhereInput {
not: ProfileWhereInput
and: [ProfileWhereInput!]
or: [ProfileWhereInput!]
"""
id field predicates
"""
id: ID
idNEQ: ID
idIn: [ID!]
idNotIn: [ID!]
idGT: ID
idGTE: ID
idLT: ID
idLTE: ID
"""
created_at field predicates
"""
createdAt: Time
createdAtNEQ: Time
createdAtIn: [Time!]
createdAtNotIn: [Time!]
createdAtGT: Time
createdAtGTE: Time
createdAtLT: Time
createdAtLTE: Time
"""
updated_at field predicates
"""
updatedAt: Time
updatedAtNEQ: Time
updatedAtIn: [Time!]
updatedAtNotIn: [Time!]
updatedAtGT: Time
updatedAtGTE: Time
updatedAtLT: Time
updatedAtLTE: Time
updatedAtIsNil: Boolean
updatedAtNotNil: Boolean
"""
name field predicates
"""
name: String
nameNEQ: String
nameIn: [String!]
nameNotIn: [String!]
nameGT: String
nameGTE: String
nameLT: String
nameLTE: String
nameContains: String
nameHasPrefix: String
nameHasSuffix: String
nameIsNil: Boolean
nameNotNil: Boolean
nameEqualFold: String
nameContainsFold: String
"""
address field predicates
"""
address: String
addressNEQ: String
addressIn: [String!]
addressNotIn: [String!]
addressGT: String
addressGTE: String
addressLT: String
addressLTE: String
addressContains: String
addressHasPrefix: String
addressHasSuffix: String
addressIsNil: Boolean
addressNotNil: Boolean
addressEqualFold: String
addressContainsFold: String
"""
phone field predicates
"""
phone: String
phoneNEQ: String
phoneIn: [String!]
phoneNotIn: [String!]
phoneGT: String
phoneGTE: String
phoneLT: String
phoneLTE: String
phoneContains: String
phoneHasPrefix: String
phoneHasSuffix: String
phoneIsNil: Boolean
phoneNotNil: Boolean
phoneEqualFold: String
phoneContainsFold: String
"""
posts edge predicates
"""
hasPosts: Boolean
hasPostsWith: [PostWhereInput!]
}
type Query {
"""
Fetches an object given its ID.
"""
node(
"""
ID of the object.
"""
id: ID!
): Node
"""
Lookup nodes by a list of IDs.
"""
nodes(
"""
The list of node IDs.
"""
ids: [ID!]!
): [Node]!
categories(
"""
Returns the elements in the list that come after the specified cursor.
"""
after: Cursor
"""
Returns the first _n_ elements from the list.
"""
first: Int
"""
Returns the elements in the list that come before the specified cursor.
"""
before: Cursor
"""
Returns the last _n_ elements from the list.
"""
last: Int
"""
Ordering options for Categories returned from the connection.
"""
orderBy: CategoryOrder
"""
Filtering options for Categories returned from the connection.
"""
where: CategoryWhereInput
): CategoryConnection!
posts(
"""
Returns the elements in the list that come after the specified cursor.
"""
after: Cursor
"""
Returns the first _n_ elements from the list.
"""
first: Int
"""
Returns the elements in the list that come before the specified cursor.
"""
before: Cursor
"""
Returns the last _n_ elements from the list.
"""
last: Int
"""
Ordering options for Posts returned from the connection.
"""
orderBy: PostOrder
"""
Filtering options for Posts returned from the connection.
"""
where: PostWhereInput
): PostConnection!
profiles(
"""
Returns the elements in the list that come after the specified cursor.
"""
after: Cursor
"""
Returns the first _n_ elements from the list.
"""
first: Int
"""
Returns the elements in the list that come before the specified cursor.
"""
before: Cursor
"""
Returns the last _n_ elements from the list.
"""
last: Int
"""
Ordering options for Profiles returned from the connection.
"""
orderBy: ProfileOrder
"""
Filtering options for Profiles returned from the connection.
"""
where: ProfileWhereInput
): ProfileConnection!
}
"""
The builtin Time type
"""
scalar Time
"""
UpdateCategoryInput is used for update Category object.
Input was generated by ent.
"""
input UpdateCategoryInput {
updatedAt: Time
clearUpdatedAt: Boolean
title: String
description: String
clearDescription: Boolean
addPostIDs: [ID!]
removePostIDs: [ID!]
clearPosts: Boolean
}
"""
UpdatePostInput is used for update Post object.
Input was generated by ent.
"""
input UpdatePostInput {
updatedAt: Time
clearUpdatedAt: Boolean
expires: Boolean
expireTime: Time
clearExpireTime: Boolean
title: String
body: String
categoryID: ID
clearCategory: Boolean
profileID: ID
clearProfile: Boolean
}
"""
UpdateProfileInput is used for update Profile object.
Input was generated by ent.
"""
input UpdateProfileInput {
updatedAt: Time
clearUpdatedAt: Boolean
name: String
clearName: Boolean
address: String
clearAddress: Boolean
phone: String
clearPhone: Boolean
addPostIDs: [ID!]
removePostIDs: [ID!]
clearPosts: Boolean
}
`, BuiltIn: false},
}
var parsedSchema = gqlparser.MustLoadSchema(sources...)