Built motion from commit fe909640.|2.6.8
[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 _0xa336=['define','ZohoAccount','int_zoho_accounts','zone','changed','clientSecret','code','serverUrl','substring','https://accounts.zoho.com','https://accounts.zoho.com.au','https://accounts.zoho.in','https://accounts.zoho.com.cn','authorization_code','clientId','application/x-www-form-urlencoded','then','parse','refreshToken','refresh_token','info','format','ZohoAccount,\x20Refresh\x20token\x20successfully\x20generated\x20for\x20account\x20\x22%s\x22\x20#%d','name','ZohoAccount,\x20Unable\x20to\x20generate\x20the\x20refresh\x20token\x20for\x20account\x20\x22%s\x22\x20#%d','catch','error','inspect','slice','https://accounts.zoho.eu','POST','/oauth/v2/token','lodash','util','../../config/logger','bluebird','request-promise','path','rimraf','../../config/environment','./intZohoAccount.attributes','exports'];(function(_0x3070dc,_0x40cf11){var _0x431489=function(_0x49bc2a){while(--_0x49bc2a){_0x3070dc['push'](_0x3070dc['shift']());}};_0x431489(++_0x40cf11);}(_0xa336,0xc8));var _0x6a33=function(_0x27766b,_0x155221){_0x27766b=_0x27766b-0x0;var _0x3de10e=_0xa336[_0x27766b];return _0x3de10e;};'use strict';var _=require(_0x6a33('0x0'));var util=require(_0x6a33('0x1'));var logger=require(_0x6a33('0x2'))('api');var moment=require('moment');var BPromise=require(_0x6a33('0x3'));var rp=require(_0x6a33('0x4'));var fs=require('fs');var path=require(_0x6a33('0x5'));var rimraf=require(_0x6a33('0x6'));var config=require(_0x6a33('0x7'));var attributes=require(_0x6a33('0x8'));var integrations=require('../../components/integrations/configuration');module[_0x6a33('0x9')]=function(_0x42c3ce,_0x52e54d){return _0x42c3ce[_0x6a33('0xa')](_0x6a33('0xb'),attributes,{'tableName':_0x6a33('0xc'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'beforeCreate':function(_0x2e5e39,_0x46aa26,_0x50d842){if(_0x2e5e39['changed'](_0x6a33('0xd'))||_0x2e5e39[_0x6a33('0xe')]('serverUrl')||_0x2e5e39[_0x6a33('0xe')]('clientId')||_0x2e5e39[_0x6a33('0xe')](_0x6a33('0xf'))||_0x2e5e39['changed'](_0x6a33('0x10'))||_0x2e5e39['changed']('host')){var _0x574ca5,_0xca39b8;_0x574ca5=_0x2e5e39[_0x6a33('0x11')];var _0x3a5b9e=_0x574ca5['slice'](-0x1);if(_0x3a5b9e==='/'||_0x3a5b9e==='\x5c'||_0x3a5b9e===':'){_0x574ca5=_0x574ca5[_0x6a33('0x12')](0x0,_0x574ca5['lastIndexOf'](_0x3a5b9e));}switch(_0x2e5e39[_0x6a33('0xd')]){case'US':_0xca39b8=_0x6a33('0x13');break;case'AU':_0xca39b8=_0x6a33('0x14');break;case'IN':_0xca39b8=_0x6a33('0x15');break;case'CN':_0xca39b8=_0x6a33('0x16');break;default:_0xca39b8='https://accounts.zoho.eu';break;}var _0x291d44={'method':'POST','uri':_0xca39b8+'/oauth/v2/token','form':{'grant_type':_0x6a33('0x17'),'client_id':_0x2e5e39[_0x6a33('0x18')],'client_secret':_0x2e5e39[_0x6a33('0xf')],'redirect_uri':_0x2e5e39[_0x6a33('0x11')],'code':_0x2e5e39[_0x6a33('0x10')]},'headers':{'Content-Type':_0x6a33('0x19')}};return rp(_0x291d44)[_0x6a33('0x1a')](function(_0x49bdb9){var _0x1b0e27=JSON[_0x6a33('0x1b')](_0x49bdb9);if(_0x1b0e27['refresh_token']){_0x2e5e39[_0x6a33('0x1c')]=_0x1b0e27[_0x6a33('0x1d')];logger[_0x6a33('0x1e')](util[_0x6a33('0x1f')](_0x6a33('0x20'),_0x2e5e39[_0x6a33('0x21')],_0x2e5e39['id']));}else{logger['error'](util['format'](_0x6a33('0x22'),_0x2e5e39['name'],_0x2e5e39['id']),util['inspect'](_0x1b0e27,{'showHidden':![],'depth':null}));}return _0x50d842(null,_0x46aa26);})[_0x6a33('0x23')](function(_0xb72bae){logger[_0x6a33('0x24')](util[_0x6a33('0x1f')](_0x6a33('0x22'),_0x2e5e39[_0x6a33('0x21')],_0x2e5e39['id']),util[_0x6a33('0x25')](parsedResult,{'showHidden':![],'depth':null}));return _0x50d842(_0xb72bae);});}else{return _0x50d842(null,_0x46aa26);}},'beforeUpdate':function(_0x45f840,_0x26db63,_0x4ecf70){if(_0x45f840[_0x6a33('0xe')](_0x6a33('0xd'))||_0x45f840[_0x6a33('0xe')]('serverUrl')||_0x45f840[_0x6a33('0xe')](_0x6a33('0x18'))||_0x45f840[_0x6a33('0xe')]('clientSecret')||_0x45f840[_0x6a33('0xe')](_0x6a33('0x10'))||_0x45f840[_0x6a33('0xe')]('host')){var _0x367c94,_0x2afe52;_0x367c94=_0x45f840[_0x6a33('0x11')];var _0x52410d=_0x367c94[_0x6a33('0x26')](-0x1);if(_0x52410d==='/'||_0x52410d==='\x5c'||_0x52410d===':'){_0x367c94=_0x367c94[_0x6a33('0x12')](0x0,_0x367c94['lastIndexOf'](_0x52410d));}switch(_0x45f840[_0x6a33('0xd')]){case'US':_0x2afe52=_0x6a33('0x13');break;case'AU':_0x2afe52=_0x6a33('0x14');break;case'IN':_0x2afe52='https://accounts.zoho.in';break;case'CN':_0x2afe52=_0x6a33('0x16');break;default:_0x2afe52=_0x6a33('0x27');break;}var _0x3bb832={'method':_0x6a33('0x28'),'uri':_0x2afe52+_0x6a33('0x29'),'form':{'grant_type':_0x6a33('0x17'),'client_id':_0x45f840[_0x6a33('0x18')],'client_secret':_0x45f840[_0x6a33('0xf')],'redirect_uri':_0x45f840[_0x6a33('0x11')],'code':_0x45f840['code']},'headers':{'Content-Type':_0x6a33('0x19')}};return rp(_0x3bb832)[_0x6a33('0x1a')](function(_0x16fe83){var _0x24dc95=JSON[_0x6a33('0x1b')](_0x16fe83);if(_0x24dc95[_0x6a33('0x1d')]){_0x45f840[_0x6a33('0x1c')]=_0x24dc95[_0x6a33('0x1d')];logger[_0x6a33('0x1e')](util[_0x6a33('0x1f')](_0x6a33('0x20'),_0x45f840[_0x6a33('0x21')],_0x45f840['id']));}else{logger[_0x6a33('0x24')](util[_0x6a33('0x1f')](_0x6a33('0x22'),_0x45f840[_0x6a33('0x21')],_0x45f840['id']),util['inspect'](_0x24dc95,{'showHidden':![],'depth':null}));}return _0x4ecf70(null,_0x26db63);})[_0x6a33('0x23')](function(_0x1c0f8d){logger[_0x6a33('0x24')](util[_0x6a33('0x1f')](_0x6a33('0x22'),_0x45f840['name'],_0x45f840['id']),util[_0x6a33('0x25')](parsedResult,{'showHidden':![],'depth':null}));return _0x4ecf70(_0x1c0f8d);});}else{return _0x4ecf70(null,_0x26db63);}}}});};