Need help with conditional upsert (DQL)

Thanks for your answer!

Unfortunately this did not really work for me and regarding this thread, Dgraph does not support string equals in @if() statements of mutation conditions. However, it is possible to perform an additional match query. So, in order to do something like this

{
  "query": "{ q(func: uid(0x1)) { u as uid \n v as User.status } }",
  "mutations": [
    {
      "cond": "@if(eq(len(u), 1) AND eq(val(v), \"PENDING\"))",
      "set": {
        "uid": "uid(u)",
        "User.status": "ACTIVE"
      }
    }
  ]
}

we would introduce a second query, saved as a variable

{
  "query": "{ q(func: uid(0x1)) { u as uid \n v as User.status } } \n matchPending as var(func: eq(val(v), \"PENDING\"))",
  "mutations": {
    "cond": "@if(eq(len(u), 1) AND eq(len(matchPending),1))",
    "set": {
        "uid": "uid(u)",
        "User.status": "ACTIVE"
      }
  }
}