sparkmls-api
Version:
Spark MLS Api client
57 lines (49 loc) • 1.63 kB
JavaScript
var ref = require('../apiRef.json');
var listingcontroller = ListingController.prototype;
function ListingController(client) {
this.client = client;
}
listingcontroller.find = function(listingId, callback){
var self = this;
this.client.request('GET', ref.spark.api.rootPath + ref.spark.api.v1.listings.uri + "/" + listingId, function(res){
if(res.data.length > 0){
var listing = new Listing(self.client, res.data[0]);
callback(listing);
}
});
};
listingcontroller.query = function (queryString, callback){
var self = this;
this.client.request('GET', ref.spark.api.rootPath + ref.spark.api.v1.listings.uri, function (res){
if(res.success.status){
if(res.data.length > 0){
var listing = new Listing(self.client, res.data[0]);
callback(listing);
} else {
callback(undefined);
}
} else {
callback(undefined);
}
}, { _filter : 'StreetAddress Eq \'' + queryString + '\'' });
}
var listing = Listing.prototype;
function Listing(client, data) {
this.client = client;
if(typeof data === "object"){
this.data = data;
}
}
listing.loadData = function(data){
this.data = data;
};
listing.getPhotos = function(callback) {
this.client.request('GET', ref.spark.api.rootPath + ref.spark.api.v1.listings.uri + "/" + this.data.Id + "/photos", function (res){
if(res.success){
if(res.data.length > 0){
callback(res.data);
}
}
});
};
module.exports = ListingController;