import type {
  AnomalyRuleClientsResponse,
  AnomalyRuleDefaults,
  AnomalyRulesResponse,
  UpdateAnomalyRuleDefaultsPayload,
} from "@/domain/entities/anomaly-rule";
import type { AnomalyRuleRepository } from "@/domain/repositories/anomaly-rule.repository";
import { api } from "@/infrastructure/api/api-client";

export class AnomalyRuleRepositoryImpl implements AnomalyRuleRepository {
  findAll() {
    return api.get<AnomalyRulesResponse>("/anomaly-rules");
  }

  update(key: string, payload: UpdateAnomalyRuleDefaultsPayload) {
    return api.put<AnomalyRuleDefaults>(`/anomaly-rules/${key}`, payload);
  }

  clients(key: string) {
    return api.get<AnomalyRuleClientsResponse>(`/anomaly-rules/${key}/clients`);
  }
}
