📄️ Extensions
While plugins enhance Baeta during build time, extensions add functionality at runtime, allowing you to extend your GraphQL schema with additional capabilities. Extensions provide methods (similar to middlewares) that can be applied to fields and resolvers, enabling features like authorization, caching, logging, and more.
📄️ Authorization
Baeta provides a flexible and type-safe authorization system that allows you to define granular access controls at both operation and field levels. With support for default scopes, dynamic rules, and a permission granting system, you can implement complex authorization patterns while maintaining clean and maintainable code.
📄️ Complexity
Baeta provides a query complexity analysis system that helps protect your GraphQL API from resource-exhausting queries. It calculates the complexity of incoming queries and rejects those that exceed configured limits.
📄️ Caching
Baeta provides a powerful and flexible caching system with support for multiple storage adapters. The caching system offers automatic cache invalidation, parent-based invalidation, and type-safe cache operations.