Skip to content

Commit

Permalink
Merge pull request #77 from PlayNetwork/v1.4.4
Browse files Browse the repository at this point in the history
v1.4.4 - Fixed bug preventing asset downloads
  • Loading branch information
tsmith1985 committed Nov 1, 2018
2 parents 7c784d1 + 7d3d17b commit 0539881
Show file tree
Hide file tree
Showing 4 changed files with 98 additions and 92 deletions.
4 changes: 4 additions & 0 deletions history.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
# v1.4.4 - 2018/10/31

* Fixed bug preventing asset downloads

# v1.4.3 - 2018/10/31

* Added support for updating clients
Expand Down
10 changes: 6 additions & 4 deletions lib/asset.js
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,10 @@ module.exports = function (assetOptions, ensureAuthHeaders, self) {
return `collectionid:${asset.collectionId}`;
}

if (!validation.isEmpty(asset.messageId)) {
return `messageid:${asset.messageId}`;
}

if (!validation.isEmpty(asset.isrc)) {
parts.push(...['isrc', asset.isrc]);
}
Expand All @@ -65,7 +69,7 @@ module.exports = function (assetOptions, ensureAuthHeaders, self) {
parts.push(...['upc', asset.upc]);
}

return join.parts(':');
return parts.join(':');
}

self.call = (options, callback) => {
Expand Down Expand Up @@ -178,9 +182,7 @@ module.exports = function (assetOptions, ensureAuthHeaders, self) {
return yield Promise.reject(new Error('asset is required'));
}

let
assetId = typeof asset === 'string' ? asset : asset.assetId,
headers = yield ensureAuthHeaders(options);
let headers = yield ensureAuthHeaders(options);

return yield req.get({
headers : headers,
Expand Down
174 changes: 87 additions & 87 deletions lib/campaign.js
Original file line number Diff line number Diff line change
@@ -1,95 +1,95 @@
/* eslint-disable no-sync */
var
events = require('events'),
co = require('co'),
fs = require('fs'),
request = require('./request'),
validation = require('./validation');
events = require('events'),
co = require('co'),
fs = require('fs'),
request = require('./request'),
validation = require('./validation');

const
DEFAULT_HOST = 'campaign-api.apps.playnetwork.com',
DEFAULT_SECURE = true,
EVENT_REQUEST = 'request',
EVENT_RESPONSE = 'response',
BOUNDARY_LENGTH = 60;
DEFAULT_HOST = 'campaign-api.apps.playnetwork.com',
DEFAULT_SECURE = true,
EVENT_REQUEST = 'request',
EVENT_RESPONSE = 'response',
BOUNDARY_LENGTH = 60;


module.exports = function (campaignOptions, ensureAuthHeaders, self) {
'use strict';

// enable events
self = Object.create(events.EventEmitter.prototype);
events.EventEmitter.call(self);

// local vars
let
req,
settings = {};

// determine settings
settings.host =
validation.isEmpty(campaignOptions) || validation.isEmpty(campaignOptions.host) ?
DEFAULT_HOST :
campaignOptions.host;

settings.secure =
validation.isEmpty(campaignOptions) || validation.isEmpty(campaignOptions.secure) ?
DEFAULT_SECURE :
campaignOptions.secure;

// apply additional optional settings if supplied
settings = validation.applyOptionalParameters(campaignOptions, settings);

// ensure request is setup
req = new request.Request(settings);
req.on(EVENT_REQUEST, (data) => (self.emit(EVENT_REQUEST, data)));
req.on(EVENT_RESPONSE, (data) => (self.emit(EVENT_RESPONSE, data)));

self.settings = () => (settings);

// for internal use only (Broadcast Engine); no need to document for external consumption
self.mixCampaigns = (deviceId, options, callback) => {
if (typeof options === 'function') {
callback = options;
options = undefined;
}

if (typeof deviceId === 'function') {
callback = deviceId;
deviceId = undefined;
options = undefined;
}

let exec = co(function* () {

if (validation.isEmpty(deviceId)) {
return yield Promise.reject(new Error('deviceId is required'));
}

if (/^\d+$/.test(deviceId) === false) {
return yield Promise.reject(new Error('deviceId must be numeric'));
}

let headers = yield ensureAuthHeaders();

return yield req.post({
headers: headers,
pathname: `/v3/campaigns/mix/${deviceId}`
}, options);
});

return validation.promiseOrCallback(exec, callback);
};

self.version = (callback) => {
let exec = co(function* () {
return yield req.get({
pathname: '/v3/version'
});
});

return validation.promiseOrCallback(exec, callback);
};

return self;
'use strict';

// enable events
self = Object.create(events.EventEmitter.prototype);
events.EventEmitter.call(self);

// local vars
let
req,
settings = {};

// determine settings
settings.host =
validation.isEmpty(campaignOptions) || validation.isEmpty(campaignOptions.host) ?
DEFAULT_HOST :
campaignOptions.host;

settings.secure =
validation.isEmpty(campaignOptions) || validation.isEmpty(campaignOptions.secure) ?
DEFAULT_SECURE :
campaignOptions.secure;

// apply additional optional settings if supplied
settings = validation.applyOptionalParameters(campaignOptions, settings);

// ensure request is setup
req = new request.Request(settings);
req.on(EVENT_REQUEST, (data) => (self.emit(EVENT_REQUEST, data)));
req.on(EVENT_RESPONSE, (data) => (self.emit(EVENT_RESPONSE, data)));

self.settings = () => (settings);

// for internal use only (Broadcast Engine); no need to document for external consumption
self.mixCampaigns = (deviceId, options, callback) => {
if (typeof options === 'function') {
callback = options;
options = undefined;
}

if (typeof deviceId === 'function') {
callback = deviceId;
deviceId = undefined;
options = undefined;
}

let exec = co(function *() {

if (validation.isEmpty(deviceId)) {
return yield Promise.reject(new Error('deviceId is required'));
}

if (/^\d+$/.test(deviceId) === false) {
return yield Promise.reject(new Error('deviceId must be numeric'));
}

let headers = yield ensureAuthHeaders();

return yield req.post({
headers: headers,
pathname: `/v3/campaigns/mix/${deviceId}`
}, options);
});

return validation.promiseOrCallback(exec, callback);
};

self.version = (callback) => {
let exec = co(function *() {
return yield req.get({
pathname: '/v3/version'
});
});

return validation.promiseOrCallback(exec, callback);
};

return self;
};
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "playnetwork-sdk",
"version": "1.4.3",
"version": "1.4.4",
"contributors": [
{
"name": "Joshua Thomas",
Expand Down

0 comments on commit 0539881

Please sign in to comment.