UNPKG

@shuuji3/kintone-utility

Version:

Utility library for development on Kintone platform.

54 lines (47 loc) 1.48 kB
import createError from './common/createError'; import errors from './resource/errorMessages.json'; /** Function: getAllRecordsByQuery * @param {object} params * @param {number} params.app * @param {string} [params.query] * @param {array} [params.fields] * @param {boolean} [params.isGuest] * * @return {object} result */ const getAllRecordsByQueryWithCursor = async params => { if (!(params && params.app)) { return createError(errors.required.app); } const cursor = await kintoneUtility.rest.postCursor({ app: params.app, size: 500, query: params.query || '', fields: params.fields || [] }); let allRecords; try { let {records, next} = await kintoneUtility.rest.getCursor({ id: cursor.id, isGuest: params.isGuest }); allRecords = records; while (next) { const res = await kintoneUtility.rest.getCursor({ id: cursor.id, isGuest: params.isGuest }); next = res.next; allRecords = allRecords.concat(res.records); } return {records: allRecords}; } finally { if (allRecords.length !== Number.parseInt(cursor.totalCount, 10)) { await kintoneUtility.rest.deleteCursor({ id: cursor.id, isGuest: params.isGuest }); } } }; export default getAllRecordsByQueryWithCursor;