Peter Kurfer
9ea9a8f658
Some checks failed
Go build / build (push) Failing after 1m58s
- setup ent scheme - add command to create users - document API - add helpers to create migrations - add command to run migrations - add basic compose file
432 lines
8.2 KiB
GraphQL
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!]
|
|
}
|