ka/graph/ent.graphql

786 lines
15 KiB
GraphQL
Raw Permalink Normal View History

2024-10-04 20:22:25 +02:00
directive @goField(forceResolver: Boolean, name: String, omittable: Boolean) on FIELD_DEFINITION | INPUT_FIELD_DEFINITION
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
}