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

1.2 KiB

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.tslistMembers(), getMemberById(), listMemberTransactions()
  • src/modules/club/api/club.routes.ts — 3 endpoints admin nuevos + serializeMemberWithUser

Frontend admin

  • apps/admin/src/lib/api-client.tsclubAdminApi.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