// SERVIÇO DESABILITADO - MIGRADO PARA BFF
// Este serviço não é mais usado após migração para BFF

export interface UsuarioData {
  'nome-civil': string;
  'nome-social': string;
  cpf: string;
  email: string;
  enderecos?: string[];
  empresas?: string[];
}

export interface UsuarioUpdateData {
  'nome-civil'?: string;
  'nome-social'?: string;
  cpf?: string;
  email?: string;
  enderecos?: string[];
  empresas?: string[];
}

export interface ApiResponse<T = any> {
  success: boolean;
  data?: T;
  error?: string;
  details?: any;
}

export interface PaginatedResponse<T> extends ApiResponse<T> {
  documents: T[];
  total: number;
}

// Funções desabilitadas - retornam dados vazios
class UsuarioService {
  async listar(page = 1, limit = 10): Promise<PaginatedResponse<any>> {
    console.warn('UsuarioService DESABILITADO - use BFF');
    return {
      success: true,
      documents: [],
      total: 0,
    };
  }

  async buscarPorNome(nome: string, page = 1, limit = 10): Promise<PaginatedResponse<any>> {
    console.warn('UsuarioService DESABILITADO - use BFF');
    return {
      success: true,
      documents: [],
      total: 0,
    };
  }

  async buscarPorId(userId: string): Promise<ApiResponse<any>> {
    console.warn('UsuarioService DESABILITADO - use BFF');
    return {
      success: false,
      error: 'Serviço desabilitado - use BFF'
    };
  }

  async criar(data: UsuarioData): Promise<ApiResponse> {
    console.warn('UsuarioService DESABILITADO - use BFF');
    return {
      success: false,
      error: 'Serviço desabilitado - use BFF'
    };
  }

  async atualizar(id: string, data: any): Promise<ApiResponse> {
    console.warn('UsuarioService DESABILITADO - use BFF');
    return {
      success: false,
      error: 'Serviço desabilitado - use BFF'
    };
  }

  async deletar(id: string): Promise<ApiResponse> {
    console.warn('UsuarioService DESABILITADO - use BFF');
    return {
      success: false,
      error: 'Serviço desabilitado - use BFF'
    };
  }
}

export const usuarioService = new UsuarioService();
