setConfigとgetConfig
にメンテナンス済み
kintone プラグインを取り扱うための API として、プラグインの設定情報を保存、取得するための API が用意されています。
しかし、保存される情報は以下の型となります。
APIで保存される情報
type PluginConfig = {
[key: string]: string;
};
つまり、1 つのプロパティに 1 つの文字列のみであれば問題ありませんが、文字列以外の型を格納する場合は、プロパティ毎に JSON.stringify して保存し、取得時に JSON.parse する必要があります。
これを都度意識するのは単純に手間になりますし、ミスの原因にもなりかねません。
今回はその部分を意識しなくてもデータをやり取りするための関数を用意したので、よろしければご活用ください。
プラグイン情報取得時
データの取得は設定画面、操作画面どちらでも利用できる API が用意されています。
/**
* プラグインがアプリ単位で保存している設定情報を返却します
*/
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