Files
mercadodevida/work/artifacts/CLUB-006/implementer.md

26 lines
1.2 KiB
Markdown

# Implementer — CLUB-006
## Resumen
Panel de administración del Club de Clientes.
## Backend
- `src/modules/club/domain/club.ts` — tipos `ClubMemberWithUser`, `PaginatedClubMembers`
- `src/modules/club/domain/ports.ts` — порты: `listMembers`, `findMemberById`
- `src/modules/club/infrastructure/pg-club-repository.ts` — implementación con JOIN a identity_users para email
- `src/modules/club/application/club-service.ts``listMembers()`, `getMemberById()`, `listMemberTransactions()`
- `src/modules/club/api/club.routes.ts` — 3 endpoints admin nuevos + serializeMemberWithUser
## Frontend admin
- `apps/admin/src/lib/api-client.ts``clubAdminApi.listMembers`, `getMember`, `getMemberMovements`
- `apps/admin/src/app/(dashboard)/club/page.tsx` — lista con búsqueda, filtro y paginación
- `apps/admin/src/app/(dashboard)/club/[id]/page.tsx` — detalle + movimientos
- `apps/admin/src/lib/permissions.ts` — añadido "🎫 Club" al sidebar
## Validación
- `cd project && npm run typecheck`
- `cd project && npm run build`
- `cd project/apps/admin && npm run build` ✅ (club pages visible)
- `npx vitest run src/modules/club/tests/` ✅ (4 tests)
- `git diff --check`
- `./scripts/verify.sh`