UNPKG

@shuuji3/kintone-utility

Version:

Utility library for development on Kintone platform.

45 lines (42 loc) 1.43 kB
import createError from './common/createError'; import errors from './resource/errorMessages.json'; import getRecords from './getRecords'; import postRecord from './postRecord'; import putRecord from './putRecord'; /** Function: upsertRecord * @param {object} params * @param {number} params.app * @param {object} params.updateKey * @param {string} params.updateKey.field * @param {string} params.updateKey.value * @param {object} params.record * @param {boolean} [params.isGuest] * * @return {object} result */ export default (params) => { if (!(params && params.app)) { return createError(errors.required.app); } else if ( !params.updateKey || !params.updateKey.field || (!params.updateKey.value && params.updateKey.value !== '') ) { return createError(errors.required.updateKey); } params.query = `${params.updateKey.field} = "${params.updateKey.value}"`; return getRecords(params).then((resp) => { if (params.updateKey.value === '' || resp.records.length < 1) { // post params.record[params.updateKey.field] = { value: params.updateKey.value }; return postRecord(params); } else if (resp.records.length === 1) { // put return putRecord(params); } // not unique return createError(errors.notUniqueField); }); };