Releases: krutikavk/sparseupdate-poc
Release list
Dynamic Proxy: Final Design
Dynamic proxy final design
https://github.com/krutikavk/sparseupdate-poc/blob/dynamic-proxy-no-intermediate/README.md
dynamic-proxy-separated-classes
Dynamic proxy implementation separating classes that are generated by codegen and the classes that need to be generated.
Dynamic Proxy Updated Design
Dynamic Proxy design: POC
Dynamic Proxy POC
Documentation: https://docs.google.com/document/d/1xR1dv4Cy3KGCdICoBULPiwz1XyDYUmTTdhUwTobXX0Q/edit#heading=h.llt5sor7r4t6
Sparse Update POC: Graphql-java interception
Description
Sparse Update POC with : Graphql-java interception
This implementation overrides instrumentation for graphql-java to add raw variables from mutation input to graphql context.
Please use git checkout graphql-java-interception to try this out.
Mutation:
query getShow {
show(id:"one") {
title
releaseYear
}
}
//output
{
"data": {
"show": {
"title": "Show One",
"releaseYear": 2023
}
}
}
mutation updateShow($input: UpdateShowInput!) {
updateShow(input: $input) {
id
title
releaseYear
}
}
// Variables
{
"input": {
"id": "one",
"title": "New Show"
}
}
// output
{
"data": {
"updateShow": {
"id": "one",
"title": "New Show",
"releaseYear": 2023
}
}
}
Title is updated to "New Show" without affecting the value of "releaseYear" even though it is not supplied by the client in input variables.
Implementation used:
- Adding raw variables to dfe context through customized
graphql-javainstrumentation forbeginExecution - Presence (boolean) fields for
titleandreleaseYear
Sparse Update with Boolean Fields
Implementation of sparse update with Boolean Fields