blob: 74e8340b6c02abda06f5a287fb10d8565f01b127 [file] [log] [blame]
import massageCreateIndexRequest from '../../massageCreateIndexRequest';
function createIndex(db, requestDef, callback) {
requestDef = massageCreateIndexRequest(requestDef);
db.request({
method: 'POST',
url: '_index',
body: requestDef
}, callback);
}
function find(db, requestDef, callback) {
db.request({
method: 'POST',
url: '_find',
body: requestDef
}, callback);
}
function getIndexes(db, callback) {
db.request({
method: 'GET',
url: '_index'
}, callback);
}
function deleteIndex(db, indexDef, callback) {
var ddoc = indexDef.ddoc;
var type = indexDef.type || 'json';
var name = indexDef.name;
if (!ddoc) {
return callback(new Error('you must provide an index\'s ddoc'));
}
if (!name) {
return callback(new Error('you must provide an index\'s name'));
}
var url = '_index/' + [ddoc, type, name].map(encodeURIComponent).join('/');
db.request({
method: 'DELETE',
url: url
}, callback);
}
export {
createIndex,
find,
getIndexes,
deleteIndex
};