Skip to main content

Definiciones de tipos - Equipo

Este archivo define los tipos y estructuras utilizados para representar miembros de un equipo y estadísticas relacionadas.


UserRole

Tipo que representa los roles posibles que puede tener un miembro del equipo.

export type UserRole = 'LECTOR' | 'COMENTARISTA' | 'EDITOR';
  • LECTOR → Usuario con permisos de solo lectura.
  • COMENTARISTA → Usuario con permisos para comentar.
  • EDITOR → Usuario con permisos para editar.

TeamMember

Interfaz que define la estructura de un miembro del equipo.

export interface TeamMember {
id: string;
name: string;
email: string;
role: UserRole;
avatar?: string;
perfilCompleto?: boolean;
estado: "activo" | "inactivo";
}

Propiedades:

  • id (string) → Identificador único del miembro.
  • name (string) → Nombre completo del miembro.
  • email (string) → Correo electrónico del miembro.
  • role (UserRole) → Rol asignado al miembro.
  • avatar? (string, opcional) → URL del avatar del miembro.
  • perfilCompleto? (boolean, opcional) → Indica si el perfil está completo (false) o incompleto (true).
  • estado ("activo" | "inactivo") → Estado actual del miembro en el sistema.

TeamStats

Interfaz que define las estadísticas generales de los miembros del equipo.

export interface TeamStats {
total: number;
byRole: {
lector: number;
comentarista: number;
editor: number;
};
}

Propiedades:

  • total (number) → Cantidad total de miembros en el equipo.

  • byRole (objeto) → Cantidad de miembros clasificados por rol:

    • lector (number) → Número de miembros con rol LECTOR.
    • comentarista (number) → Número de miembros con rol COMENTARISTA.
    • editor (number) → Número de miembros con rol EDITOR.