Files
revng-revng/python/revng/daemon/schema.graphql.tpl
Giacomo Vercesi d51e19dbac Introduce the revng.daemon GraphQL API
This commit introduces the `revng.daemon` Python module, a Flask-powered
web application that exposes the functionality from `revng.api` across a
GraphQL API
2022-04-26 15:05:30 +02:00

70 lines
1.4 KiB
Smarty

{#
This file is distributed under the MIT License. See LICENSE.md for details.
#}
type Query {
info: Info!
step(name: String!): Step
container(name: String!, step: String!): Container
targets(pathspec: String!): [Step!]!
produce(step: String!, container: String!, target_list: String!, only_if_ready: Boolean): String
produce_artifacts(step: String!, paths: String, only_if_ready: Boolean): String
{%- for rank in structure.keys() %}
{{ rank.name }}{{ rank | rank_param }}: {{ rank.name | capitalize }}!
{%- endfor %}
}
type Mutation {
upload_b64(input: String!, container: String!): Boolean!
upload_file(file: Upload, container: String!): Boolean!
}
type Info {
kinds: [Kind!]!
ranks: [Rank!]!
steps: [Step!]!
model: String!
}
type Kind {
name: ID
rank: String!
parent: String
}
type Rank {
name: ID
depth: Int!
parent: String
}
type Step {
name: ID
parent: String
containers: [Container!]!
}
type Container {
name: ID
mime: String
targets: [Target!]!
}
type Target {
serialized: String
exact: Boolean
path_components: [String!]!
kind: String
ready: Boolean
}
{% for rank, steps in structure.items() %}
type {{ rank.name | capitalize }} {
{%- for step in steps %}
{{ step.name | snake_case }}(only_if_ready: Boolean): String!
{%- endfor %}
}
{% endfor %}
scalar Upload