function updateCollections()

in public/src/js/modules/authed-ajax.js [54:89]


function updateCollections(edits, win) {
    var collections = [];

    var isTreats = false;
    _.each(edits, edit => {
        if (_.isObject(edit)) {
            edit.collection.setPending(true);
            edit.id = edit.collection.id;
            collections.push(edit.collection);
            delete edit.collection;
            edit.live = edit.mode === 'live';
            edit.draft = edit.mode === 'draft';
            isTreats = edit.mode === 'treats';
            delete edit.mode;
        }
    });

    edits.type = [
        edits.update ? 'Update' : null,
        edits.remove ? 'Remove' : null
    ].filter(Boolean).join('And');

    return request({
        url: collectionEndPoint(isTreats, edits),
        type: 'POST',
        data: JSON.stringify(edits)
    }, win)
    .then(resp => Promise.all(
        _.map(collections, collection => collection.populate(resp[collection.id]))
    ))
    .catch(ex => {
        _.each(collections, collection => collection.load());
        reportErrors(ex);
        throw ex;
    });
}