-- 135 alumnos, 54 padres. rel_alumno_tutor: 27 padres con 3 hijos + 27 padres con 2 hijos = 81+54=135.
-- Hash: Password1. fk_id_cat_tipo: 3=Padre, 4=Alumno.
-- Se asume: profesores = usuarios 2..28; padres = 29..82; alumnos = 83..217.

-- 54 Padres (usuarios 29..82)
INSERT INTO usuarios (nombre, email, telefono, curp, hash_pass, fk_id_cat_tipo_usuario, activo, f_reg, f_mod, twofa_enabled, campass)
SELECT 'Tutor ' || g, 'tutor' || g || '@artschool.local', '5500000000', NULL, '$2b$08$R.ACz5A8UIB9sDUl/bwU1.z85a.RDVf0QwQRtokdGnNJaimUgYhKW', 3, true, NOW(), NOW(), false, false
FROM generate_series(1, 54) g;

-- 135 Alumnos (usuarios 83..217)
INSERT INTO usuarios (nombre, email, telefono, curp, hash_pass, fk_id_cat_tipo_usuario, activo, f_reg, f_mod, twofa_enabled, campass)
SELECT 'Alumno ' || g, 'alumno' || g || '@artschool.local', NULL, NULL, '$2b$08$R.ACz5A8UIB9sDUl/bwU1.z85a.RDVf0QwQRtokdGnNJaimUgYhKW', 4, true, NOW(), NOW(), false, false
FROM generate_series(1, 135) g;

-- perfil_alumno: 135 alumnos. Padre 29: 83,84,85; ... Padre 55: 161,162,163; Padre 56: 164,165; ... Padre 82: 216,217.
DO $$
DECLARE
  pid int; aid int; t int;
BEGIN
  -- 27 padres (29..55) x 3 hijos
  FOR pid IN 29..55 LOOP
    FOR t IN 1..3 LOOP
      aid := 83 + (pid - 29) * 3 + (t - 1);
      INSERT INTO perfil_alumno (fk_id_usuario, fk_id_usuario_padre_tutor, fecha_nacimiento, notas_medicas, activo)
      VALUES (aid, pid, '2015-06-15', NULL, true);
    END LOOP;
  END LOOP;
  -- 27 padres (56..82) x 2 hijos
  FOR pid IN 56..82 LOOP
    FOR t IN 1..2 LOOP
      aid := 164 + (pid - 56) * 2 + (t - 1);
      INSERT INTO perfil_alumno (fk_id_usuario, fk_id_usuario_padre_tutor, fecha_nacimiento, notas_medicas, activo)
      VALUES (aid, pid, '2015-06-15', NULL, true);
    END LOOP;
  END LOOP;
END $$;

-- rel_alumno_tutor
INSERT INTO rel_alumno_tutor (fk_id_alumno, fk_id_tutor, parentesco, activo)
SELECT fk_id_usuario, fk_id_usuario_padre_tutor, 'Padre/Madre', true
FROM perfil_alumno WHERE fk_id_usuario_padre_tutor IS NOT NULL;
