// SCB Admin API Service
import { apiClient } from './client';

class SCBAdminAPI {
  // SCB Overview
  async getSCBOverview(scbId: string) {
    return apiClient.get(`/api/admin/scb/dashboard/overview`);
  }

  // FI Management
  async getFIManagementDashboard(scbId: string) {
    return apiClient.get(`/api/admin/scb/fi`);
  }

  async approveSuspendFI(scbId: string, data: any) {
    return apiClient.post(`/api/admin/scb/fi/approve-suspend`, data);
  }

  async setFILimits(scbId: string, data: any) {
    return apiClient.post(`/api/admin/scb/fi/limits`, data);
  }

  async assignAPIProfile(scbId: string, data: any) {
    return apiClient.post(`/api/admin/scb/fi/api-profile`, data);
  }

  // Corridor & FX Policy
  async getCorridorPolicyDashboard(scbId: string) {
    return apiClient.get(`/api/admin/scb/corridors`);
  }

  // CBDC Controls
  async updateCBDCParameters(scbId: string, data: any) {
    return apiClient.post(`/api/admin/scb/cbdc/parameters`, data);
  }

  async updateGRUPolicy(scbId: string, data: any) {
    return apiClient.post(`/api/admin/scb/gru/policy`, data);
  }
}

export const scbAdminApi = new SCBAdminAPI();

