期間重複の排除について(日にちと時間)

現在備品の貸し出しを管理するアプリをフォームブリッジと連携して作成しています。
備品名および貸し出しの期間(貸し出し日時、返却日時)を入力するようにしているのですが、
期間の重複排除ができず、場合によっては貸し出しが重複してしまいます。
JavaScriptを使って期間の重複を排除したいのですが、可能でしょうか。
また、可能な場合の手順をご教示いただきたいです。
ちなみにkinotneでのレコード登録時はjavaScript を用いて重複の排除ができたのですが、
フォームブリッジからのレコード登録時がうまくいきません。

※下記はkitnoneでのレコード登録時に期間重複を排除したJavaScriptのコードです。

(function(){
'use strict';

kintone.events.on('app.record.create.submit', function(event) {

let rec = event.record;

 var t = rec['備品名']['value']; //備品名
 var s = rec['貸し出し日時']['value']; //貸し出し日時
 var e = rec['返却日時']['value']; //返却日時

let appId = kintone.app.getId();
// クエリ生成
let query = '備品名 in ("' + t + '")';
query += ' and 返却日時 > "' + s + '"';
query += ' and 貸し出し日時 < "' + e + '"';

let body = {
'app': appId,
'query': query,
'fields': ['備品名','貸し出し日時', '返却日時',]
};

return kintone.api(kintone.api.url('/k/v1/records.json', true), 'GET', body).then(function(resp) {

console.log(resp.records.length);

if(resp.records.length > 0) {
console.log('重複した予約が存在します');
event.error = '重複した予約が存在します';
}
return event;
});
});
})();

R.Iさん

お世話になっております。

kintone.api()はkintoneのページ内でしか利用できないメソッドですので、fetchまたはXMLHttpRequestを用いてkintoneのレコードを取得すると良いと思います。

ただし、クロスドメイン制約によりフォームブリッジから直接kintone REST APIを実行することはできません。

別途サーバーを用意するか、kViewerなどの外部サービスを利用することでkintoneのレコードを取得できます。

kViewerの外部公開APIを利用した記事が参考になるかと思います。
https://developer.cybozu.io/hc/ja/articles/360033455531

江田様

ご回答誠にありがとうございます。

仰って頂いたようにkviewrの外部APIを利用することで実現することができました。

今後ともよろしくお願いいたします。

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。