Backend Data Layer
This section documents the data access and GraphQL-facing layer in backend.
Main Responsibilities
- Define GraphQL schema and resolver entry points.
- Validate resolver-level input and permission preconditions.
- Delegate domain/business logic to application services.
- Convert persistence rows into GraphQL response shapes.
Key Directories
src/data/schema.ts: GraphQL root schema assembly.src/data/queries/**: query resolvers.src/data/mutations/**: mutation resolvers.src/data/types/**: GraphQL object types and field resolvers.src/data/permissions.ts: permission definitions and guards.
Resolver Pattern
- Parse request context and args.
- Validate auth/permissions.
- Call service/repository through UnitOfWork.
- Return typed payload.
API Reference Entry Points
- API root
- Use search within API docs for:
data.schema,data.permissions.
Recommended Conventions
- Keep resolver methods thin and orchestration-focused.
- Move business logic to
src/application/services. - Keep persistence concerns inside repositories.