| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 | const logger = require('./logger');const Client = require('./client');module.exports = function (config) {	logger('Client Ready using', config.baseUrl);	return {		/**		 * @param   {object}    options		 * @param   {string}    options.path         API path		 * @param   {string}    [options.token]      JWT		 * @param   {bool}      [options.returnOnError] If true, will return instead of throwing errors		 * @returns {string}		 */		backendApiGet: (options) => {			const api = new Client(config);			api.setToken(options.token);			return api.get(options.path, options.returnOnError || false);		},		/**		 * @param   {object}    options		 * @param   {string}    options.token        JWT		 * @param   {string}    options.path         API path		 * @param   {object}    options.data		 * @param   {bool}      [options.returnOnError] If true, will return instead of throwing errors		 * @returns {string}		 */		backendApiPost: (options) => {			const api = new Client(config);			api.setToken(options.token);			return api.postJson(options.path, options.data, options.returnOnError || false);		},		/**		 * @param   {object}    options		 * @param   {string}    options.token        JWT		 * @param   {string}    options.path         API path		 * @param   {object}    options.data		 * @param   {bool}      [options.returnOnError] If true, will return instead of throwing errors		 * @returns {string}		 */		backendApiPut: (options) => {			const api = new Client(config);			api.setToken(options.token);			return api.putJson(options.path, options.data, options.returnOnError || false);		},		/**		 * @param   {object}    options		 * @param   {string}    options.token        JWT		 * @param   {string}    options.path         API path		 * @param   {bool}      [options.returnOnError] If true, will return instead of throwing errors		 * @returns {string}		 */		backendApiDelete: (options) => {			const api = new Client(config);			api.setToken(options.token);			return api.delete(options.path, options.returnOnError || false);		}	};};
 |