import { fetchClient } from '@ablogcms/fetch-client';
import type { RawSettingsResponse } from '@ablogcms/block-editor/normalize-settings';

/**
 * ブロックエディターの設定 (`ajax/edit/block-editor/settings.json`) を取得する。
 * `@ablogcms/block-editor` パッケージはデータを取得しない方針のため、fetch はコア側のこの関数が担う。
 * レスポンスの形（RawSettingsResponse）はそのまま返し、EditorSettings への変換はパッケージ側の
 * `normalizeSettings` に委ねる（呼び出し側は use-block-editor-settings-swr.ts）。
 */
export async function fetchBlockEditorSettings(): Promise<RawSettingsResponse> {
  const endpoint = ACMS.Library.acmsLink(
    {
      tpl: 'ajax/edit/block-editor/settings.json',
      bid: ACMS.Config.bid,
      cid: ACMS.Config.cid,
    },
    false
  );
  const { data } = await fetchClient.get<RawSettingsResponse>(endpoint);
  return data ?? {};
}
