nextjs-data-access-layer
Secure, reusable data access patterns with DTOs and Taint checks.
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
Data Access Layer (DAL)
Priority: P1 (HIGH)
Centralize all data access (Database & External APIs) to ensure consistent security, authorization, and caching.
Principles
-
Server-Only: Must include
import 'server-only'to prevent Client bundling. -
Auth Co-location: Auth checks (
session.role) must be inside the DAL function. - DTO Transformation: Return plain objects (DTOs), never raw ORM instances.
-
No Internal Fetch: Call DAL functions directly. Do not
fetch('localhost/api').
Implementation
| Approach | When to use | Reference |
|---|---|---|
| API Gateway (BFF) | Enterprise apps with separated Backend (NestJS). | Pattern A |
| Direct DB | Fullstack apps or Admin Panels. | Pattern B |
Limitations
- Client Components: Cannot import DAL files. Must use Server Actions or Route Handlers as bridges.
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-01-26
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!