Building Resolvers and Services

Resolvers should remain relatively thin. They translate GraphQL arguments into calls to application services. Services should contain business rules and coordinate data access.

This separation makes the application easier to test and prevents GraphQL-specific concerns from spreading throughout the domain layer.