Built motion from commit 14588770.|2.5.38
[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 _0x9fa5=['authorization_code','code','application/x-www-form-urlencoded','parse','refresh_token','refreshToken','format','error','name','inspect','ZohoAccount,\x20Unable\x20to\x20generate\x20the\x20refresh\x20token\x20for\x20account\x20\x22%s\x22\x20#%d','then','ZohoAccount,\x20Refresh\x20token\x20successfully\x20generated\x20for\x20account\x20\x22%s\x22\x20#%d','catch','util','../../config/logger','api','moment','bluebird','request-promise','path','../../config/environment','./intZohoAccount.attributes','../../components/integrations/configuration','exports','define','ZohoAccount','int_zoho_accounts','changed','zone','serverUrl','clientId','clientSecret','host','slice','substring','lastIndexOf','https://accounts.zoho.com','https://accounts.zoho.com.au','https://accounts.zoho.in','https://accounts.zoho.com.cn','https://accounts.zoho.eu','POST','/oauth/v2/token'];(function(_0x355ce8,_0x5f1d0a){var _0x1db8b8=function(_0x277eb2){while(--_0x277eb2){_0x355ce8['push'](_0x355ce8['shift']());}};_0x1db8b8(++_0x5f1d0a);}(_0x9fa5,0x66));var _0x59fa=function(_0x2b10c6,_0x185590){_0x2b10c6=_0x2b10c6-0x0;var _0x3789d2=_0x9fa5[_0x2b10c6];return _0x3789d2;};'use strict';var _=require('lodash');var util=require(_0x59fa('0x0'));var logger=require(_0x59fa('0x1'))(_0x59fa('0x2'));var moment=require(_0x59fa('0x3'));var BPromise=require(_0x59fa('0x4'));var rp=require(_0x59fa('0x5'));var fs=require('fs');var path=require(_0x59fa('0x6'));var rimraf=require('rimraf');var config=require(_0x59fa('0x7'));var attributes=require(_0x59fa('0x8'));var integrations=require(_0x59fa('0x9'));module[_0x59fa('0xa')]=function(_0x2f0132,_0x5c7d10){return _0x2f0132[_0x59fa('0xb')](_0x59fa('0xc'),attributes,{'tableName':_0x59fa('0xd'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'beforeCreate':function(_0x34ca2e,_0x6818cb,_0xa81fa7){if(_0x34ca2e[_0x59fa('0xe')](_0x59fa('0xf'))||_0x34ca2e[_0x59fa('0xe')](_0x59fa('0x10'))||_0x34ca2e[_0x59fa('0xe')](_0x59fa('0x11'))||_0x34ca2e['changed'](_0x59fa('0x12'))||_0x34ca2e['changed']('code')||_0x34ca2e[_0x59fa('0xe')](_0x59fa('0x13'))){var _0x26b81b,_0x13efe7;_0x26b81b=_0x34ca2e[_0x59fa('0x10')];var _0x5d7511=_0x26b81b[_0x59fa('0x14')](-0x1);if(_0x5d7511==='/'||_0x5d7511==='\x5c'||_0x5d7511===':'){_0x26b81b=_0x26b81b[_0x59fa('0x15')](0x0,_0x26b81b[_0x59fa('0x16')](_0x5d7511));}switch(_0x34ca2e[_0x59fa('0xf')]){case'US':_0x13efe7=_0x59fa('0x17');break;case'AU':_0x13efe7=_0x59fa('0x18');break;case'IN':_0x13efe7=_0x59fa('0x19');break;case'CN':_0x13efe7=_0x59fa('0x1a');break;default:_0x13efe7=_0x59fa('0x1b');break;}var _0x3c5276={'method':_0x59fa('0x1c'),'uri':_0x13efe7+_0x59fa('0x1d'),'form':{'grant_type':_0x59fa('0x1e'),'client_id':_0x34ca2e[_0x59fa('0x11')],'client_secret':_0x34ca2e['clientSecret'],'redirect_uri':_0x34ca2e['serverUrl'],'code':_0x34ca2e[_0x59fa('0x1f')]},'headers':{'Content-Type':_0x59fa('0x20')}};return rp(_0x3c5276)['then'](function(_0x10cfc1){var _0x1ebd6d=JSON[_0x59fa('0x21')](_0x10cfc1);if(_0x1ebd6d[_0x59fa('0x22')]){_0x34ca2e[_0x59fa('0x23')]=_0x1ebd6d['refresh_token'];logger['info'](util[_0x59fa('0x24')]('ZohoAccount,\x20Refresh\x20token\x20successfully\x20generated\x20for\x20account\x20\x22%s\x22\x20#%d',_0x34ca2e['name'],_0x34ca2e['id']));}else{logger[_0x59fa('0x25')](util['format']('ZohoAccount,\x20Unable\x20to\x20generate\x20the\x20refresh\x20token\x20for\x20account\x20\x22%s\x22\x20#%d',_0x34ca2e[_0x59fa('0x26')],_0x34ca2e['id']),util[_0x59fa('0x27')](_0x1ebd6d,{'showHidden':![],'depth':null}));}return _0xa81fa7(null,_0x6818cb);})['catch'](function(_0x3709ac){logger['error'](util[_0x59fa('0x24')](_0x59fa('0x28'),_0x34ca2e['name'],_0x34ca2e['id']),util[_0x59fa('0x27')](parsedResult,{'showHidden':![],'depth':null}));return _0xa81fa7(_0x3709ac);});}else{return _0xa81fa7(null,_0x6818cb);}},'beforeUpdate':function(_0x54c880,_0x17ad68,_0x4fa5b5){if(_0x54c880['changed'](_0x59fa('0xf'))||_0x54c880[_0x59fa('0xe')](_0x59fa('0x10'))||_0x54c880[_0x59fa('0xe')](_0x59fa('0x11'))||_0x54c880[_0x59fa('0xe')](_0x59fa('0x12'))||_0x54c880['changed'](_0x59fa('0x1f'))||_0x54c880[_0x59fa('0xe')]('host')){var _0x11be51,_0x4c2cce;_0x11be51=_0x54c880[_0x59fa('0x10')];var _0x548208=_0x11be51[_0x59fa('0x14')](-0x1);if(_0x548208==='/'||_0x548208==='\x5c'||_0x548208===':'){_0x11be51=_0x11be51[_0x59fa('0x15')](0x0,_0x11be51['lastIndexOf'](_0x548208));}switch(_0x54c880[_0x59fa('0xf')]){case'US':_0x4c2cce=_0x59fa('0x17');break;case'AU':_0x4c2cce=_0x59fa('0x18');break;case'IN':_0x4c2cce=_0x59fa('0x19');break;case'CN':_0x4c2cce=_0x59fa('0x1a');break;default:_0x4c2cce=_0x59fa('0x1b');break;}var _0x1319e7={'method':'POST','uri':_0x4c2cce+_0x59fa('0x1d'),'form':{'grant_type':_0x59fa('0x1e'),'client_id':_0x54c880['clientId'],'client_secret':_0x54c880[_0x59fa('0x12')],'redirect_uri':_0x54c880['serverUrl'],'code':_0x54c880[_0x59fa('0x1f')]},'headers':{'Content-Type':_0x59fa('0x20')}};return rp(_0x1319e7)[_0x59fa('0x29')](function(_0x5d26f1){var _0xec52d3=JSON[_0x59fa('0x21')](_0x5d26f1);if(_0xec52d3['refresh_token']){_0x54c880['refreshToken']=_0xec52d3[_0x59fa('0x22')];logger['info'](util[_0x59fa('0x24')](_0x59fa('0x2a'),_0x54c880['name'],_0x54c880['id']));}else{logger[_0x59fa('0x25')](util['format'](_0x59fa('0x28'),_0x54c880[_0x59fa('0x26')],_0x54c880['id']),util[_0x59fa('0x27')](_0xec52d3,{'showHidden':![],'depth':null}));}return _0x4fa5b5(null,_0x17ad68);})[_0x59fa('0x2b')](function(_0x8199d1){logger[_0x59fa('0x25')](util[_0x59fa('0x24')](_0x59fa('0x28'),_0x54c880[_0x59fa('0x26')],_0x54c880['id']),util[_0x59fa('0x27')](parsedResult,{'showHidden':![],'depth':null}));return _0x4fa5b5(_0x8199d1);});}else{return _0x4fa5b5(null,_0x17ad68);}}}});};