match-g3
Version:
Node wrapper for Match.com's G3 API
71 lines (59 loc) • 1.75 kB
JavaScript
var request = require('request'),
q = require('q');
var key = null, url;
module.exports = {
init: function (options) {
if (key === null) {
key = options.key;
url = options.url || "http://g3.match.com/rest/";
}
return this;
},
authorize: function (data) {
var def = q.defer();
request.post(url + 'login', {
headers: {
matchAuthorize: '0,' + key + ',11,255'
},
form: data
}, function (err, res, body) {
var user = JSON.parse(body).Payload;
if (err) {
def.reject(err);
} else {
def.resolve(user);
}
});
return def.promise;
},
request: function (authkey, endpoint, data) {
var def = q.defer();
request.get(url + endpoint, {
headers: {
matchAuthorize: authkey + ',' + key + ',7,24'
},
qs: data
}, function (err, res, body) {
var response = JSON.parse(body);
if (response.Error) {
def.reject(response.Error);
} else {
def.resolve(response.Payload);
}
});
return def.promise;
},
utilities: {
seekingCode: function (searchingGender, seekingGender) {
return {
'male-male': 1,
'male-female': 2,
'female-female': 3,
'female-male': 4
}[[searchingGender, seekingGender].join('-').toLowerCase()];
},
genderCode: function (gender) {
return (gender.toLowerCase() === 'male') ? 1 : 2;
}
}
};