Skip to content

Instantly share code, notes, and snippets.

@osecluna
Created December 6, 2019 11:18
Show Gist options
  • Save osecluna/407ba2552398ed4814e61ce84857bfdb to your computer and use it in GitHub Desktop.
Save osecluna/407ba2552398ed4814e61ce84857bfdb to your computer and use it in GitHub Desktop.
diff --git a/cartridges/bc_amplience/cartridge/scripts/api/libAmplienceAPIAuth.ds b/cartridges/bc_amplience/cartridge/scripts/api/libAmplienceAPIAuth.ds
index dd9bc27..1a480ca 100644
--- a/cartridges/bc_amplience/cartridge/scripts/api/libAmplienceAPIAuth.ds
+++ b/cartridges/bc_amplience/cartridge/scripts/api/libAmplienceAPIAuth.ds
@@ -7,7 +7,7 @@
/** @module api/libAmplienceAPIAuth */
/* API Includes */
-var ServiceRegistry = require('dw/svc/ServiceRegistry');
+importScript("init/httpServiceInit.ds");
var AMP_AUTH_PATH = 'auth';
@@ -30,7 +30,7 @@ exports.getAuthToken = function getAuthToken(params) {
password : params['password']
};
- var service = ServiceRegistry.get("http.amp.api.post");
+ var service = getHTTPAmpApiPost();
service.URL += AMP_AUTH_PATH;
var result = service.call(requestBody);
diff --git a/cartridges/bc_amplience/cartridge/scripts/init/httpServiceInit.ds b/cartridges/bc_amplience/cartridge/scripts/init/httpServiceInit.ds
index f2a166a..ab37a4d 100644
--- a/cartridges/bc_amplience/cartridge/scripts/init/httpServiceInit.ds
+++ b/cartridges/bc_amplience/cartridge/scripts/init/httpServiceInit.ds
@@ -6,32 +6,39 @@ importPackage( dw.net );
importPackage( dw.io );
/**
- *
- * HTTP Services
- *
- */
- ServiceRegistry.configure("http.amp.api.get", {
- createRequest: function(svc:HTTPService, args){
- svc.setRequestMethod("GET");
- },
- parseResponse: function(svc:HTTPService, client:HTTPClient) {
- return client.text;
- }
- });
+*
+* HTTP Services
+*
+*/
+var HTTPAmpApiGet = LocalServiceRegistry.createService("http.amp.api.get", {
+ createRequest: function(svc:HTTPService, args){
+ svc.setRequestMethod("GET");
+ },
+ parseResponse: function(svc:HTTPService, client:HTTPClient) {
+ return client.text;
+ }
+});
- ServiceRegistry.configure("http.amp.api.post", {
- createRequest: function(svc:HTTPService, args){
- // Default request method is post
- // No need to setRequestMethod
- if(args) {
- svc.addHeader("Content-Type", "text/json");
- return JSON.stringify(args);
- } else {
- return null;
- }
- },
- parseResponse: function(svc:HTTPService, client:HTTPClient) {
- return client.text;
+var HTTPAmpApiPost = LocalServiceRegistry.createService("http.amp.api.post", {
+ createRequest: function(svc:HTTPService, args){
+ // Default request method is post
+ // No need to setRequestMethod
+ if(args) {
+ svc.addHeader("Content-Type", "text/json");
+ return JSON.stringify(args);
+ } else {
+ return null;
}
- });
-
\ No newline at end of file
+ },
+ parseResponse: function(svc:HTTPService, client:HTTPClient) {
+ return client.text;
+ }
+});
+
+function getHTTPAmpApiGet() {
+ return HTTPAmpApiGet;
+}
+
+function getHTTPAmpApiPost() {
+ return HTTPAmpApiPost;
+}
diff --git a/cartridges/bm_amplience/cartridge/scripts/dm/modules/AmplienceImportHelper.ds b/cartridges/bm_amplience/cartridge/scripts/dm/modules/AmplienceImportHelper.ds
index b6c7789..ac18c62 100644
--- a/cartridges/bm_amplience/cartridge/scripts/dm/modules/AmplienceImportHelper.ds
+++ b/cartridges/bm_amplience/cartridge/scripts/dm/modules/AmplienceImportHelper.ds
@@ -11,6 +11,7 @@ importPackage( dw.web );
importPackage( dw.svc );
importScript( "bc_amplience:import/libAmplienceParser.ds" );
+importScript("bm_amplience:init/httpServiceInit.ds");
function AmplienceImportHelper() {
@@ -27,7 +28,7 @@ function AmplienceImportHelper() {
*/
var loadAmplienceManifest = function(manifestURL : String) : File {
- var service : Service = ServiceRegistry.get("http.amp.manifest.get");
+ var service = getHTTPAmpManifestGet();
service.URL = manifestURL;
var manifestFile : File = new File(MANIFEST_FILE_NAME);
diff --git a/cartridges/bm_amplience/cartridge/scripts/init/httpServiceInit.ds b/cartridges/bm_amplience/cartridge/scripts/init/httpServiceInit.ds
index c2c080c..2261bf5 100644
--- a/cartridges/bm_amplience/cartridge/scripts/init/httpServiceInit.ds
+++ b/cartridges/bm_amplience/cartridge/scripts/init/httpServiceInit.ds
@@ -5,18 +5,23 @@ importPackage( dw.svc );
importPackage( dw.net );
importPackage( dw.io );
- /**
- *
- * HTTP Services
- *
- */
- ServiceRegistry.configure("http.amp.manifest.get", {
- createRequest: function(svc:HTTPService, file : File){
- svc.setRequestMethod("GET");
- svc.setOutFile(file);
- },
- parseResponse: function(svc:HTTPService, client:HTTPClient) {
- return client.text;
- }
- });
+/**
+*
+* HTTP Services
+*
+*/
+var HTTPAmpManifestGet = LocalServiceRegistry.createService("http.amp.manifest.get", {
+ createRequest: function(svc:HTTPService, file : File){
+ svc.setRequestMethod("GET");
+ svc.setOutFile(file);
+ },
+ parseResponse: function(svc:HTTPService, client:HTTPClient) {
+ return client.text;
+ }
+});
+
+function getHTTPAmpManifestGet() {
+ return HTTPAmpManifestGet;
+}
+
\ No newline at end of file
diff --git a/cartridges/int_amplience/cartridge/scripts/services/ContentHub.js b/cartridges/int_amplience/cartridge/scripts/services/ContentHub.js
index edf33ca..2a736a4 100644
--- a/cartridges/int_amplience/cartridge/scripts/services/ContentHub.js
+++ b/cartridges/int_amplience/cartridge/scripts/services/ContentHub.js
@@ -1,7 +1,7 @@
'use strict';
-var ServiceRegistry = require('dw/svc/ServiceRegistry');
importPackage(dw.system);
+importScript("services/init/ContentHub.js");
var CMS_ITEM_ID_URI_PREFIX = "http://content.cms.amplience.com/";
@@ -100,7 +100,9 @@ exports.getContentItem = function(id) {
id = CMS_ITEM_ID_URI_PREFIX + id;
}
- return ServiceRegistry.get("Amplience.Delivery.API").call({'sys.iri' : id});
+ var service = getAmplienceDeliveryAPI().call({'sys.iri' : id});
+
+ return service;
};
exports.doLoadCards = function(items) {
@@ -162,7 +164,7 @@ function doLoadCards(items){
function callCMS(method, path, params) {
var currentSite = require('dw/system/Site').current;
var callAuth = true;
- var svc = ServiceRegistry.get("Amplience.CMS.API");
+ var svc = getAmplienceCMSAPI();
var cmsServiceURL = currentSite.getCustomPreferenceValue("ampCA_CMSAPI_URL");
if ( path == 'cms/content/query' ) {
@@ -205,7 +207,7 @@ function AuthService() {
//TODO: Add some logic for preserving/refreshing the token
this.getAccessToken = function() {
- var result = ServiceRegistry.get("Amplience.Auth.API").call();
+ var result = getAmplienceAuthAPI().call();
if (result && result.object && result.object.access_token) {
return result.object.access_token;
diff --git a/cartridges/int_amplience/cartridge/scripts/services/OCAPI.js b/cartridges/int_amplience/cartridge/scripts/services/OCAPI.js
index 78bcd09..0b3dbb9 100644
--- a/cartridges/int_amplience/cartridge/scripts/services/OCAPI.js
+++ b/cartridges/int_amplience/cartridge/scripts/services/OCAPI.js
@@ -1,8 +1,8 @@
'use strict';
/* API Includes */
-var ServiceRegistry = require('dw/svc/ServiceRegistry');
var ContentMgr = require('dw/content/ContentMgr');
+importScript("services/init/OCAPI.js");
exports.getContentAsset = function(assetID) {
@@ -108,7 +108,7 @@ function callOCAPI(method, path, data) {
var token = authService.getAccessToken();
- var svc = ServiceRegistry.get('Amplience.OCAPI.Data');
+ var svc = getAmplienceOCAPIData();
if ('put'.equalsIgnoreCase(method)) {
// Change method from put to post, as a workaround for BLOCK_PUT.
@@ -135,7 +135,7 @@ function AuthService() {
//TODO: Add some logic for preserving/refreshing the token
this.getAccessToken = function() {
- var result = ServiceRegistry.get('Amplience.OCAPI.Auth').call();
+ var result = getAmplienceOCAPIAuth().call();
if (result && result.object && result.object.access_token) {
return result.object.access_token;
diff --git a/cartridges/int_amplience/cartridge/scripts/services/init/ContentHub.js b/cartridges/int_amplience/cartridge/scripts/services/init/ContentHub.js
index 2cf1d6a..b149cb2 100644
--- a/cartridges/int_amplience/cartridge/scripts/services/init/ContentHub.js
+++ b/cartridges/int_amplience/cartridge/scripts/services/init/ContentHub.js
@@ -6,14 +6,13 @@
*/
/* API Includes */
-var ServiceRegistry = require('dw/svc/ServiceRegistry');
-
+var LocalServiceRegistry = require('dw/svc/LocalServiceRegistry');
/**
* Amplience.ContentHub.Auth service configuration callbacks
*
*/
-ServiceRegistry.configure("Amplience.Auth.API", {
+var AmplienceAuthAPI = LocalServiceRegistry.createService("Amplience.Auth.API", {
createRequest: function(svc: HTTPService, args) {
var currentSite : Site = require('dw/system/Site').current;
@@ -70,7 +69,7 @@ ServiceRegistry.configure("Amplience.Auth.API", {
* Amplience.ContentHub.CMS service configuration callbacks
*
*/
-ServiceRegistry.configure("Amplience.CMS.API", {
+var AmplienceCMSAPI = LocalServiceRegistry.createService("Amplience.CMS.API", {
createRequest: function(svc: HTTPService, args) {
if (args) {
return JSON.stringify(args);
@@ -86,7 +85,7 @@ ServiceRegistry.configure("Amplience.CMS.API", {
* Amplience.ContentHub.Delivery service configuration callbacks
*
*/
-ServiceRegistry.configure("Amplience.Delivery.API", {
+var AmplienceDeliveryAPI = LocalServiceRegistry.createService("Amplience.Delivery.API", {
createRequest: function(svc: HTTPService, args) {
var currentSite : Site = require('dw/system/Site').current;
var deliveryServiceURL = currentSite.getCustomPreferenceValue("ampCA_ContentHubDeliveryURL");
@@ -127,3 +126,15 @@ function urlEncoded(object) {
return params.join("&");
}
+
+function getAmplienceAuthAPI() {
+ return AmplienceAuthAPI;
+}
+
+function getAmplienceCMSAPI() {
+ return AmplienceCMSAPI;
+}
+
+function getAmplienceDeliveryAPI() {
+ return AmplienceDeliveryAPI;
+}
diff --git a/cartridges/int_amplience/cartridge/scripts/services/init/OCAPI.js b/cartridges/int_amplience/cartridge/scripts/services/init/OCAPI.js
index 305aed1..d963b0b 100644
--- a/cartridges/int_amplience/cartridge/scripts/services/init/OCAPI.js
+++ b/cartridges/int_amplience/cartridge/scripts/services/init/OCAPI.js
@@ -5,14 +5,13 @@
*/
/* API Includes */
-var ServiceRegistry = require('dw/svc/ServiceRegistry');
-
+var LocalServiceRegistry = require('dw/svc/LocalServiceRegistry');
/**
* Amplience.OCAPI.Auth service hooks
*
*/
-ServiceRegistry.configure('Amplience.OCAPI.Auth', {
+var AmplienceOCAPIAuth = LocalServiceRegistry.createService('Amplience.OCAPI.Auth', {
createRequest: function(svc: HTTPService, args) {
svc.addHeader('Content-Type', 'application/x-www-form-urlencoded');
@@ -29,7 +28,7 @@ ServiceRegistry.configure('Amplience.OCAPI.Auth', {
* Amplience.OCAPI.Data service hooks
*
*/
-ServiceRegistry.configure('Amplience.OCAPI.Data', {
+var AmplienceOCAPIData = LocalServiceRegistry.createService('Amplience.OCAPI.Data', {
createRequest: function(svc: HTTPService, args) {
if (args) {
return JSON.stringify(args);
@@ -39,3 +38,11 @@ ServiceRegistry.configure('Amplience.OCAPI.Data', {
return JSON.parse(client.text);
}
});
+
+function getAmplienceOCAPIAuth() {
+ return AmplienceOCAPIAuth;
+}
+
+function getAmplienceOCAPIData() {
+ return AmplienceOCAPIData;
+}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment