Built motion from commit (unavailable).|2.5.3
[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 _0xe9b3=['../../config/environment','ZohoAccount','changed','serverUrl','clientId','clientSecret','code','lastIndexOf','zone','https://accounts.zoho.com','https://accounts.zoho.com.au','https://accounts.zoho.com.cn','https://accounts.zoho.eu','POST','/oauth/v2/token','application/x-www-form-urlencoded','then','parse','refresh_token','refreshToken','info','format','ZohoAccount,\x20Refresh\x20token\x20successfully\x20generated\x20for\x20account\x20\x22%s\x22\x20#%d','name','error','inspect','catch','ZohoAccount,\x20Unable\x20to\x20generate\x20the\x20refresh\x20token\x20for\x20account\x20\x22%s\x22\x20#%d','host','substring','https://accounts.zoho.in','authorization_code','lodash','util','api','moment','bluebird','request-promise','path','rimraf'];(function(_0x29de96,_0x42cc38){var _0x1b9352=function(_0x4a288a){while(--_0x4a288a){_0x29de96['push'](_0x29de96['shift']());}};_0x1b9352(++_0x42cc38);}(_0xe9b3,0x160));var _0x3e9b=function(_0x224475,_0x47ac26){_0x224475=_0x224475-0x0;var _0x2c87b9=_0xe9b3[_0x224475];return _0x2c87b9;};'use strict';var _=require(_0x3e9b('0x0'));var util=require(_0x3e9b('0x1'));var logger=require('../../config/logger')(_0x3e9b('0x2'));var moment=require(_0x3e9b('0x3'));var BPromise=require(_0x3e9b('0x4'));var rp=require(_0x3e9b('0x5'));var fs=require('fs');var path=require(_0x3e9b('0x6'));var rimraf=require(_0x3e9b('0x7'));var config=require(_0x3e9b('0x8'));var attributes=require('./intZohoAccount.attributes');var integrations=require('../../components/integrations/configuration');module['exports']=function(_0x1d706d,_0x197e08){return _0x1d706d['define'](_0x3e9b('0x9'),attributes,{'tableName':'int_zoho_accounts','paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'beforeCreate':function(_0x128fe3,_0x51f05f,_0x3c15bc){if(_0x128fe3[_0x3e9b('0xa')]('zone')||_0x128fe3[_0x3e9b('0xa')](_0x3e9b('0xb'))||_0x128fe3[_0x3e9b('0xa')](_0x3e9b('0xc'))||_0x128fe3[_0x3e9b('0xa')](_0x3e9b('0xd'))||_0x128fe3[_0x3e9b('0xa')](_0x3e9b('0xe'))||_0x128fe3[_0x3e9b('0xa')]('host')){var _0x3d3e1e,_0x38f5db;_0x3d3e1e=_0x128fe3[_0x3e9b('0xb')];var _0x31efe4=_0x3d3e1e['slice'](-0x1);if(_0x31efe4==='/'||_0x31efe4==='\x5c'||_0x31efe4===':'){_0x3d3e1e=_0x3d3e1e['substring'](0x0,_0x3d3e1e[_0x3e9b('0xf')](_0x31efe4));}switch(_0x128fe3[_0x3e9b('0x10')]){case'US':_0x38f5db=_0x3e9b('0x11');break;case'AU':_0x38f5db=_0x3e9b('0x12');break;case'IN':_0x38f5db='https://accounts.zoho.in';break;case'CN':_0x38f5db=_0x3e9b('0x13');break;default:_0x38f5db=_0x3e9b('0x14');break;}var _0x1028cb={'method':_0x3e9b('0x15'),'uri':_0x38f5db+_0x3e9b('0x16'),'form':{'grant_type':'authorization_code','client_id':_0x128fe3[_0x3e9b('0xc')],'client_secret':_0x128fe3[_0x3e9b('0xd')],'redirect_uri':_0x128fe3['serverUrl'],'code':_0x128fe3[_0x3e9b('0xe')]},'headers':{'Content-Type':_0x3e9b('0x17')}};return rp(_0x1028cb)[_0x3e9b('0x18')](function(_0x5b1598){var _0x551587=JSON[_0x3e9b('0x19')](_0x5b1598);if(_0x551587[_0x3e9b('0x1a')]){_0x128fe3[_0x3e9b('0x1b')]=_0x551587['refresh_token'];logger[_0x3e9b('0x1c')](util[_0x3e9b('0x1d')](_0x3e9b('0x1e'),_0x128fe3[_0x3e9b('0x1f')],_0x128fe3['id']));}else{logger[_0x3e9b('0x20')](util[_0x3e9b('0x1d')]('ZohoAccount,\x20Unable\x20to\x20generate\x20the\x20refresh\x20token\x20for\x20account\x20\x22%s\x22\x20#%d',_0x128fe3[_0x3e9b('0x1f')],_0x128fe3['id']),util[_0x3e9b('0x21')](_0x551587,{'showHidden':![],'depth':null}));}return _0x3c15bc(null,_0x51f05f);})[_0x3e9b('0x22')](function(_0x3cbbff){logger[_0x3e9b('0x20')](util[_0x3e9b('0x1d')](_0x3e9b('0x23'),_0x128fe3[_0x3e9b('0x1f')],_0x128fe3['id']),util[_0x3e9b('0x21')](parsedResult,{'showHidden':![],'depth':null}));return _0x3c15bc(_0x3cbbff);});}else{return _0x3c15bc(null,_0x51f05f);}},'beforeUpdate':function(_0x45759e,_0x5bc4b8,_0x27bca9){if(_0x45759e[_0x3e9b('0xa')](_0x3e9b('0x10'))||_0x45759e['changed'](_0x3e9b('0xb'))||_0x45759e[_0x3e9b('0xa')](_0x3e9b('0xc'))||_0x45759e['changed']('clientSecret')||_0x45759e['changed'](_0x3e9b('0xe'))||_0x45759e[_0x3e9b('0xa')](_0x3e9b('0x24'))){var _0x53ac29,_0x743805;_0x53ac29=_0x45759e[_0x3e9b('0xb')];var _0x3e8b54=_0x53ac29['slice'](-0x1);if(_0x3e8b54==='/'||_0x3e8b54==='\x5c'||_0x3e8b54===':'){_0x53ac29=_0x53ac29[_0x3e9b('0x25')](0x0,_0x53ac29[_0x3e9b('0xf')](_0x3e8b54));}switch(_0x45759e[_0x3e9b('0x10')]){case'US':_0x743805=_0x3e9b('0x11');break;case'AU':_0x743805=_0x3e9b('0x12');break;case'IN':_0x743805=_0x3e9b('0x26');break;case'CN':_0x743805=_0x3e9b('0x13');break;default:_0x743805=_0x3e9b('0x14');break;}var _0x2b8ab4={'method':_0x3e9b('0x15'),'uri':_0x743805+_0x3e9b('0x16'),'form':{'grant_type':_0x3e9b('0x27'),'client_id':_0x45759e[_0x3e9b('0xc')],'client_secret':_0x45759e[_0x3e9b('0xd')],'redirect_uri':_0x45759e['serverUrl'],'code':_0x45759e[_0x3e9b('0xe')]},'headers':{'Content-Type':_0x3e9b('0x17')}};return rp(_0x2b8ab4)[_0x3e9b('0x18')](function(_0x293223){var _0x10f432=JSON['parse'](_0x293223);if(_0x10f432[_0x3e9b('0x1a')]){_0x45759e[_0x3e9b('0x1b')]=_0x10f432['refresh_token'];logger[_0x3e9b('0x1c')](util[_0x3e9b('0x1d')]('ZohoAccount,\x20Refresh\x20token\x20successfully\x20generated\x20for\x20account\x20\x22%s\x22\x20#%d',_0x45759e[_0x3e9b('0x1f')],_0x45759e['id']));}else{logger[_0x3e9b('0x20')](util['format'](_0x3e9b('0x23'),_0x45759e[_0x3e9b('0x1f')],_0x45759e['id']),util[_0x3e9b('0x21')](_0x10f432,{'showHidden':![],'depth':null}));}return _0x27bca9(null,_0x5bc4b8);})[_0x3e9b('0x22')](function(_0x3814fc){logger[_0x3e9b('0x20')](util[_0x3e9b('0x1d')]('ZohoAccount,\x20Unable\x20to\x20generate\x20the\x20refresh\x20token\x20for\x20account\x20\x22%s\x22\x20#%d',_0x45759e['name'],_0x45759e['id']),util['inspect'](parsedResult,{'showHidden':![],'depth':null}));return _0x27bca9(_0x3814fc);});}else{return _0x27bca9(null,_0x5bc4b8);}}}});};