guesstimate/internal/graph/query.graphql

68 lines
910 B
GraphQL

scalar Time
type User {
id: ID!
name: String
email: String!
connectedAt: Time!
createdAt: Time!
}
type Project {
id: ID!
title: String!
tasks: [Task]!
params: ProjectParams!
acl: [Access]!
taskCategories: [TaskCategory]!
}
type Task {
id: ID!
label: String
category: TaskCategory
estimations: Estimations
}
type TaskCategory {
id: ID!
label: String!
costPerTimeUnit: Float!
}
type Access {
id: ID!
user: User!
level: String!
}
type ProjectParams {
timeUnit: TimeUnit
currency: String!
roundUpEstimations: Boolean!
hideFinancialPreviewOnPrint: Boolean!
}
type TimeUnit {
label: String!
acronym: String!
}
type Estimations {
optimistic: Float!
likely: Float!
pessimistic: Float!
}
input ProjectsFilter {
ids: [ID]
limit: Int
offset: Int
search: String
}
type Query {
currentUser: User
projects(filter: ProjectsFilter): [Project]
}