Built motion from commit (unavailable).|2.4.18
[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 _0xd8d5=['/oauth/v2/token','authorization_code','clientId','serverUrl','application/x-www-form-urlencoded','then','refresh_token','refreshToken','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','inspect','catch','host','https://accounts.zoho.in','parse','info','error','lodash','util','api','moment','request-promise','rimraf','../../config/environment','./intZohoAccount.attributes','define','int_zoho_accounts','zone','changed','clientSecret','code','substring','lastIndexOf','https://accounts.zoho.com','https://accounts.zoho.com.au','https://accounts.zoho.com.cn','https://accounts.zoho.eu','POST'];(function(_0x2c1f89,_0x5aef0d){var _0x56445e=function(_0x364a5d){while(--_0x364a5d){_0x2c1f89['push'](_0x2c1f89['shift']());}};_0x56445e(++_0x5aef0d);}(_0xd8d5,0x1f3));var _0x5d8d=function(_0x3f6a2d,_0x3e0dfc){_0x3f6a2d=_0x3f6a2d-0x0;var _0x5e046a=_0xd8d5[_0x3f6a2d];return _0x5e046a;};'use strict';var _=require(_0x5d8d('0x0'));var util=require(_0x5d8d('0x1'));var logger=require('../../config/logger')(_0x5d8d('0x2'));var moment=require(_0x5d8d('0x3'));var BPromise=require('bluebird');var rp=require(_0x5d8d('0x4'));var fs=require('fs');var path=require('path');var rimraf=require(_0x5d8d('0x5'));var config=require(_0x5d8d('0x6'));var attributes=require(_0x5d8d('0x7'));var integrations=require('../../components/integrations/configuration');module['exports']=function(_0x4e64c0,_0x4a9443){return _0x4e64c0[_0x5d8d('0x8')]('ZohoAccount',attributes,{'tableName':_0x5d8d('0x9'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'beforeCreate':function(_0x381a29,_0x51f963,_0x1b03e3){if(_0x381a29['changed'](_0x5d8d('0xa'))||_0x381a29[_0x5d8d('0xb')]('serverUrl')||_0x381a29[_0x5d8d('0xb')]('clientId')||_0x381a29['changed'](_0x5d8d('0xc'))||_0x381a29[_0x5d8d('0xb')](_0x5d8d('0xd'))||_0x381a29[_0x5d8d('0xb')]('host')){var _0x4f5c3a,_0x4a96e4;_0x4f5c3a=_0x381a29['serverUrl'];var _0x33f5e1=_0x4f5c3a['slice'](-0x1);if(_0x33f5e1==='/'||_0x33f5e1==='\x5c'||_0x33f5e1===':'){_0x4f5c3a=_0x4f5c3a[_0x5d8d('0xe')](0x0,_0x4f5c3a[_0x5d8d('0xf')](_0x33f5e1));}switch(_0x381a29[_0x5d8d('0xa')]){case'US':_0x4a96e4=_0x5d8d('0x10');break;case'AU':_0x4a96e4=_0x5d8d('0x11');break;case'IN':_0x4a96e4='https://accounts.zoho.in';break;case'CN':_0x4a96e4=_0x5d8d('0x12');break;default:_0x4a96e4=_0x5d8d('0x13');break;}var _0x1c6796={'method':_0x5d8d('0x14'),'uri':_0x4a96e4+_0x5d8d('0x15'),'form':{'grant_type':_0x5d8d('0x16'),'client_id':_0x381a29[_0x5d8d('0x17')],'client_secret':_0x381a29[_0x5d8d('0xc')],'redirect_uri':_0x381a29[_0x5d8d('0x18')],'code':_0x381a29[_0x5d8d('0xd')]},'headers':{'Content-Type':_0x5d8d('0x19')}};return rp(_0x1c6796)[_0x5d8d('0x1a')](function(_0x3ec6c1){var _0x17f270=JSON['parse'](_0x3ec6c1);if(_0x17f270[_0x5d8d('0x1b')]){_0x381a29[_0x5d8d('0x1c')]=_0x17f270[_0x5d8d('0x1b')];logger['info'](util[_0x5d8d('0x1d')](_0x5d8d('0x1e'),_0x381a29[_0x5d8d('0x1f')],_0x381a29['id']));}else{logger['error'](util[_0x5d8d('0x1d')](_0x5d8d('0x20'),_0x381a29[_0x5d8d('0x1f')],_0x381a29['id']),util[_0x5d8d('0x21')](_0x17f270,{'showHidden':![],'depth':null}));}return _0x1b03e3(null,_0x51f963);})[_0x5d8d('0x22')](function(_0x537fe3){logger['error'](util['format'](_0x5d8d('0x20'),_0x381a29[_0x5d8d('0x1f')],_0x381a29['id']),util['inspect'](parsedResult,{'showHidden':![],'depth':null}));return _0x1b03e3(_0x537fe3);});}else{return _0x1b03e3(null,_0x51f963);}},'beforeUpdate':function(_0x3ef55b,_0x1a6240,_0x5c74ed){if(_0x3ef55b[_0x5d8d('0xb')]('zone')||_0x3ef55b['changed']('serverUrl')||_0x3ef55b[_0x5d8d('0xb')](_0x5d8d('0x17'))||_0x3ef55b[_0x5d8d('0xb')]('clientSecret')||_0x3ef55b[_0x5d8d('0xb')]('code')||_0x3ef55b['changed'](_0x5d8d('0x23'))){var _0x575c59,_0x140002;_0x575c59=_0x3ef55b[_0x5d8d('0x18')];var _0x540644=_0x575c59['slice'](-0x1);if(_0x540644==='/'||_0x540644==='\x5c'||_0x540644===':'){_0x575c59=_0x575c59[_0x5d8d('0xe')](0x0,_0x575c59[_0x5d8d('0xf')](_0x540644));}switch(_0x3ef55b[_0x5d8d('0xa')]){case'US':_0x140002=_0x5d8d('0x10');break;case'AU':_0x140002=_0x5d8d('0x11');break;case'IN':_0x140002=_0x5d8d('0x24');break;case'CN':_0x140002=_0x5d8d('0x12');break;default:_0x140002=_0x5d8d('0x13');break;}var _0x4e506a={'method':_0x5d8d('0x14'),'uri':_0x140002+_0x5d8d('0x15'),'form':{'grant_type':'authorization_code','client_id':_0x3ef55b['clientId'],'client_secret':_0x3ef55b[_0x5d8d('0xc')],'redirect_uri':_0x3ef55b[_0x5d8d('0x18')],'code':_0x3ef55b[_0x5d8d('0xd')]},'headers':{'Content-Type':_0x5d8d('0x19')}};return rp(_0x4e506a)[_0x5d8d('0x1a')](function(_0xe60f49){var _0x5671f9=JSON[_0x5d8d('0x25')](_0xe60f49);if(_0x5671f9[_0x5d8d('0x1b')]){_0x3ef55b[_0x5d8d('0x1c')]=_0x5671f9[_0x5d8d('0x1b')];logger[_0x5d8d('0x26')](util[_0x5d8d('0x1d')]('ZohoAccount,\x20Refresh\x20token\x20successfully\x20generated\x20for\x20account\x20\x22%s\x22\x20#%d',_0x3ef55b[_0x5d8d('0x1f')],_0x3ef55b['id']));}else{logger[_0x5d8d('0x27')](util[_0x5d8d('0x1d')](_0x5d8d('0x20'),_0x3ef55b[_0x5d8d('0x1f')],_0x3ef55b['id']),util['inspect'](_0x5671f9,{'showHidden':![],'depth':null}));}return _0x5c74ed(null,_0x1a6240);})[_0x5d8d('0x22')](function(_0x245293){logger['error'](util[_0x5d8d('0x1d')](_0x5d8d('0x20'),_0x3ef55b[_0x5d8d('0x1f')],_0x3ef55b['id']),util[_0x5d8d('0x21')](parsedResult,{'showHidden':![],'depth':null}));return _0x5c74ed(_0x245293);});}else{return _0x5c74ed(null,_0x1a6240);}}}});};