UNPKG

@shuuji3/kintone-utility

Version:

Utility library for development on Kintone platform.

53 lines (50 loc) 1.57 kB
import limit from '../resource/limit.json'; /** Function: makeBulkParam * @param {object} params * @param {number} params.app * @param {array} params.records * @param {array} params.ids * @param {array} params.revisions * @param {string} params.method * @param {boolean} params.isGuest * * @return {object} bulkParam */ export default (params) => { const LIMIT = limit.records; const bulkParam = { requests: [] }; const length = (params.records) ? params.records.length : params.ids.length; const loopTimes = Math.ceil(length / LIMIT); let begin = 0; let api; if (kintoneUtility.rest.guestSpaceId) { api = `/k/guest/${kintoneUtility.rest.guestSpaceId}/v1/records.json`; } else if (params.isGuest) { api = kintone.api.url('/k/v1/records', true).replace(location.origin, ''); } else { api = '/k/v1/records.json'; } for (let i = 0; i < loopTimes; i++) { const request = { method: params.method, api: api, payload: { app: params.app } }; if (params.records) { request.payload.records = params.records.slice(begin, begin + LIMIT); } if (params.ids) { request.payload.ids = params.ids.slice(begin, begin + LIMIT); } if (params.revisions) { request.payload.revisions = params.revisions.slice(begin, begin + LIMIT); } bulkParam.requests.push(request); begin += LIMIT; } return bulkParam; };