searcherside/assets/api/ent.graphql
Peter Kurfer 9ea9a8f658
Some checks failed
Go build / build (push) Failing after 1m58s
feat: continue basic setup
- setup ent scheme
- add command to create users
- document API
- add helpers to create migrations
- add command to run migrations
- add basic compose file
2024-06-19 21:19:37 +02:00

432 lines
8.2 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
"""
Define a Relay Cursor type:
https://relay.dev/graphql/connections.htm#sec-Cursor
"""
scalar Cursor
type Index implements Node {
id: ID!
createTime: Time!
updateTime: Time!
siteID: ID!
name: String!
revision: String!
index: Site!
}
"""
IndexWhereInput is used for filtering Index objects.
Input was generated by ent.
"""
input IndexWhereInput {
not: IndexWhereInput
and: [IndexWhereInput!]
or: [IndexWhereInput!]
"""
id field predicates
"""
id: ID
idNEQ: ID
idIn: [ID!]
idNotIn: [ID!]
idGT: ID
idGTE: ID
idLT: ID
idLTE: ID
"""
create_time field predicates
"""
createTime: Time
createTimeNEQ: Time
createTimeIn: [Time!]
createTimeNotIn: [Time!]
createTimeGT: Time
createTimeGTE: Time
createTimeLT: Time
createTimeLTE: Time
"""
update_time field predicates
"""
updateTime: Time
updateTimeNEQ: Time
updateTimeIn: [Time!]
updateTimeNotIn: [Time!]
updateTimeGT: Time
updateTimeGTE: Time
updateTimeLT: Time
updateTimeLTE: Time
"""
site_id field predicates
"""
siteID: ID
siteIDNEQ: ID
siteIDIn: [ID!]
siteIDNotIn: [ID!]
"""
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
nameEqualFold: String
nameContainsFold: String
"""
revision field predicates
"""
revision: String
revisionNEQ: String
revisionIn: [String!]
revisionNotIn: [String!]
revisionGT: String
revisionGTE: String
revisionLT: String
revisionLTE: String
revisionContains: String
revisionHasPrefix: String
revisionHasSuffix: String
revisionEqualFold: String
revisionContainsFold: String
"""
index edge predicates
"""
hasIndex: Boolean
hasIndexWith: [SiteWhereInput!]
}
"""
An object with an ID.
Follows the [Relay Global Object Identification Specification](https://relay.dev/graphql/objectidentification.htm)
"""
interface Node @goModel(model: "code.icb4dc0.de/prskr/searcherside/internal/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 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]!
sites: [Site!]!
users: [User!]!
}
type Site implements Node {
id: ID!
createTime: Time!
updateTime: Time!
name: String!
siteMembers: [UserStaff!]
indices: [Index!]
}
"""
SiteWhereInput is used for filtering Site objects.
Input was generated by ent.
"""
input SiteWhereInput {
not: SiteWhereInput
and: [SiteWhereInput!]
or: [SiteWhereInput!]
"""
id field predicates
"""
id: ID
idNEQ: ID
idIn: [ID!]
idNotIn: [ID!]
idGT: ID
idGTE: ID
idLT: ID
idLTE: ID
"""
create_time field predicates
"""
createTime: Time
createTimeNEQ: Time
createTimeIn: [Time!]
createTimeNotIn: [Time!]
createTimeGT: Time
createTimeGTE: Time
createTimeLT: Time
createTimeLTE: Time
"""
update_time field predicates
"""
updateTime: Time
updateTimeNEQ: Time
updateTimeIn: [Time!]
updateTimeNotIn: [Time!]
updateTimeGT: Time
updateTimeGTE: Time
updateTimeLT: Time
updateTimeLTE: Time
"""
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
nameEqualFold: String
nameContainsFold: String
"""
site_members edge predicates
"""
hasSiteMembers: Boolean
hasSiteMembersWith: [UserStaffWhereInput!]
"""
indices edge predicates
"""
hasIndices: Boolean
hasIndicesWith: [IndexWhereInput!]
}
"""
The builtin Time type
"""
scalar Time
type User implements Node {
id: ID!
createTime: Time!
updateTime: Time!
email: String!
givenName: String
surname: String
staffs: [UserStaff!]
}
type UserStaff implements Node {
id: ID!
createTime: Time!
updateTime: Time!
userID: ID!
siteID: ID!
users: User!
site: Site!
}
"""
UserStaffWhereInput is used for filtering UserStaff objects.
Input was generated by ent.
"""
input UserStaffWhereInput {
not: UserStaffWhereInput
and: [UserStaffWhereInput!]
or: [UserStaffWhereInput!]
"""
id field predicates
"""
id: ID
idNEQ: ID
idIn: [ID!]
idNotIn: [ID!]
idGT: ID
idGTE: ID
idLT: ID
idLTE: ID
"""
create_time field predicates
"""
createTime: Time
createTimeNEQ: Time
createTimeIn: [Time!]
createTimeNotIn: [Time!]
createTimeGT: Time
createTimeGTE: Time
createTimeLT: Time
createTimeLTE: Time
"""
update_time field predicates
"""
updateTime: Time
updateTimeNEQ: Time
updateTimeIn: [Time!]
updateTimeNotIn: [Time!]
updateTimeGT: Time
updateTimeGTE: Time
updateTimeLT: Time
updateTimeLTE: Time
"""
user_id field predicates
"""
userID: ID
userIDNEQ: ID
userIDIn: [ID!]
userIDNotIn: [ID!]
"""
site_id field predicates
"""
siteID: ID
siteIDNEQ: ID
siteIDIn: [ID!]
siteIDNotIn: [ID!]
"""
users edge predicates
"""
hasUsers: Boolean
hasUsersWith: [UserWhereInput!]
"""
site edge predicates
"""
hasSite: Boolean
hasSiteWith: [SiteWhereInput!]
}
"""
UserWhereInput is used for filtering User objects.
Input was generated by ent.
"""
input UserWhereInput {
not: UserWhereInput
and: [UserWhereInput!]
or: [UserWhereInput!]
"""
id field predicates
"""
id: ID
idNEQ: ID
idIn: [ID!]
idNotIn: [ID!]
idGT: ID
idGTE: ID
idLT: ID
idLTE: ID
"""
create_time field predicates
"""
createTime: Time
createTimeNEQ: Time
createTimeIn: [Time!]
createTimeNotIn: [Time!]
createTimeGT: Time
createTimeGTE: Time
createTimeLT: Time
createTimeLTE: Time
"""
update_time field predicates
"""
updateTime: Time
updateTimeNEQ: Time
updateTimeIn: [Time!]
updateTimeNotIn: [Time!]
updateTimeGT: Time
updateTimeGTE: Time
updateTimeLT: Time
updateTimeLTE: Time
"""
email field predicates
"""
email: String
emailNEQ: String
emailIn: [String!]
emailNotIn: [String!]
emailGT: String
emailGTE: String
emailLT: String
emailLTE: String
emailContains: String
emailHasPrefix: String
emailHasSuffix: String
emailEqualFold: String
emailContainsFold: String
"""
given_name field predicates
"""
givenName: String
givenNameNEQ: String
givenNameIn: [String!]
givenNameNotIn: [String!]
givenNameGT: String
givenNameGTE: String
givenNameLT: String
givenNameLTE: String
givenNameContains: String
givenNameHasPrefix: String
givenNameHasSuffix: String
givenNameIsNil: Boolean
givenNameNotNil: Boolean
givenNameEqualFold: String
givenNameContainsFold: String
"""
surname field predicates
"""
surname: String
surnameNEQ: String
surnameIn: [String!]
surnameNotIn: [String!]
surnameGT: String
surnameGTE: String
surnameLT: String
surnameLTE: String
surnameContains: String
surnameHasPrefix: String
surnameHasSuffix: String
surnameIsNil: Boolean
surnameNotNil: Boolean
surnameEqualFold: String
surnameContainsFold: String
"""
staffs edge predicates
"""
hasStaffs: Boolean
hasStaffsWith: [UserStaffWhereInput!]
}