Built motion from commit (unavailable).|2.4.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 _0x3182=['inspect','catch','lodash','util','../../config/logger','api','bluebird','request-promise','../../config/environment','./intZohoAccount.attributes','../../components/integrations/configuration','exports','define','ZohoAccount','int_zoho_accounts','changed','zone','clientId','clientSecret','host','serverUrl','slice','substring','lastIndexOf','https://accounts.zoho.com.au','https://accounts.zoho.in','https://accounts.zoho.eu','POST','/oauth/v2/token','authorization_code','code','application/x-www-form-urlencoded','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','https://accounts.zoho.com','https://accounts.zoho.com.cn','info'];(function(_0x2caea8,_0x206d48){var _0x27edb5=function(_0x56dc9d){while(--_0x56dc9d){_0x2caea8['push'](_0x2caea8['shift']());}};_0x27edb5(++_0x206d48);}(_0x3182,0xb2));var _0x2318=function(_0x11bed8,_0x281d8f){_0x11bed8=_0x11bed8-0x0;var _0x2397a1=_0x3182[_0x11bed8];return _0x2397a1;};'use strict';var _=require(_0x2318('0x0'));var util=require(_0x2318('0x1'));var logger=require(_0x2318('0x2'))(_0x2318('0x3'));var moment=require('moment');var BPromise=require(_0x2318('0x4'));var rp=require(_0x2318('0x5'));var fs=require('fs');var path=require('path');var rimraf=require('rimraf');var config=require(_0x2318('0x6'));var attributes=require(_0x2318('0x7'));var integrations=require(_0x2318('0x8'));module[_0x2318('0x9')]=function(_0x54d670,_0x4cd79f){return _0x54d670[_0x2318('0xa')](_0x2318('0xb'),attributes,{'tableName':_0x2318('0xc'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'beforeCreate':function(_0x463d17,_0x472d71,_0x183bbf){if(_0x463d17[_0x2318('0xd')](_0x2318('0xe'))||_0x463d17[_0x2318('0xd')]('serverUrl')||_0x463d17[_0x2318('0xd')](_0x2318('0xf'))||_0x463d17['changed'](_0x2318('0x10'))||_0x463d17[_0x2318('0xd')]('code')||_0x463d17[_0x2318('0xd')](_0x2318('0x11'))){var _0x40be90,_0x4ae962;_0x40be90=_0x463d17[_0x2318('0x12')];var _0x426a59=_0x40be90[_0x2318('0x13')](-0x1);if(_0x426a59==='/'||_0x426a59==='\x5c'||_0x426a59===':'){_0x40be90=_0x40be90[_0x2318('0x14')](0x0,_0x40be90[_0x2318('0x15')](_0x426a59));}switch(_0x463d17[_0x2318('0xe')]){case'US':_0x4ae962='https://accounts.zoho.com';break;case'AU':_0x4ae962=_0x2318('0x16');break;case'IN':_0x4ae962=_0x2318('0x17');break;case'CN':_0x4ae962='https://accounts.zoho.com.cn';break;default:_0x4ae962=_0x2318('0x18');break;}var _0x5aaa82={'method':_0x2318('0x19'),'uri':_0x4ae962+_0x2318('0x1a'),'form':{'grant_type':_0x2318('0x1b'),'client_id':_0x463d17['clientId'],'client_secret':_0x463d17[_0x2318('0x10')],'redirect_uri':_0x463d17[_0x2318('0x12')],'code':_0x463d17[_0x2318('0x1c')]},'headers':{'Content-Type':_0x2318('0x1d')}};return rp(_0x5aaa82)[_0x2318('0x1e')](function(_0x4b37c5){var _0x20da04=JSON[_0x2318('0x1f')](_0x4b37c5);if(_0x20da04[_0x2318('0x20')]){_0x463d17[_0x2318('0x21')]=_0x20da04[_0x2318('0x20')];logger['info'](util[_0x2318('0x22')](_0x2318('0x23'),_0x463d17[_0x2318('0x24')],_0x463d17['id']));}else{logger[_0x2318('0x25')](util[_0x2318('0x22')](_0x2318('0x26'),_0x463d17[_0x2318('0x24')],_0x463d17['id']),util['inspect'](_0x20da04,{'showHidden':![],'depth':null}));}return _0x183bbf(null,_0x472d71);})['catch'](function(_0x1747c8){logger[_0x2318('0x25')](util[_0x2318('0x22')](_0x2318('0x26'),_0x463d17['name'],_0x463d17['id']),util['inspect'](parsedResult,{'showHidden':![],'depth':null}));return _0x183bbf(_0x1747c8);});}else{return _0x183bbf(null,_0x472d71);}},'beforeUpdate':function(_0x564191,_0x556f29,_0x5e9962){if(_0x564191[_0x2318('0xd')](_0x2318('0xe'))||_0x564191[_0x2318('0xd')](_0x2318('0x12'))||_0x564191[_0x2318('0xd')](_0x2318('0xf'))||_0x564191[_0x2318('0xd')]('clientSecret')||_0x564191[_0x2318('0xd')](_0x2318('0x1c'))||_0x564191[_0x2318('0xd')](_0x2318('0x11'))){var _0x491ae0,_0x53b956;_0x491ae0=_0x564191[_0x2318('0x12')];var _0x523505=_0x491ae0[_0x2318('0x13')](-0x1);if(_0x523505==='/'||_0x523505==='\x5c'||_0x523505===':'){_0x491ae0=_0x491ae0[_0x2318('0x14')](0x0,_0x491ae0[_0x2318('0x15')](_0x523505));}switch(_0x564191[_0x2318('0xe')]){case'US':_0x53b956=_0x2318('0x27');break;case'AU':_0x53b956=_0x2318('0x16');break;case'IN':_0x53b956=_0x2318('0x17');break;case'CN':_0x53b956=_0x2318('0x28');break;default:_0x53b956='https://accounts.zoho.eu';break;}var _0x5ee571={'method':_0x2318('0x19'),'uri':_0x53b956+_0x2318('0x1a'),'form':{'grant_type':'authorization_code','client_id':_0x564191[_0x2318('0xf')],'client_secret':_0x564191[_0x2318('0x10')],'redirect_uri':_0x564191[_0x2318('0x12')],'code':_0x564191['code']},'headers':{'Content-Type':'application/x-www-form-urlencoded'}};return rp(_0x5ee571)['then'](function(_0x35c008){var _0x2d7088=JSON[_0x2318('0x1f')](_0x35c008);if(_0x2d7088['refresh_token']){_0x564191[_0x2318('0x21')]=_0x2d7088[_0x2318('0x20')];logger[_0x2318('0x29')](util['format'](_0x2318('0x23'),_0x564191[_0x2318('0x24')],_0x564191['id']));}else{logger[_0x2318('0x25')](util[_0x2318('0x22')](_0x2318('0x26'),_0x564191['name'],_0x564191['id']),util[_0x2318('0x2a')](_0x2d7088,{'showHidden':![],'depth':null}));}return _0x5e9962(null,_0x556f29);})[_0x2318('0x2b')](function(_0x9ad4a8){logger[_0x2318('0x25')](util[_0x2318('0x22')](_0x2318('0x26'),_0x564191[_0x2318('0x24')],_0x564191['id']),util[_0x2318('0x2a')](parsedResult,{'showHidden':![],'depth':null}));return _0x5e9962(_0x9ad4a8);});}else{return _0x5e9962(null,_0x556f29);}}}});};