import type { Integration, IntegrationDetail, IntegrationQueryParams, UpdateIntegrationPayload } from "@/domain/entities/integration";
import type { IntegrationRepository } from "@/domain/repositories/integration.repository";
import { api } from "@/infrastructure/api/api-client";

export class IntegrationRepositoryImpl implements IntegrationRepository {
  findAll(params: IntegrationQueryParams) {
    return api.get<Integration[]>("/integrations", { params });
  }

  findById(id: number) {
    return api.get<IntegrationDetail>(`/integrations/${id}`);
  }

  update(id: number, payload: UpdateIntegrationPayload) {
    return api.put<Integration>(`/integrations/${id}`, payload);
  }
}
