@shuuji3/kintone-utility
Version:
Utility library for development on Kintone platform.
50 lines (44 loc) • 1.48 kB
JavaScript
import createError from './common/createError';
import errors from './resource/errorMessages.json';
import putRecords from './putRecords';
import sliceArray from './common/sliceArray';
import limit from './resource/limit.json';
/** Function: putAllRecords
* Can update over 2000 records, but can't do rollback.
* @param {object} params
* @param {number} params.app
* @param {array} params.records
* @param {boolean} [params.isGuest]
*
* @return {object} result
*/
export default (params) => {
if (!(params && params.app)) {
return createError(errors.required.app);
} else if (!Array.isArray(params.records)) {
return createError(errors.shouldBeArray.records);
} else if (params.records && params.records.length < 1) {
return createError(errors.emptyArray.records);
}
let results = [];
const putAll = (beginNum) => {
let begin = beginNum || 0;
const isGuest = Boolean(params.isGuest);
const param = {
app: params.app,
records: sliceArray(params.records, begin),
isGuest: isGuest
};
return putRecords(param).then((response) => {
results = results.concat(response.results);
begin += limit.bulk;
if (params.records.length <= begin) {
return {
results: results
};
}
return putAll(begin);
});
};
return putAll();
};