https://freelanceshack.com/blog/how-to-implement-custom-directives-in-graphql