App Plugins
App plugins extend Baeta at the application level. They can attach middlewares, read or set metadata across modules, and inspect the compiled schema. Several built-in features ship as app plugins — authorization and complexity are the most common — and you can compose them in a single application.
Authorization
Baeta provides a flexible and type-safe authorization system that lets you define granular access controls at the operation, type, and field level. With support for default scopes, dynamic rules, and a permission granting system, you can implement complex authorization patterns while keeping resolvers clean.
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 ships a caching library with support for multiple storage adapters. The cache offers declarative query definitions, automatic cache reconciliation on insert/update/delete, and type-safe cache operations.