tuist/projects/cloud/schema.graphql

554 lines
9.3 KiB
GraphQL

"""
Autogenerated input type of AcceptInvitation
"""
input AcceptInvitationInput {
"""
A unique identifier for the client performing the mutation.
"""
clientMutationId: String
token: String!
}
type Account {
id: ID!
name: String!
owner: Owner!
projects: [Project!]!
}
type CacheHitRateAverage {
cacheHitRateAverage: Float!
date: ISO8601DateTime!
}
"""
Autogenerated input type of CancelInvite
"""
input CancelInviteInput {
"""
A unique identifier for the client performing the mutation.
"""
clientMutationId: String
invitationId: String!
}
"""
Autogenerated input type of ChangeRemoteCacheStorage
"""
input ChangeRemoteCacheStorageInput {
"""
A unique identifier for the client performing the mutation.
"""
clientMutationId: String
id: ID
projectId: ID!
}
"""
Autogenerated input type of ChangeUserRole
"""
input ChangeUserRoleInput {
"""
A unique identifier for the client performing the mutation.
"""
clientMutationId: String
organizationId: String!
role: Role!
userId: ID!
}
type ClearRemoteCacheStorage {
bucket: S3Bucket
errors: [UserError!]!
}
"""
Autogenerated input type of ClearRemoteCacheStorage
"""
input ClearRemoteCacheStorageInput {
"""
A unique identifier for the client performing the mutation.
"""
clientMutationId: String
projectSlug: String!
}
type CommandAverage {
date: ISO8601DateTime!
durationAverage: Int!
}
type CommandEvent {
cacheHitRate: Float
cacheableTargets: [String!]
clientId: String!
commandArguments: String!
createdAt: ISO8601DateTime!
duration: Int!
id: ID!
localCacheTargetHits: [String!]
macosVersion: String!
name: String!
remoteCacheTargetHits: [String!]
subcommand: String
swiftVersion: String!
tuistVersion: String!
}
"""
The connection type for CommandEvent.
"""
type CommandEventConnection {
"""
A list of edges.
"""
edges: [CommandEventEdge]
"""
A list of nodes.
"""
nodes: [CommandEvent]
"""
Information to aid in pagination.
"""
pageInfo: PageInfo!
}
"""
An edge in a connection.
"""
type CommandEventEdge {
"""
A cursor for use in pagination.
"""
cursor: String!
"""
The item at the end of the edge.
"""
node: CommandEvent
}
type CreateProject {
errors: [UserError!]!
project: Project
}
"""
Autogenerated input type of CreateProject
"""
input CreateProjectInput {
accountId: ID
"""
A unique identifier for the client performing the mutation.
"""
clientMutationId: String
name: String!
organizationName: String
}
"""
Autogenerated input type of CreateS3Bucket
"""
input CreateS3BucketInput {
accessKeyId: String!
accountId: ID!
"""
A unique identifier for the client performing the mutation.
"""
clientMutationId: String
name: String!
region: String!
secretAccessKey: String!
}
"""
Autogenerated input type of DeleteProject
"""
input DeleteProjectInput {
"""
A unique identifier for the client performing the mutation.
"""
clientMutationId: String
id: ID!
}
"""
An ISO 8601-encoded datetime
"""
scalar ISO8601DateTime
type Invitation {
id: ID!
inviteeEmail: ID!
inviter: User!
organization: Organization!
token: String!
}
"""
Autogenerated input type of InviteUser
"""
input InviteUserInput {
"""
A unique identifier for the client performing the mutation.
"""
clientMutationId: String
inviteeEmail: String!
organizationId: String!
}
type Mutation {
"""
Accept invitation based on a token
"""
acceptInvitation(
"""
Parameters for AcceptInvitation
"""
input: AcceptInvitationInput!
): Organization!
"""
Cancel invite for a user to a given organization
"""
cancelInvite(
"""
Parameters for CancelInvite
"""
input: CancelInviteInput!
): Invitation!
"""
Change remote cache storage
"""
changeRemoteCacheStorage(
"""
Parameters for ChangeRemoteCacheStorage
"""
input: ChangeRemoteCacheStorageInput!
): RemoteCacheStorage
"""
Change role of a user for a given organization
"""
changeUserRole(
"""
Parameters for ChangeUserRole
"""
input: ChangeUserRoleInput!
): User!
"""
Clears the remote cache storage
"""
clearRemoteCacheStorage(
"""
Parameters for ClearRemoteCacheStorage
"""
input: ClearRemoteCacheStorageInput!
): ClearRemoteCacheStorage!
"""
Creates a new project
"""
createProject(
"""
Parameters for CreateProject
"""
input: CreateProjectInput!
): CreateProject!
"""
Create new S3 bucket
"""
createS3Bucket(
"""
Parameters for CreateS3Bucket
"""
input: CreateS3BucketInput!
): S3Bucket!
"""
Deletes a given project
"""
deleteProject(
"""
Parameters for DeleteProject
"""
input: DeleteProjectInput!
): Project!
"""
Invite a user to a given organization
"""
inviteUser(
"""
Parameters for InviteUser
"""
input: InviteUserInput!
): Invitation!
"""
Remove user from a given organization
"""
removeUser(
"""
Parameters for RemoveUser
"""
input: RemoveUserInput!
): User!
"""
Resend invite for a user to a given organization
"""
resendInvite(
"""
Parameters for ResendInvite
"""
input: ResendInviteInput!
): Invitation!
"""
Updates the last visited project of a user
"""
updateLastVisitedProject(
"""
Parameters for UpdateLastVisitedProject
"""
input: UpdateLastVisitedProjectInput!
): User!
"""
Update S3 bucket
"""
updateS3Bucket(
"""
Parameters for UpdateS3Bucket
"""
input: UpdateS3BucketInput!
): S3Bucket!
}
type Organization {
account: Account!
admins: [User!]!
id: ID!
invitations: [Invitation!]!
name: String!
users: [User!]!
}
union Owner = Organization | User
"""
Information about pagination in a connection.
"""
type PageInfo {
"""
When paginating forwards, the cursor to continue.
"""
endCursor: String
"""
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: String
}
type Project {
account: Account!
id: ID!
name: String!
remoteCacheStorage: RemoteCacheStorage
slug: String!
token: String!
}
type Query {
"""
Returns all tied accounts for the authenticated user
"""
accounts: [Account!]!
"""
Returns a list of cache hit rate averages, sorted by the date
"""
cacheHitRateAverages(commandName: String!, projectId: ID!): [CacheHitRateAverage!]!
"""
Returns a list of averages, sorted by the date
"""
commandAverages(commandName: String!, projectId: ID!): [CommandAverage!]!
"""
Returns a command event with a given id
"""
commandEvent(commandEventId: ID!): CommandEvent!
"""
Returns all command events for a given project
"""
commandEvents(
"""
Returns the elements in the list that come after the specified cursor.
"""
after: String
"""
Returns the elements in the list that come before the specified cursor.
"""
before: String
"""
Returns the first _n_ elements from the list.
"""
first: Int
"""
Returns the last _n_ elements from the list.
"""
last: Int
projectId: ID!
): CommandEventConnection!
"""
Returns invitation for a given token
"""
invitation(token: String!): Invitation!
"""
Returns the authenticated user
"""
me: User!
"""
Returns organization for a given name
"""
organization(name: String!): Organization
"""
Returns all available organizations for the authenticated user
"""
organizations: [Organization!]!
"""
Returns project for a given name and account name
"""
project(accountName: String!, name: String!): Project
"""
Returns all available projects for the authenticated user
"""
projects: [Project!]!
"""
Returns S3 buckets for an account of a given name
"""
s3Buckets(accountName: String!, projectName: String!): [S3Bucket!]!
}
union RemoteCacheStorage = S3Bucket
"""
Autogenerated input type of RemoveUser
"""
input RemoveUserInput {
"""
A unique identifier for the client performing the mutation.
"""
clientMutationId: String
organizationId: String!
userId: ID!
}
"""
Autogenerated input type of ResendInvite
"""
input ResendInviteInput {
"""
A unique identifier for the client performing the mutation.
"""
clientMutationId: String
invitationId: String!
}
enum Role {
admin
user
}
type S3Bucket {
accessKeyId: String!
accountId: ID!
id: ID!
name: String!
region: String!
secretAccessKey: String
}
"""
Autogenerated input type of UpdateLastVisitedProject
"""
input UpdateLastVisitedProjectInput {
"""
A unique identifier for the client performing the mutation.
"""
clientMutationId: String
id: ID!
}
"""
Autogenerated input type of UpdateS3Bucket
"""
input UpdateS3BucketInput {
accessKeyId: String!
"""
A unique identifier for the client performing the mutation.
"""
clientMutationId: String
id: ID!
name: String!
region: String!
secretAccessKey: String!
}
type User {
account: Account!
avatarUrl: String
email: String!
id: ID!
lastVisitedProject: Project
organizations: [Organization!]!
projects: [Project!]!
}
"""
A user-readable error
"""
type UserError {
"""
A description of the error
"""
message: String!
"""
Which input value this error came from
"""
path: [String!]
}