// Claims do JWT emitido pelo master-login. Fonte da verdade para req.user.
// CODING-RULES PGD-AUTHZ-002: id_empresa vem sempre do token, nunca do body.
// ADR 0006 revogado: workspace_id → id_empresa (Int, empresa no ERP).

export type JwtRole = 'rep' | 'supervisor' | 'manager' | 'admin';

export interface JwtPayload {
  sub: string; // userId / cod_vendedor como string
  id_empresa: number; // empresa no ERP (era workspace_id)
  role: JwtRole;
  iat?: number;
  exp?: number;
}

// Tipo auxiliar para requests autenticados — evita global namespace augmentation.
export interface AuthenticatedRequest {
  user: JwtPayload;
}
