// Claims do JWT emitido pelo master-login. Fonte da verdade para req.user.
// CODING-RULES PGD-AUTHZ-002: workspace_id vem sempre do token, nunca do body.

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

export interface JwtPayload {
  sub: string; // userId
  workspace_id: string;
  role: JwtRole;
  iat?: number;
  exp?: number;
}

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