import type { IntegrationConnection, IntegrationConnectionQueryParams, UpdateIntegrationConnectionPayload } from "@/domain/entities/integration";
import type { IntegrationConnectionRepository } from "@/domain/repositories/integration-connection.repository";
import { api } from "@/infrastructure/api/api-client";

export class IntegrationConnectionRepositoryImpl implements IntegrationConnectionRepository {
  findAll(params: IntegrationConnectionQueryParams) {
    return api.get<IntegrationConnection[]>("/integration-connections", { params });
  }

  findById(id: number) {
    return api.get<IntegrationConnection>(`/integration-connections/${id}`);
  }

  update(id: number, payload: UpdateIntegrationConnectionPayload) {
    return api.put<IntegrationConnection>(`/integration-connections/${id}`, payload);
  }
}
