import { User } from '../interfaces/user';
import { ROLES_MOCK } from '../mocks/role.mocks';

export const USERS_MOCK: User[] = [
  {
    id: crypto.randomUUID(),
    nom: 'Maiga',
    prenom: 'Abdoulaye',
    identifiant: 'maiga',
    matriculeAgent: '91111',
    roleId: ROLES_MOCK[1].id,
    role: ROLES_MOCK[1],
    restrictionConnexion: false,
    restrictionAutomatique: false,
    nombreIpAutorise: 0,
    nombreIpAutoAutorise: 0,
    statut: 'Annulé',
    derniereConnexion: '2021-05-10T09:00:00.000Z',
    createdAt: '2020-01-01T00:00:00.000Z',
  },
  {
    id: crypto.randomUUID(),
    nom: 'Toulema',
    prenom: 'Moussa',
    identifiant: 'toulema',
    matriculeAgent: '91111',
    roleId: ROLES_MOCK[1].id,
    role: ROLES_MOCK[1],
    restrictionConnexion: false,
    restrictionAutomatique: false,
    nombreIpAutorise: 0,
    nombreIpAutoAutorise: 0,
    statut: 'Annulé',
    derniereConnexion: '2023-09-01T10:10:00.000Z',
  },
  {
    id: crypto.randomUUID(),
    nom: 'Toure',
    prenom: 'Ibrahim',
    identifiant: 'toure',
    matriculeAgent: '91111',
    roleId: ROLES_MOCK[1].id,
    role: ROLES_MOCK[1],
    restrictionConnexion: false,
    restrictionAutomatique: false,
    nombreIpAutorise: 0,
    nombreIpAutoAutorise: 0,
    statut: 'Annulé',
    derniereConnexion: '2022-05-05T08:00:00.000Z',
  },
  ...Array.from({ length: 20 }).map(
    (_, i) =>
      ({
        id: crypto.randomUUID(),
        nom: `Utilisateur${i + 1}`,
        prenom: 'Demo',
        identifiant: `user${i + 1}`,
        matriculeAgent: String(90000 + i),
        roleId: (i % 3 === 0 ? ROLES_MOCK[3] : ROLES_MOCK[4]).id,
        role: (i % 3 === 0 ? ROLES_MOCK[3] : ROLES_MOCK[4]),
        restrictionConnexion: false,
        restrictionAutomatique: false,
        nombreIpAutorise: i % 2 === 0 ? 10 : 8,
        nombreIpAutoAutorise: i % 2 === 0 ? 10 : 8,
        statut: i % 5 === 0 ? 'Suspendu' : 'Actif',
        derniereConnexion: new Date(2024, i % 12, (i % 28) + 1).toISOString(),
      } as User)
  ),
];
