Built motion from commit (unavailable).|2.5.2
[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 _0x9d4b=['https://accounts.zoho.com','https://accounts.zoho.in','https://accounts.zoho.com.cn','https://accounts.zoho.eu','POST','/oauth/v2/token','authorization_code','application/x-www-form-urlencoded','then','parse','refresh_token','info','ZohoAccount,\x20Refresh\x20token\x20successfully\x20generated\x20for\x20account\x20\x22%s\x22\x20#%d','name','error','format','ZohoAccount,\x20Unable\x20to\x20generate\x20the\x20refresh\x20token\x20for\x20account\x20\x22%s\x22\x20#%d','inspect','catch','host','https://accounts.zoho.com.au','refreshToken','util','../../config/logger','api','moment','request-promise','path','rimraf','./intZohoAccount.attributes','../../components/integrations/configuration','exports','int_zoho_accounts','changed','zone','serverUrl','clientId','clientSecret','code','slice','substring','lastIndexOf'];(function(_0x543437,_0x575d5b){var _0x3ab129=function(_0x564252){while(--_0x564252){_0x543437['push'](_0x543437['shift']());}};_0x3ab129(++_0x575d5b);}(_0x9d4b,0x94));var _0xb9d4=function(_0x13b572,_0x5042a5){_0x13b572=_0x13b572-0x0;var _0x567f74=_0x9d4b[_0x13b572];return _0x567f74;};'use strict';var _=require('lodash');var util=require(_0xb9d4('0x0'));var logger=require(_0xb9d4('0x1'))(_0xb9d4('0x2'));var moment=require(_0xb9d4('0x3'));var BPromise=require('bluebird');var rp=require(_0xb9d4('0x4'));var fs=require('fs');var path=require(_0xb9d4('0x5'));var rimraf=require(_0xb9d4('0x6'));var config=require('../../config/environment');var attributes=require(_0xb9d4('0x7'));var integrations=require(_0xb9d4('0x8'));module[_0xb9d4('0x9')]=function(_0x2f7266,_0x95b3f0){return _0x2f7266['define']('ZohoAccount',attributes,{'tableName':_0xb9d4('0xa'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'beforeCreate':function(_0x2f04dc,_0x2ea865,_0x28c282){if(_0x2f04dc[_0xb9d4('0xb')](_0xb9d4('0xc'))||_0x2f04dc['changed'](_0xb9d4('0xd'))||_0x2f04dc[_0xb9d4('0xb')](_0xb9d4('0xe'))||_0x2f04dc[_0xb9d4('0xb')](_0xb9d4('0xf'))||_0x2f04dc['changed'](_0xb9d4('0x10'))||_0x2f04dc[_0xb9d4('0xb')]('host')){var _0x2d4bbb,_0x554f3f;_0x2d4bbb=_0x2f04dc[_0xb9d4('0xd')];var _0xe42b20=_0x2d4bbb[_0xb9d4('0x11')](-0x1);if(_0xe42b20==='/'||_0xe42b20==='\x5c'||_0xe42b20===':'){_0x2d4bbb=_0x2d4bbb[_0xb9d4('0x12')](0x0,_0x2d4bbb[_0xb9d4('0x13')](_0xe42b20));}switch(_0x2f04dc[_0xb9d4('0xc')]){case'US':_0x554f3f=_0xb9d4('0x14');break;case'AU':_0x554f3f='https://accounts.zoho.com.au';break;case'IN':_0x554f3f=_0xb9d4('0x15');break;case'CN':_0x554f3f=_0xb9d4('0x16');break;default:_0x554f3f=_0xb9d4('0x17');break;}var _0x1ea63a={'method':_0xb9d4('0x18'),'uri':_0x554f3f+_0xb9d4('0x19'),'form':{'grant_type':_0xb9d4('0x1a'),'client_id':_0x2f04dc['clientId'],'client_secret':_0x2f04dc[_0xb9d4('0xf')],'redirect_uri':_0x2f04dc[_0xb9d4('0xd')],'code':_0x2f04dc[_0xb9d4('0x10')]},'headers':{'Content-Type':_0xb9d4('0x1b')}};return rp(_0x1ea63a)[_0xb9d4('0x1c')](function(_0x39cf77){var _0x1b296a=JSON[_0xb9d4('0x1d')](_0x39cf77);if(_0x1b296a[_0xb9d4('0x1e')]){_0x2f04dc['refreshToken']=_0x1b296a[_0xb9d4('0x1e')];logger[_0xb9d4('0x1f')](util['format'](_0xb9d4('0x20'),_0x2f04dc[_0xb9d4('0x21')],_0x2f04dc['id']));}else{logger[_0xb9d4('0x22')](util[_0xb9d4('0x23')](_0xb9d4('0x24'),_0x2f04dc['name'],_0x2f04dc['id']),util[_0xb9d4('0x25')](_0x1b296a,{'showHidden':![],'depth':null}));}return _0x28c282(null,_0x2ea865);})[_0xb9d4('0x26')](function(_0x36ec68){logger[_0xb9d4('0x22')](util[_0xb9d4('0x23')](_0xb9d4('0x24'),_0x2f04dc[_0xb9d4('0x21')],_0x2f04dc['id']),util['inspect'](parsedResult,{'showHidden':![],'depth':null}));return _0x28c282(_0x36ec68);});}else{return _0x28c282(null,_0x2ea865);}},'beforeUpdate':function(_0x563b52,_0x561fe1,_0x2d3dbd){if(_0x563b52[_0xb9d4('0xb')]('zone')||_0x563b52[_0xb9d4('0xb')](_0xb9d4('0xd'))||_0x563b52[_0xb9d4('0xb')](_0xb9d4('0xe'))||_0x563b52[_0xb9d4('0xb')](_0xb9d4('0xf'))||_0x563b52[_0xb9d4('0xb')]('code')||_0x563b52[_0xb9d4('0xb')](_0xb9d4('0x27'))){var _0x11cc43,_0x256ace;_0x11cc43=_0x563b52[_0xb9d4('0xd')];var _0x52b936=_0x11cc43[_0xb9d4('0x11')](-0x1);if(_0x52b936==='/'||_0x52b936==='\x5c'||_0x52b936===':'){_0x11cc43=_0x11cc43[_0xb9d4('0x12')](0x0,_0x11cc43[_0xb9d4('0x13')](_0x52b936));}switch(_0x563b52[_0xb9d4('0xc')]){case'US':_0x256ace=_0xb9d4('0x14');break;case'AU':_0x256ace=_0xb9d4('0x28');break;case'IN':_0x256ace=_0xb9d4('0x15');break;case'CN':_0x256ace=_0xb9d4('0x16');break;default:_0x256ace=_0xb9d4('0x17');break;}var _0x43a9f2={'method':_0xb9d4('0x18'),'uri':_0x256ace+_0xb9d4('0x19'),'form':{'grant_type':_0xb9d4('0x1a'),'client_id':_0x563b52['clientId'],'client_secret':_0x563b52[_0xb9d4('0xf')],'redirect_uri':_0x563b52['serverUrl'],'code':_0x563b52[_0xb9d4('0x10')]},'headers':{'Content-Type':_0xb9d4('0x1b')}};return rp(_0x43a9f2)[_0xb9d4('0x1c')](function(_0x3cedea){var _0x52f9c9=JSON[_0xb9d4('0x1d')](_0x3cedea);if(_0x52f9c9[_0xb9d4('0x1e')]){_0x563b52[_0xb9d4('0x29')]=_0x52f9c9['refresh_token'];logger['info'](util[_0xb9d4('0x23')]('ZohoAccount,\x20Refresh\x20token\x20successfully\x20generated\x20for\x20account\x20\x22%s\x22\x20#%d',_0x563b52['name'],_0x563b52['id']));}else{logger[_0xb9d4('0x22')](util[_0xb9d4('0x23')](_0xb9d4('0x24'),_0x563b52[_0xb9d4('0x21')],_0x563b52['id']),util[_0xb9d4('0x25')](_0x52f9c9,{'showHidden':![],'depth':null}));}return _0x2d3dbd(null,_0x561fe1);})[_0xb9d4('0x26')](function(_0x271d10){logger['error'](util['format'](_0xb9d4('0x24'),_0x563b52[_0xb9d4('0x21')],_0x563b52['id']),util[_0xb9d4('0x25')](parsedResult,{'showHidden':![],'depth':null}));return _0x2d3dbd(_0x271d10);});}else{return _0x2d3dbd(null,_0x561fe1);}}}});};