setConfigとgetConfig

にメンテナンス済み

kintone プラグインを取り扱うための API として、プラグインの設定情報を保存、取得するための API が用意されています。

しかし、保存される情報は以下の型となります。

APIで保存される情報
type PluginConfig = {
  [key: string]: string;
};

つまり、1 つのプロパティに 1 つの文字列のみであれば問題ありませんが、文字列以外の型を

通常、JSON.parse と stiringify を活用して保存・復元するんですが、これを都度意識するのは面倒です。

今回はその部分を意識しなくてもデータをやり取りするための関数を用意したので、よろしければご活用ください。

プラグイン情報取得時

データの取得は設定画面と実際の操作画面どちらでも必要になりますね。

/**
 * プラグインがアプリ単位で保存している設定情報を返却します
 */
const restoreStorage = (id) => {
  const config = kintone.plugin.app.getConfig(id);

  return Object.entries(config).reduce(
    (acc, [key, value]) => ({ ...acc, [key]: JSON.parse(value) }),
    {}
  );
};

プラグイン情報設定時

こちらは基本的に設定画面のみでの利用が多いかと思います。

/**
 * アプリにプラグインの設定情報を保存します
 */
const storeStorage = (target, callback) => {
  const converted = Object.entries(target).reduce(
    (acc, [key, value]) => ({ ...acc, [key]: JSON.stringify(value) }),
    {}
  );

  kintone.plugin.app.setConfig(converted, callback);
};
#JavaScript #kintone