Skip to content

Commit

Permalink
fix(endpoints): added FieldAPI so we can use /fields on the JS side
Browse files Browse the repository at this point in the history
  • Loading branch information
jzsfkzm committed Aug 12, 2015
1 parent 880e0d4 commit 5fc3789
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 0 deletions.
38 changes: 38 additions & 0 deletions api/endpoints/field/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
'use strict';

var util = require('util');
var _ = require('lodash');
var logger = require('logentries-logformat')('suite-sdk');

var Base = require('../_base');

var Field = function(request, options) {
Base.call(this, options);
this._request = request;
};

util.inherits(Field, Base);

_.extend(Field.prototype, {

get: function(payload, options) {
return this._requireParameters(payload, ['translate_id']).then(function() {
var url = util.format('/field/translate/%s', payload.translate_id);
logger.log('field_get');

return this._request.get(
this._getCustomerId(options),
this._buildUrl(url, payload, ['translate_id']),
options
);
}.bind(this));
}

});


Field.create = function(request, options) {
return new Field(request, options);
};

module.exports = Field;
15 changes: 15 additions & 0 deletions api/endpoints/field/index.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
'use strict';

var expect = require('chai').expect;
var FieldAPI = require('./');
var testApiMethod = require('../_test');

describe('SuiteAPI Field endpoint', function() {

describe('#get', function() {
testApiMethod(FieldAPI, 'get').withArgs({ translate_id: 'en' }).shouldGetResultFromEndpoint('/field/translate/en');

testApiMethod(FieldAPI, 'get').withArgs({}).shouldThrowMissingParameterError('translate_id');
});

});
3 changes: 3 additions & 0 deletions api/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ var LanguageAPI = require('./endpoints/language');
var ExternalEventAPI = require('./endpoints/externalevent');
var SettingsAPI = require('./endpoints/settings');
var EmailAPI = require('./endpoints/email');
var FieldAPI = require('./endpoints/field');
var SegmentAPI = require('./endpoints/segment');
var PurchaseAPI = require('./endpoints/purchase');
var KeyPool = require('escher-keypool');
Expand All @@ -24,6 +25,7 @@ var SuiteAPI = function(options) {
this.contact = ContactAPI.create(this._apiRequest, options);
this.contactList = ContactListAPI.create(this._apiRequest, options);
this.email = EmailAPI.create(this._apiRequest, options);
this.field = FieldAPI.create(this._apiRequest, options);
this.segment = SegmentAPI.create(this._apiRequest, options);
this.language = LanguageAPI.create(this._apiRequest, options);
this.externalEvent = ExternalEventAPI.create(this._apiRequest, options);
Expand Down Expand Up @@ -96,5 +98,6 @@ module.exports.ExternalEvent = ExternalEventAPI;
module.exports.Settings = SettingsAPI;
module.exports.Purchase = PurchaseAPI;
module.exports.Email = EmailAPI;
module.exports.Field = FieldAPI;
module.exports.Segment = SegmentAPI;
module.exports.SuiteRequestError = SuiteRequest.Error;

0 comments on commit 5fc3789

Please sign in to comment.