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>
This commit is contained in:
39
pkg/alpha.dagger.io/graphql/graphql.cue
Normal file
39
pkg/alpha.dagger.io/graphql/graphql.cue
Normal file
@@ -0,0 +1,39 @@
|
||||
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)
|
||||
}
|
Reference in New Issue
Block a user