Built motion from commit (unavailable).|2.5.4
[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 _0xdfca=['slice','https://accounts.zoho.com.cn','ZohoAccount,\x20Refresh\x20token\x20successfully\x20generated\x20for\x20account\x20\x22%s\x22\x20#%d','lodash','util','../../config/logger','moment','bluebird','request-promise','path','rimraf','../../config/environment','./intZohoAccount.attributes','../../components/integrations/configuration','define','ZohoAccount','int_zoho_accounts','changed','zone','serverUrl','clientId','clientSecret','code','host','substring','lastIndexOf','https://accounts.zoho.com','https://accounts.zoho.com.au','https://accounts.zoho.in','https://accounts.zoho.eu','POST','/oauth/v2/token','authorization_code','application/x-www-form-urlencoded','then','parse','refresh_token','refreshToken','info','format','error','inspect','catch','ZohoAccount,\x20Unable\x20to\x20generate\x20the\x20refresh\x20token\x20for\x20account\x20\x22%s\x22\x20#%d','name'];(function(_0x47a7d0,_0x4e182d){var _0xb9bd08=function(_0x588ee2){while(--_0x588ee2){_0x47a7d0['push'](_0x47a7d0['shift']());}};_0xb9bd08(++_0x4e182d);}(_0xdfca,0x8a));var _0xadfc=function(_0x4c99f2,_0x594aeb){_0x4c99f2=_0x4c99f2-0x0;var _0x38dc67=_0xdfca[_0x4c99f2];return _0x38dc67;};'use strict';var _=require(_0xadfc('0x0'));var util=require(_0xadfc('0x1'));var logger=require(_0xadfc('0x2'))('api');var moment=require(_0xadfc('0x3'));var BPromise=require(_0xadfc('0x4'));var rp=require(_0xadfc('0x5'));var fs=require('fs');var path=require(_0xadfc('0x6'));var rimraf=require(_0xadfc('0x7'));var config=require(_0xadfc('0x8'));var attributes=require(_0xadfc('0x9'));var integrations=require(_0xadfc('0xa'));module['exports']=function(_0x3992b7,_0x1f2c5c){return _0x3992b7[_0xadfc('0xb')](_0xadfc('0xc'),attributes,{'tableName':_0xadfc('0xd'),'paranoid':![],'indexes':[],'timestamps':!![],'hooks':{'beforeCreate':function(_0x473148,_0x45fe6d,_0x12ecc5){if(_0x473148[_0xadfc('0xe')](_0xadfc('0xf'))||_0x473148[_0xadfc('0xe')](_0xadfc('0x10'))||_0x473148[_0xadfc('0xe')](_0xadfc('0x11'))||_0x473148[_0xadfc('0xe')](_0xadfc('0x12'))||_0x473148['changed'](_0xadfc('0x13'))||_0x473148[_0xadfc('0xe')](_0xadfc('0x14'))){var _0x301503,_0x1e3f15;_0x301503=_0x473148[_0xadfc('0x10')];var _0x575543=_0x301503['slice'](-0x1);if(_0x575543==='/'||_0x575543==='\x5c'||_0x575543===':'){_0x301503=_0x301503[_0xadfc('0x15')](0x0,_0x301503[_0xadfc('0x16')](_0x575543));}switch(_0x473148[_0xadfc('0xf')]){case'US':_0x1e3f15=_0xadfc('0x17');break;case'AU':_0x1e3f15=_0xadfc('0x18');break;case'IN':_0x1e3f15=_0xadfc('0x19');break;case'CN':_0x1e3f15='https://accounts.zoho.com.cn';break;default:_0x1e3f15=_0xadfc('0x1a');break;}var _0x56036b={'method':_0xadfc('0x1b'),'uri':_0x1e3f15+_0xadfc('0x1c'),'form':{'grant_type':_0xadfc('0x1d'),'client_id':_0x473148[_0xadfc('0x11')],'client_secret':_0x473148[_0xadfc('0x12')],'redirect_uri':_0x473148[_0xadfc('0x10')],'code':_0x473148[_0xadfc('0x13')]},'headers':{'Content-Type':_0xadfc('0x1e')}};return rp(_0x56036b)[_0xadfc('0x1f')](function(_0x2709dd){var _0x564cfc=JSON[_0xadfc('0x20')](_0x2709dd);if(_0x564cfc[_0xadfc('0x21')]){_0x473148[_0xadfc('0x22')]=_0x564cfc[_0xadfc('0x21')];logger[_0xadfc('0x23')](util[_0xadfc('0x24')]('ZohoAccount,\x20Refresh\x20token\x20successfully\x20generated\x20for\x20account\x20\x22%s\x22\x20#%d',_0x473148['name'],_0x473148['id']));}else{logger[_0xadfc('0x25')](util['format']('ZohoAccount,\x20Unable\x20to\x20generate\x20the\x20refresh\x20token\x20for\x20account\x20\x22%s\x22\x20#%d',_0x473148['name'],_0x473148['id']),util[_0xadfc('0x26')](_0x564cfc,{'showHidden':![],'depth':null}));}return _0x12ecc5(null,_0x45fe6d);})[_0xadfc('0x27')](function(_0x58dc22){logger[_0xadfc('0x25')](util['format'](_0xadfc('0x28'),_0x473148[_0xadfc('0x29')],_0x473148['id']),util[_0xadfc('0x26')](parsedResult,{'showHidden':![],'depth':null}));return _0x12ecc5(_0x58dc22);});}else{return _0x12ecc5(null,_0x45fe6d);}},'beforeUpdate':function(_0x50bd36,_0x129f3c,_0x350c33){if(_0x50bd36[_0xadfc('0xe')]('zone')||_0x50bd36[_0xadfc('0xe')](_0xadfc('0x10'))||_0x50bd36[_0xadfc('0xe')](_0xadfc('0x11'))||_0x50bd36[_0xadfc('0xe')](_0xadfc('0x12'))||_0x50bd36[_0xadfc('0xe')]('code')||_0x50bd36[_0xadfc('0xe')]('host')){var _0x4e736d,_0x673c54;_0x4e736d=_0x50bd36[_0xadfc('0x10')];var _0x4d3c88=_0x4e736d[_0xadfc('0x2a')](-0x1);if(_0x4d3c88==='/'||_0x4d3c88==='\x5c'||_0x4d3c88===':'){_0x4e736d=_0x4e736d[_0xadfc('0x15')](0x0,_0x4e736d[_0xadfc('0x16')](_0x4d3c88));}switch(_0x50bd36[_0xadfc('0xf')]){case'US':_0x673c54='https://accounts.zoho.com';break;case'AU':_0x673c54='https://accounts.zoho.com.au';break;case'IN':_0x673c54=_0xadfc('0x19');break;case'CN':_0x673c54=_0xadfc('0x2b');break;default:_0x673c54=_0xadfc('0x1a');break;}var _0x5a2abc={'method':_0xadfc('0x1b'),'uri':_0x673c54+_0xadfc('0x1c'),'form':{'grant_type':_0xadfc('0x1d'),'client_id':_0x50bd36[_0xadfc('0x11')],'client_secret':_0x50bd36[_0xadfc('0x12')],'redirect_uri':_0x50bd36[_0xadfc('0x10')],'code':_0x50bd36[_0xadfc('0x13')]},'headers':{'Content-Type':_0xadfc('0x1e')}};return rp(_0x5a2abc)[_0xadfc('0x1f')](function(_0x1bc61e){var _0x1e34d5=JSON['parse'](_0x1bc61e);if(_0x1e34d5['refresh_token']){_0x50bd36[_0xadfc('0x22')]=_0x1e34d5[_0xadfc('0x21')];logger[_0xadfc('0x23')](util[_0xadfc('0x24')](_0xadfc('0x2c'),_0x50bd36['name'],_0x50bd36['id']));}else{logger[_0xadfc('0x25')](util['format'](_0xadfc('0x28'),_0x50bd36[_0xadfc('0x29')],_0x50bd36['id']),util[_0xadfc('0x26')](_0x1e34d5,{'showHidden':![],'depth':null}));}return _0x350c33(null,_0x129f3c);})[_0xadfc('0x27')](function(_0x5adb8a){logger[_0xadfc('0x25')](util[_0xadfc('0x24')]('ZohoAccount,\x20Unable\x20to\x20generate\x20the\x20refresh\x20token\x20for\x20account\x20\x22%s\x22\x20#%d',_0x50bd36[_0xadfc('0x29')],_0x50bd36['id']),util[_0xadfc('0x26')](parsedResult,{'showHidden':![],'depth':null}));return _0x350c33(_0x5adb8a);});}else{return _0x350c33(null,_0x129f3c);}}}});};