786 lines
15 KiB
GraphQL
786 lines
15 KiB
GraphQL
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
|
|
}
|