Structure: - control-plane/: Registries, SIMCO directives, CI/CD templates - projects/: Gamilit, ERP-Suite, Trading-Platform, Betting-Analytics - shared/: Libs catalog, knowledge-base Key features: - Centralized port, domain, database, and service registries - 23 SIMCO directives + 6 fundamental principles - NEXUS agent profiles with delegation rules - Validation scripts for workspace integrity - Dockerfiles for all services - Path aliases for quick reference 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
126 lines
6.0 KiB
SQL
126 lines
6.0 KiB
SQL
-- =====================================================
|
|
-- Seed: social_features.friendships (PROD) - v1.1
|
|
-- Description: Relaciones de amistad entre estudiantes demo
|
|
-- Environment: PRODUCTION
|
|
-- Dependencies: auth_management.profiles
|
|
-- Order: 04
|
|
-- Created: 2025-11-15
|
|
-- Updated: 2025-11-15 (v1.1 - Corregido para schema actual)
|
|
-- Version: 1.1
|
|
-- =====================================================
|
|
--
|
|
-- CAMBIOS v1.1:
|
|
-- - Eliminada columna accepted_at (no existe en DDL actual)
|
|
-- - Ajustado para usar solo columnas disponibles
|
|
--
|
|
-- FRIENDSHIPS INCLUIDOS:
|
|
-- - 10 relaciones bidireccionales entre estudiantes
|
|
-- - 3 friend_requests pendientes
|
|
--
|
|
-- TOTAL: 10 friendships + 3 pending requests
|
|
--
|
|
-- IMPORTANTE: Este seed habilita testing completo de:
|
|
-- - /friends page (FriendsPage.tsx)
|
|
-- - FriendsLeaderboard component
|
|
-- - Friend requests feature
|
|
-- =====================================================
|
|
|
|
SET search_path TO social_features, auth_management, public;
|
|
|
|
-- =====================================================
|
|
-- INSERT: Friendships (accepted)
|
|
-- =====================================================
|
|
|
|
INSERT INTO social_features.friendships (
|
|
user_id,
|
|
friend_id,
|
|
status,
|
|
created_at,
|
|
updated_at
|
|
) VALUES
|
|
-- Ana García ↔ María Fernanda (mejores amigas)
|
|
('01ac4f00-082e-4287-b899-2e169c49b05e'::uuid, '03cd6000-282e-6487-d899-40369e49d070'::uuid, 'accepted', gamilit.now_mexico() - INTERVAL '15 days', gamilit.now_mexico() - INTERVAL '15 days'),
|
|
('03cd6000-282e-6487-d899-40369e49d070'::uuid, '01ac4f00-082e-4287-b899-2e169c49b05e'::uuid, 'accepted', gamilit.now_mexico() - INTERVAL '15 days', gamilit.now_mexico() - INTERVAL '15 days'),
|
|
|
|
-- Carlos Ramírez ↔ Luis Miguel
|
|
('02bc5f00-182e-5387-c899-3f269d49c06f'::uuid, '04de7000-382e-7587-e899-51469f49e081'::uuid, 'accepted', gamilit.now_mexico() - INTERVAL '10 days', gamilit.now_mexico() - INTERVAL '10 days'),
|
|
('04de7000-382e-7587-e899-51469f49e081'::uuid, '02bc5f00-182e-5387-c899-3f269d49c06f'::uuid, 'accepted', gamilit.now_mexico() - INTERVAL '10 days', gamilit.now_mexico() - INTERVAL '10 days'),
|
|
|
|
-- Sofía Martínez ↔ María Fernanda (compañeras avanzadas)
|
|
('05ef8000-482e-8687-f899-62569049f092'::uuid, '03cd6000-282e-6487-d899-40369e49d070'::uuid, 'accepted', gamilit.now_mexico() - INTERVAL '8 days', gamilit.now_mexico() - INTERVAL '8 days'),
|
|
('03cd6000-282e-6487-d899-40369e49d070'::uuid, '05ef8000-482e-8687-f899-62569049f092'::uuid, 'accepted', gamilit.now_mexico() - INTERVAL '8 days', gamilit.now_mexico() - INTERVAL '8 days'),
|
|
|
|
-- Ana García ↔ Diego Rodríguez
|
|
('01ac4f00-082e-4287-b899-2e169c49b05e'::uuid, '06f09000-582e-9787-0899-73679149010d'::uuid, 'accepted', gamilit.now_mexico() - INTERVAL '5 days', gamilit.now_mexico() - INTERVAL '5 days'),
|
|
('06f09000-582e-9787-0899-73679149010d'::uuid, '01ac4f00-082e-4287-b899-2e169c49b05e'::uuid, 'accepted', gamilit.now_mexico() - INTERVAL '5 days', gamilit.now_mexico() - INTERVAL '5 days'),
|
|
|
|
-- Valentina Cruz ↔ Isabella Romero
|
|
('07010000-682e-0887-1999-847802491e14'::uuid, '09232000-882e-2087-3119-0a90244931a3'::uuid, 'accepted', gamilit.now_mexico() - INTERVAL '12 days', gamilit.now_mexico() - INTERVAL '12 days'),
|
|
('09232000-882e-2087-3119-0a90244931a3'::uuid, '07010000-682e-0887-1999-847802491e14'::uuid, 'accepted', gamilit.now_mexico() - INTERVAL '12 days', gamilit.now_mexico() - INTERVAL '12 days')
|
|
ON CONFLICT (user_id, friend_id) DO NOTHING;
|
|
|
|
-- =====================================================
|
|
-- INSERT: Friend Requests (pending)
|
|
-- =====================================================
|
|
|
|
INSERT INTO social_features.friendships (
|
|
user_id,
|
|
friend_id,
|
|
status,
|
|
created_at,
|
|
updated_at
|
|
) VALUES
|
|
-- Mateo Flores → Sofía Martínez (pending)
|
|
('08121000-782e-1987-2009-9f891349212f'::uuid, '05ef8000-482e-8687-f899-62569049f092'::uuid, 'pending', gamilit.now_mexico() - INTERVAL '2 days', gamilit.now_mexico() - INTERVAL '2 days'),
|
|
|
|
-- Sebastián Vargas → Ana García (pending)
|
|
('10343000-982e-3187-4229-1b01354941b4'::uuid, '01ac4f00-082e-4287-b899-2e169c49b05e'::uuid, 'pending', gamilit.now_mexico() - INTERVAL '1 day', gamilit.now_mexico() - INTERVAL '1 day'),
|
|
|
|
-- Camila Ortiz → María Fernanda (pending)
|
|
('11454000-092e-4287-5339-2c12464951c5'::uuid, '03cd6000-282e-6487-d899-40369e49d070'::uuid, 'pending', gamilit.now_mexico() - INTERVAL '3 hours', gamilit.now_mexico() - INTERVAL '3 hours')
|
|
ON CONFLICT (user_id, friend_id) DO NOTHING;
|
|
|
|
-- =====================================================
|
|
-- Verification
|
|
-- =====================================================
|
|
|
|
DO $$
|
|
DECLARE
|
|
accepted_count INTEGER;
|
|
pending_count INTEGER;
|
|
total_count INTEGER;
|
|
BEGIN
|
|
SELECT COUNT(*) INTO accepted_count
|
|
FROM social_features.friendships
|
|
WHERE status = 'accepted';
|
|
|
|
SELECT COUNT(*) INTO pending_count
|
|
FROM social_features.friendships
|
|
WHERE status = 'pending';
|
|
|
|
total_count := accepted_count + pending_count;
|
|
|
|
RAISE NOTICE '';
|
|
RAISE NOTICE '========================================';
|
|
RAISE NOTICE 'FRIENDSHIPS CREADOS';
|
|
RAISE NOTICE '========================================';
|
|
RAISE NOTICE 'Friendships aceptados: %', accepted_count;
|
|
RAISE NOTICE 'Friend requests pendientes: %', pending_count;
|
|
RAISE NOTICE 'Total: %', total_count;
|
|
RAISE NOTICE '========================================';
|
|
|
|
IF accepted_count >= 10 AND pending_count >= 3 THEN
|
|
RAISE NOTICE '✓ Friendships creados correctamente';
|
|
RAISE NOTICE '';
|
|
RAISE NOTICE 'Features habilitadas:';
|
|
RAISE NOTICE ' - /friends page (FriendsPage.tsx)';
|
|
RAISE NOTICE ' - FriendsLeaderboard component';
|
|
RAISE NOTICE ' - Friend requests system';
|
|
ELSE
|
|
RAISE WARNING '⚠ Se esperaban al menos 10 accepted y 3 pending';
|
|
RAISE WARNING 'Actual: % accepted, % pending', accepted_count, pending_count;
|
|
END IF;
|
|
|
|
RAISE NOTICE '';
|
|
END $$;
|