https://medium.com/@colecodes/structuring-data-with-apollo-server-e114a302aec7 https://github.com/entria/graphql-dataloader-boilerplate https://github.com/thebigredgeek/apollo-resolvers/blob/master/src/resolver.ts
- Data Model based: https://blog.apollographql.com/authorization-in-graphql-452b1c402a9
- Directive based: https://codeburst.io/use-custom-directives-to-protect-your-graphql-apis-a78cbbe17355
- Directive based (prisma): https://www.prisma.io/blog/graphql-directive-permissions-authorization-made-easy-54c076b5368e/
- Directive based (example): https://github.com/chenkie/graphql-auth
- https://blog.apollographql.com/reusable-graphql-schema-directives-131fb3a177d1
- https://blog.apollographql.com/graphql-validation-using-directives-4908fd5c1055
- Null values: https://blog.apollographql.com/using-nullability-in-graphql-2254f84c4ed7?gi=c746f925383c
- Using directives: https://blog.apollographql.com/graphql-validation-using-directives-4908fd5c1055
- Prevent regressions: https://blog.apollographql.com/schema-validation-with-apollo-engine-4032456425ba
- Custom errors and handling: https://blog.apollographql.com/full-stack-error-handling-with-graphql-apollo-5c12da407210