This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
dagger/pkg/alpha.dagger.io/graphql/graphql.cue
Andrea Luzzardi 282759c0e5 cue modules: move stdlib to pkg/alpha.dagger.io
In preparation for Europa, we will vendor multiple CUE modules:

- `pkg/alpha.dagger.io`: legacy non-europa packages
- `pkg/dagger.io`: core Europa packages
- `pkg/universe.dagger.io`: Europa universe

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2022-01-11 13:16:37 -08:00

40 lines
677 B
CUE

package graphql
import (
"encoding/json"
"alpha.dagger.io/dagger"
"alpha.dagger.io/http"
)
#Query: {
// Contents of the graphql query
query: string
// graphql variables
variable: [key=string]: _
// graphql url
url: string
//API Token
token: dagger.#Input & dagger.#Secret | *null
post: http.#Post & {
"url": url
request: {
body: json.Marshal({
"query": query
variables: json.Marshal(variable)
})
header: "Content-Type": "application/json"
token: token
}
}
payload: {
data: {...}
errors?: {...}
}
payload: json.Unmarshal(post.response.body)
data: payload.data @dagger(output)
errors?: payload.errors @dagger(output)
}