Interceptors

Is it possible to intercept mutation similar way custom query can be created.
I need to create calculated fields.
For instance if I have Post type I would like to be able to calculate some fields before adding new object with a mutation.
Similar to this example which add custom fields on read but on add .

Lets say I have type User with fields first_name, second_name, full_name, creation_date, and I want to pass only
first_name and second_name and calculate full_name as concatenation creation_date replace with currentDate and maybe save some data from jwt token.

GitHub’s repository type

type Repository @remote { … }

Dgraph user type

type User {
# local user name = GitHub id
username: String! @id

# join local data with remote
repositories: [Repository] @custom(http: {
    url:  "https://api.github.com/users/$username/repos",
    method: GET
})

}

https://dgraph.io/docs/graphql/lambda/field/
I think I have got my reply

I have a problem with this example

type Author {
  id: ID!
  name: String! @search(by: [hash, trigram])
  dob: DateTime @search
  reputation: Float @search
  bio: String @lambda
  rank: Int @lambda
  isMe: Boolean @lambda
}

When I try to create fields with @lambda decorator I get following error:

resolving updateGQLSchema failed because input:29: While building @custom for @lambda: Type Event; Field owner; @custom directive is only allowed on fields where the type definition has a field with type ID! or a field with @id directive.
input:29: While building @custom for @lambda: Type Event; Field owner: @custom directive, body template must use a field with type ID! or a field with @id directive.

Is this functionality actually working?

I was missing primary key.