Skip to content

Instantly share code, notes, and snippets.

@roboli
Last active May 30, 2018 11:34
Show Gist options
  • Save roboli/f98fc95d39ba658e0da05a260d01821e to your computer and use it in GitHub Desktop.
Save roboli/f98fc95d39ba658e0da05a260d01821e to your computer and use it in GitHub Desktop.
function getUrlVars(url) {
var vars = [], hash;
var hashes = url.slice(window.location.href.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
function checkExperian(opts) {
var $ = opts.$;
var Promise = opts.Promise;
return function(lead) {
return Promise.resolve($.post(opts.dbaClioUri + 'experian-check', lead));
};
}
function searchLead(opts) {
var $ = opts.$;
var Promise = opts.Promise;
return function(query) {
return Promise.resolve($.get(opts.dbaClioUri + 'leads', query));
};
}
function getLead(opts) {
var $ = opts.$;
var Promise = opts.Promise;
return function(id) {
return Promise.resolve($.get(opts.dbaClioUri + 'leads/' + id));
};
}
function createLead(opts) {
var $ = opts.$;
var Promise = opts.Promise;
return function(lead) {
return Promise.resolve($.post(opts.dbaClioUri + 'leads', lead));
};
}
function updateLead(opts) {
var $ = opts.$;
var Promise = opts.Promise;
return function(lead) {
return new Promise(function(resolve, reject) {
$.ajax({
url: opts.dbaClioUri + 'leads',
type: 'PUT',
data: lead,
success: resolve,
error: reject
});
});
};
}
function confirm(opts) {
var $ = opts.$;
var Promise = opts.Promise;
return function(leadId, agreed) {
return Promise.resolve($.post(opts.dbaClioUri + 'confirm', {
lead_id: leadId,
agreed: agreed
}));
};
}
function dbaClio(opts) {
return {
uri: opts.dbaClioUri,
leadGroup: opts.leadGroup,
checkExperian: checkExperian(opts),
confirm: confirm(opts),
createLead: createLead(opts),
getLead: getLead(opts),
searchLead: searchLead(opts),
updateLead: updateLead(opts)
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment