stackpress
Version:
Incept is a content management framework.
19 lines (18 loc) • 601 B
JavaScript
import create from './create.js';
import detail from './detail.js';
import update from './update.js';
export default async function upsert(model, engine, input, seed) {
const ids = {};
for (const column of model.ids) {
if (!input[column.name]) {
return await create(model, engine, input, seed);
}
ids[column.name] = input[column.name];
}
const row = await detail(model, engine, ids, undefined, seed);
if (row.results) {
return await update(model, engine, ids, input, seed);
}
return await create(model, engine, input, seed);
}
;