Built motion from commit 3c2ce842.|2.6.31
[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 _0xf741=['then','parse','refresh_token','refreshToken','info','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','inspect','substring','https://accounts.zoho.eu','POST','lodash','util','../../config/logger','bluebird','request-promise','path','../../config/environment','./intZohoAccount.attributes','../../components/integrations/configuration','exports','define','ZohoAccount','int_zoho_accounts','changed','serverUrl','clientId','clientSecret','code','slice','lastIndexOf','zone','https://accounts.zoho.com','https://accounts.zoho.com.au','https://accounts.zoho.in','https://accounts.zoho.com.cn','/oauth/v2/token','authorization_code','application/x-www-form-urlencoded'];(function(_0x38a2a9,_0xb5ecd5){var _0x3d7053=function(_0x5c1412){while(--_0x5c1412){_0x38a2a9['push'](_0x38a2a9['shift']());}};_0x3d7053(++_0xb5ecd5);}(_0xf741,0xb6));var _0x1f74=function(_0x1a085b,_0x28fd55){_0x1a085b=_0x1a085b-0x0;var _0xacff4=_0xf741[_0x1a085b];return _0xacff4;};'use strict';var _=require(_0x1f74('0x0'));var util=require(_0x1f74('0x1'));var logger=require(_0x1f74('0x2'))('api');var moment=require('moment');var BPromise=require(_0x1f74('0x3'));var rp=require(_0x1f74('0x4'));var fs=require('fs');var path=require(_0x1f74('0x5'));var rimraf=require('rimraf');var config=require(_0x1f74('0x6'));var attributes=require(_0x1f74('0x7'));var integrations=require(_0x1f74('0x8'));module[_0x1f74('0x9')]=function(_0x55ed9a,_0x2b8adb){return _0x55ed9a[_0x1f74('0xa')](_0x1f74('0xb'),attributes,{'tableName':_0x1f74('0xc'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'beforeCreate':function(_0xbceb4b,_0xe9de29,_0xf89f62){if(_0xbceb4b[_0x1f74('0xd')]('zone')||_0xbceb4b[_0x1f74('0xd')](_0x1f74('0xe'))||_0xbceb4b[_0x1f74('0xd')](_0x1f74('0xf'))||_0xbceb4b[_0x1f74('0xd')](_0x1f74('0x10'))||_0xbceb4b[_0x1f74('0xd')](_0x1f74('0x11'))||_0xbceb4b[_0x1f74('0xd')]('host')){var _0x5bc0b5,_0x2e872e;_0x5bc0b5=_0xbceb4b[_0x1f74('0xe')];var _0x422f2d=_0x5bc0b5[_0x1f74('0x12')](-0x1);if(_0x422f2d==='/'||_0x422f2d==='\x5c'||_0x422f2d===':'){_0x5bc0b5=_0x5bc0b5['substring'](0x0,_0x5bc0b5[_0x1f74('0x13')](_0x422f2d));}switch(_0xbceb4b[_0x1f74('0x14')]){case'US':_0x2e872e=_0x1f74('0x15');break;case'AU':_0x2e872e=_0x1f74('0x16');break;case'IN':_0x2e872e=_0x1f74('0x17');break;case'CN':_0x2e872e=_0x1f74('0x18');break;default:_0x2e872e='https://accounts.zoho.eu';break;}var _0x20058e={'method':'POST','uri':_0x2e872e+_0x1f74('0x19'),'form':{'grant_type':_0x1f74('0x1a'),'client_id':_0xbceb4b['clientId'],'client_secret':_0xbceb4b[_0x1f74('0x10')],'redirect_uri':_0xbceb4b[_0x1f74('0xe')],'code':_0xbceb4b[_0x1f74('0x11')]},'headers':{'Content-Type':_0x1f74('0x1b')}};return rp(_0x20058e)[_0x1f74('0x1c')](function(_0x13dfd4){var _0x17d0bd=JSON[_0x1f74('0x1d')](_0x13dfd4);if(_0x17d0bd[_0x1f74('0x1e')]){_0xbceb4b[_0x1f74('0x1f')]=_0x17d0bd['refresh_token'];logger[_0x1f74('0x20')](util[_0x1f74('0x21')](_0x1f74('0x22'),_0xbceb4b[_0x1f74('0x23')],_0xbceb4b['id']));}else{logger[_0x1f74('0x24')](util[_0x1f74('0x21')](_0x1f74('0x25'),_0xbceb4b['name'],_0xbceb4b['id']),util[_0x1f74('0x26')](_0x17d0bd,{'showHidden':![],'depth':null}));}return _0xf89f62(null,_0xe9de29);})['catch'](function(_0x4e6482){logger[_0x1f74('0x24')](util[_0x1f74('0x21')](_0x1f74('0x25'),_0xbceb4b[_0x1f74('0x23')],_0xbceb4b['id']),util['inspect'](parsedResult,{'showHidden':![],'depth':null}));return _0xf89f62(_0x4e6482);});}else{return _0xf89f62(null,_0xe9de29);}},'beforeUpdate':function(_0xb91528,_0x7ef73,_0x5cfb44){if(_0xb91528[_0x1f74('0xd')](_0x1f74('0x14'))||_0xb91528[_0x1f74('0xd')](_0x1f74('0xe'))||_0xb91528[_0x1f74('0xd')](_0x1f74('0xf'))||_0xb91528['changed']('clientSecret')||_0xb91528[_0x1f74('0xd')]('code')||_0xb91528[_0x1f74('0xd')]('host')){var _0x47bb56,_0x303df0;_0x47bb56=_0xb91528[_0x1f74('0xe')];var _0x319178=_0x47bb56[_0x1f74('0x12')](-0x1);if(_0x319178==='/'||_0x319178==='\x5c'||_0x319178===':'){_0x47bb56=_0x47bb56[_0x1f74('0x27')](0x0,_0x47bb56['lastIndexOf'](_0x319178));}switch(_0xb91528[_0x1f74('0x14')]){case'US':_0x303df0='https://accounts.zoho.com';break;case'AU':_0x303df0=_0x1f74('0x16');break;case'IN':_0x303df0=_0x1f74('0x17');break;case'CN':_0x303df0=_0x1f74('0x18');break;default:_0x303df0=_0x1f74('0x28');break;}var _0x30c2bc={'method':_0x1f74('0x29'),'uri':_0x303df0+_0x1f74('0x19'),'form':{'grant_type':'authorization_code','client_id':_0xb91528[_0x1f74('0xf')],'client_secret':_0xb91528['clientSecret'],'redirect_uri':_0xb91528['serverUrl'],'code':_0xb91528[_0x1f74('0x11')]},'headers':{'Content-Type':_0x1f74('0x1b')}};return rp(_0x30c2bc)[_0x1f74('0x1c')](function(_0x420f85){var _0x2451ad=JSON['parse'](_0x420f85);if(_0x2451ad[_0x1f74('0x1e')]){_0xb91528[_0x1f74('0x1f')]=_0x2451ad[_0x1f74('0x1e')];logger['info'](util[_0x1f74('0x21')](_0x1f74('0x22'),_0xb91528[_0x1f74('0x23')],_0xb91528['id']));}else{logger['error'](util[_0x1f74('0x21')](_0x1f74('0x25'),_0xb91528[_0x1f74('0x23')],_0xb91528['id']),util[_0x1f74('0x26')](_0x2451ad,{'showHidden':![],'depth':null}));}return _0x5cfb44(null,_0x7ef73);})['catch'](function(_0x5b6add){logger[_0x1f74('0x24')](util['format'](_0x1f74('0x25'),_0xb91528['name'],_0xb91528['id']),util[_0x1f74('0x26')](parsedResult,{'showHidden':![],'depth':null}));return _0x5cfb44(_0x5b6add);});}else{return _0x5cfb44(null,_0x7ef73);}}}});};