Built motion from commit bab6f49e.|2.6.17
[motion2.git] / server / api / intZohoAccount / intZohoAccount.model.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x1a8b=['ZohoAccount','int_zoho_accounts','changed','zone','clientSecret','host','serverUrl','slice','substring','https://accounts.zoho.com','https://accounts.zoho.com.au','https://accounts.zoho.in','https://accounts.zoho.eu','POST','/oauth/v2/token','authorization_code','clientId','then','parse','refresh_token','refreshToken','format','ZohoAccount,\x20Refresh\x20token\x20successfully\x20generated\x20for\x20account\x20\x22%s\x22\x20#%d','name','error','ZohoAccount,\x20Unable\x20to\x20generate\x20the\x20refresh\x20token\x20for\x20account\x20\x22%s\x22\x20#%d','catch','inspect','lastIndexOf','https://accounts.zoho.com.cn','application/x-www-form-urlencoded','info','lodash','util','../../config/logger','request-promise','path','./intZohoAccount.attributes','exports','define'];(function(_0x19d50e,_0x4e8008){var _0x12bdc2=function(_0x33b19c){while(--_0x33b19c){_0x19d50e['push'](_0x19d50e['shift']());}};_0x12bdc2(++_0x4e8008);}(_0x1a8b,0x1d8));var _0xb1a8=function(_0x4a5837,_0x12197e){_0x4a5837=_0x4a5837-0x0;var _0xe91580=_0x1a8b[_0x4a5837];return _0xe91580;};'use strict';var _=require(_0xb1a8('0x0'));var util=require(_0xb1a8('0x1'));var logger=require(_0xb1a8('0x2'))('api');var moment=require('moment');var BPromise=require('bluebird');var rp=require(_0xb1a8('0x3'));var fs=require('fs');var path=require(_0xb1a8('0x4'));var rimraf=require('rimraf');var config=require('../../config/environment');var attributes=require(_0xb1a8('0x5'));var integrations=require('../../components/integrations/configuration');module[_0xb1a8('0x6')]=function(_0x1cd85d,_0x468f50){return _0x1cd85d[_0xb1a8('0x7')](_0xb1a8('0x8'),attributes,{'tableName':_0xb1a8('0x9'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'beforeCreate':function(_0x5ece85,_0x52890b,_0x509e9e){if(_0x5ece85[_0xb1a8('0xa')](_0xb1a8('0xb'))||_0x5ece85[_0xb1a8('0xa')]('serverUrl')||_0x5ece85[_0xb1a8('0xa')]('clientId')||_0x5ece85[_0xb1a8('0xa')](_0xb1a8('0xc'))||_0x5ece85[_0xb1a8('0xa')]('code')||_0x5ece85[_0xb1a8('0xa')](_0xb1a8('0xd'))){var _0x37b711,_0xef1702;_0x37b711=_0x5ece85[_0xb1a8('0xe')];var _0x562981=_0x37b711[_0xb1a8('0xf')](-0x1);if(_0x562981==='/'||_0x562981==='\x5c'||_0x562981===':'){_0x37b711=_0x37b711[_0xb1a8('0x10')](0x0,_0x37b711['lastIndexOf'](_0x562981));}switch(_0x5ece85[_0xb1a8('0xb')]){case'US':_0xef1702=_0xb1a8('0x11');break;case'AU':_0xef1702=_0xb1a8('0x12');break;case'IN':_0xef1702=_0xb1a8('0x13');break;case'CN':_0xef1702='https://accounts.zoho.com.cn';break;default:_0xef1702=_0xb1a8('0x14');break;}var _0x1bbdc1={'method':_0xb1a8('0x15'),'uri':_0xef1702+_0xb1a8('0x16'),'form':{'grant_type':_0xb1a8('0x17'),'client_id':_0x5ece85[_0xb1a8('0x18')],'client_secret':_0x5ece85[_0xb1a8('0xc')],'redirect_uri':_0x5ece85[_0xb1a8('0xe')],'code':_0x5ece85['code']},'headers':{'Content-Type':'application/x-www-form-urlencoded'}};return rp(_0x1bbdc1)[_0xb1a8('0x19')](function(_0x25dc1b){var _0x5a654a=JSON[_0xb1a8('0x1a')](_0x25dc1b);if(_0x5a654a[_0xb1a8('0x1b')]){_0x5ece85[_0xb1a8('0x1c')]=_0x5a654a[_0xb1a8('0x1b')];logger['info'](util[_0xb1a8('0x1d')](_0xb1a8('0x1e'),_0x5ece85[_0xb1a8('0x1f')],_0x5ece85['id']));}else{logger[_0xb1a8('0x20')](util[_0xb1a8('0x1d')](_0xb1a8('0x21'),_0x5ece85[_0xb1a8('0x1f')],_0x5ece85['id']),util['inspect'](_0x5a654a,{'showHidden':![],'depth':null}));}return _0x509e9e(null,_0x52890b);})[_0xb1a8('0x22')](function(_0x1511e6){logger[_0xb1a8('0x20')](util[_0xb1a8('0x1d')](_0xb1a8('0x21'),_0x5ece85['name'],_0x5ece85['id']),util[_0xb1a8('0x23')](parsedResult,{'showHidden':![],'depth':null}));return _0x509e9e(_0x1511e6);});}else{return _0x509e9e(null,_0x52890b);}},'beforeUpdate':function(_0x4cfb05,_0x56b4be,_0x57153a){if(_0x4cfb05[_0xb1a8('0xa')](_0xb1a8('0xb'))||_0x4cfb05[_0xb1a8('0xa')](_0xb1a8('0xe'))||_0x4cfb05[_0xb1a8('0xa')](_0xb1a8('0x18'))||_0x4cfb05[_0xb1a8('0xa')](_0xb1a8('0xc'))||_0x4cfb05['changed']('code')||_0x4cfb05[_0xb1a8('0xa')](_0xb1a8('0xd'))){var _0x5bf6fc,_0x1a92ce;_0x5bf6fc=_0x4cfb05[_0xb1a8('0xe')];var _0x410549=_0x5bf6fc[_0xb1a8('0xf')](-0x1);if(_0x410549==='/'||_0x410549==='\x5c'||_0x410549===':'){_0x5bf6fc=_0x5bf6fc[_0xb1a8('0x10')](0x0,_0x5bf6fc[_0xb1a8('0x24')](_0x410549));}switch(_0x4cfb05['zone']){case'US':_0x1a92ce=_0xb1a8('0x11');break;case'AU':_0x1a92ce=_0xb1a8('0x12');break;case'IN':_0x1a92ce=_0xb1a8('0x13');break;case'CN':_0x1a92ce=_0xb1a8('0x25');break;default:_0x1a92ce=_0xb1a8('0x14');break;}var _0x69c7b9={'method':'POST','uri':_0x1a92ce+_0xb1a8('0x16'),'form':{'grant_type':'authorization_code','client_id':_0x4cfb05[_0xb1a8('0x18')],'client_secret':_0x4cfb05[_0xb1a8('0xc')],'redirect_uri':_0x4cfb05[_0xb1a8('0xe')],'code':_0x4cfb05['code']},'headers':{'Content-Type':_0xb1a8('0x26')}};return rp(_0x69c7b9)[_0xb1a8('0x19')](function(_0x57ee07){var _0x20f207=JSON[_0xb1a8('0x1a')](_0x57ee07);if(_0x20f207[_0xb1a8('0x1b')]){_0x4cfb05[_0xb1a8('0x1c')]=_0x20f207[_0xb1a8('0x1b')];logger[_0xb1a8('0x27')](util[_0xb1a8('0x1d')](_0xb1a8('0x1e'),_0x4cfb05[_0xb1a8('0x1f')],_0x4cfb05['id']));}else{logger[_0xb1a8('0x20')](util[_0xb1a8('0x1d')]('ZohoAccount,\x20Unable\x20to\x20generate\x20the\x20refresh\x20token\x20for\x20account\x20\x22%s\x22\x20#%d',_0x4cfb05[_0xb1a8('0x1f')],_0x4cfb05['id']),util['inspect'](_0x20f207,{'showHidden':![],'depth':null}));}return _0x57153a(null,_0x56b4be);})['catch'](function(_0x2e4754){logger[_0xb1a8('0x20')](util['format'](_0xb1a8('0x21'),_0x4cfb05[_0xb1a8('0x1f')],_0x4cfb05['id']),util[_0xb1a8('0x23')](parsedResult,{'showHidden':![],'depth':null}));return _0x57153a(_0x2e4754);});}else{return _0x57153a(null,_0x56b4be);}}}});};